Troubleshooting Linux und IP-Netzwerke

Literatur

Bücher

Csikszentmihalyi2014

Csikszentmihalyi, Mihaly; FLOW und Kreativität; Klett-Cotta Verlag, Stuttgart 2014
ISBN: 978-3-608-94882-6

Bereits 1975 beschrieb M. Csikszentmihalyi das Konzept des Flow, das bei einigen Menschen auftritt, die offensichtlich Freude an bestimmten Tätigkeiten haben. In diesem Buch fasst er dieses Konzept mit Erkenntnissen aus Interviews kreativer Menschen und Hinweisen zur Förderung der persönlichen Kreativität zusammen.

CT2000

Christiansen, Tom and Torkington, Nathan; Perl Kochbuch; O’Reilly, Köln, 2000;
ISBN: 3-89721-140-8

Neben dem Kamel-Buch ist dieses für mich das wichtigste Buch bei der Arbeit mit Perl. Der Vorteil dieses Buches ist die Darbietung als anwendungsbereite Rezepte, so dass ich mich auf das zu lösende Problem konzentrieren kann und nicht auf die subtilen Feinheiten der Programmiersprache umschalten muss.

Edwards2012

Edwards, Betty; Das neue GARANTIERT ZEICHNEN LERNEN: Die Befreiung unserer schöpferischen Gestaltungskräfte; Rowohlt, Reinbek bei Hamburg, 2012;
ISBN: 978-3-498-01669-2

Dieses Buch hat vordergründig nichts mit Fehlersuche zu tun. Betty Edwards gibt in diesem Buch einige Tipps zum Umschalten der verschiedenen Gehirn-Modi, konkret zwischen dem logisch-analytischen und dem bildlich-intuitiven Denken. Für die erfolgreiche Fehlersuche insbesondere bei schwierigen Problemen ist es vorteilhaft mit beiden Modi souverän umzugehen. Das zu lernen, kann dieses Buch helfen.

Foessmeier1991

Fößmeier, Reinhard; Die Schnittstellen von UNIX-Programmen: Tips zur Programm-Organisation unter UNIX; Springer, Berlin Heidelberg New York London Paris Tokyo Hong Kong Barcelona, 1991;
ISBN: 3-540-53521-7

Eigentlich eher für Programmierer, die Software für UNIX schreiben, gedacht, war dieses Buch eine Offenbarung für mich um zu verstehen, wie Programme unter UNIX und Linux kommunizieren.

Kahneman2011

Kahneman, Daniel; Thinking, fast and slow; Anchor Canada, 2013;
ISBN: 978-0-385-67653-3

Noch ein Buch, das sich mit den Gegebenheiten und Wechselwirkungen der verschiedenen Gehirn-Modi befasst. Nicht direkt zum Thema Fehlersuche, aber sehr erhellend darüber, warum und wie man sich immer wieder selbst an der Nase herumführt.

Loukides1996

Loukides, Mike Kosta; System Performance Tuning; O’Reilly, Sebastopol, 1996;
ISBN 0-937175-60-9

Dieses Buch führt grundlegend in das Gebiet des Performance-Tuning von UNIX-Systemen ein. 2002 gab es eine zweite Auflage mit Gian-Paolo D. Musumeci als Koautor.

Malhotra2002

Malhotra, Ravi; IP Routing O’Reilly, Sebastopol, 2002 ISBN: 0-596-00275-0

Dieses Buch führt in die Grundlagen und Feinheiten des IP Routing ein, wie es in Cisco-Routern implementiert ist. Da es sich nicht auf die Konfiguration beschränkt, sondern auch die Mechanismen und die gesendeten Datagramme erläutert, ist es insbesondere zur Analyse von Routingprotokollen eine große Hilfe. Mit der Routingsoftware Quagga lassen sich die Konfigurationsbeispiele auch unter Linux nachvollziehen, da sich deren Benutzerschnittstelle stark an IOS von Cisco orientiert.

Polya2010

Pólya, George; Schule des Denkens: Vom Lösen mathematischer Probleme; Narr Francke Attempto Verlag, 2010; ISBN 978-3-7720-0608-1

Dieses Buch ist schon sehr alt, das merkt man beim Lesen am heute teilweise unüblichen Sprachgebrauch. Außerdem geht es um das Lösen mathematischer Probleme. Wer sich davon nicht abschrecken läßt, kann daraus wunderbare Inspirationen für das Lösen von Problemen ziehen. Pólya geht von vier Phasen der Problemlösung aus, die er in seinem Buch dann ausführlich erläutert. Die vier Phasen sind: 1. verstehe die Aufgabe, 2. mache einen Plan, 3. führe den Plan aus, 4. prüfe die erhaltene Lösung.

Roam2009

Roam, Dan; Auf der Serviette erklärt, Mit ein paar Strichen schnell überzeugen statt lange präsentieren; Redline Verlag, 2009;
ISBN 978-3-86881-016-5

Der Autor beschreibt in diesem Buch, wie man mit wenig Aufwand Probleme visualisieren kann und damit seine eigenen Gedanken besser ordnen sowie das Problem anderen verständlich erklären kann. Obwohl das Buch, laut Klappentext, Hilfe für das Visualisieren von Geschäftsideen geben soll, sind die Prinzipien und Ideen bei der Fehlersuche mindestens ebenso hilfreich.

Sloan2001

Sloan, Joseph D.; Network troubleshooting tools; O’Reilly, Sebastopol, 2001;
ISBN 978-0-596-00186-5

Dieses Buch stellt etliche Werkzeuge für die Fehlersuche vor und zeigt wie man mit relativ einfachen Werkzeugen komplexe Fragen beantworten kann.

Taleb2012

Taleb, Nassim Nicholas; Antifragile, Things that Gain from Disorder Penguin, London, 2012; ISBN 978-0-141-03822-3

In diesem Buch geht es nicht um Fehlersuche, sondern um Systeme, die durch Störungen stärker werden. Es ist nicht für den Anfänger, der so schnell wie möglich einen Fehler beseitigen will, obwohl auch dieser davon profitieren könnte. Vielmehr geht es darum unter welchen Umständen Systeme von kleinen Störungen profitieren können und wie man den Zufall zu einem Verbündeten statt zu einem Gegner machen kann.

WCS1997

Larry Wall, Tom Christiansen and Randal L. Schwartz; Programmieren mit Perl; O’Reilly, Köln 1997;
ISBN 3-930673-48-7

Die Einführung in die Programmiersprache Perl. In dem Buch wird nicht nur die Sprache selbst kurzweilig vorgestellt, sondern auch ein Einblick in Hintergründe und die mit dieser Programmiersprache verbundene Kultur gegeben. Die zweite deutsche Auflage führt Jon Orwant statt Randal Schwartz als Autoren auf.

Weidner2012

Weidner, Mathias; Linux kopflos mit PC Engines ALIX; Lulu Press, Raleigh, 2012;
ISBN 978-1-4717-2849-5

Ein Buch über kleine lüfterlose Rechner, auf denen man mit Linux verschiedene Projekte realisieren kann. Das Buch geht unter anderem auf verschiedene Probleme unter dem Aspekt begrenzter Ressourcen ein und beschreibt einige Protokolle und Mechanismen ausführlicher.

Artikel in Zeitschriften, Proceedings, …

acmqCM2010

Millsap, Cary; Thinking Clearly about Performance; ACM Queue, Volume 8 Issue 9, September 2010,
http://queue.acm.org/detail.cfm?id=1854041

Der Autor geht in diesem Artikel auf die praktische Performanceanalyse von Programmen ein und erläutert den Zusammenhang von Antwortzeit, Durchsatz sowie den Einfluss der Auslastung bei der Nutzung paralleler Ressourcen.

acmqFM2005

Fall, Kevin, McCanne, Steve; You Don’t Know Jack About Network Performance; ACM Queue, Volume 3 Issue 4, May 2005, Pages 54-59
http://queue.acm.org/detail.cfm?id=1066069

Die Autoren gehen in diesem Artikel vor allem auf die Performance von TCP ein, insbesondere auf den Einfluss von Bandbreite, Latenz und Window Size auf die Übertragungsgeschwindigkeit.

Bartsch2013

Bartsch, Michael; Service Level Agreements - rechtliche Aspekte; Informatik-Spektrum, Volume 36, Ausgabe 5, Oktober 2013, S. 449ff;
DOI 10.1007/s00287-013-0712-1

In diesem Beitrag für Nichtjuristen geht der Autor in verständlicher Form auf die rechtlichen Aspekte von Service Level Agreements als Bestandteil von IT-Verträgen ein.

Bonwick1994

Bonwick, Jeff; The slab allocator: an object-caching kernel memory allocator; Proceedings of the USENIX Summer 1994 Technical Conference on USENIX Summer 1994 Technical Conference - Volume 1, S. 6

In diesem Artikel stellte der Autor ein effizientes Verfahren zur Speicherverwaltung für SunOS vor. Das Verfahren, Slab Allocator, gelangte 1999 in den Linux-Kernel.

ctDiedrich2012

Diedrich, Dr. Oliver; Zugriffschutz - Dateiüberwachung mit Fanotify; c’t Magazin für Computertechnik 2012 Heft 9, S. 174ff; ISSN 0724-8679

Der Autor stellt in diesem Artikel die Möglichkeiten der Fanotify Systemschnittstelle vor.

ctZivadinovic2012

Dušan Zivadinović; Blindflug mit Full Speed - Wie die TCP/IP-Flusskontrolle funktioniert; c’t Magazin für Computertechnik 2012 Heft 10, S. 188ff; ISSN 0724-8679

Der Autor erläutert in diesem Artikel leicht verständlich, wie die in TCP enthaltene Flusskontrolle dazu beiträgt, die Datenübertragungsrate einer Verbindung möglichst optimal auszunutzen.

ctHM2013

Hillier, Gernot, Mauerer, Dr. Wolfgang; Linux durchleuchtet - Perf als Universalschnittstelle für Performance-Analysen unter Linux; c’t Magazin für Computertechnik 2013, Heft 3, S. 166ff; ISSN 0724-8679

Dieser Artikel geht auf die Möglichkeiten der Performance-Analyse mit Hilfe der Performance-Counter der CPU ein und stellt das Programm perf vor, dass eine einheitliche Schnittstelle dafür unter Linux bereitstellt.

ctTZ2013a

Michael Tremer, Dušan Zivadinović; Kürzungsmaßnahme - Internet-Tuning: Puffercontrolle mit CoDel; c’t Magazin für Computertechnik 2013, Heft 13, S. 184ff; ISSN 0724-8679

In diesem Artikel erläutern die Autoren die Wirkungsweise des CoDel-Verfahrens zum Router-Queue-Management bei Bufferbloat.

ctTZ2013b

Michael Tremer, Dušan Zivadinović; Paketbeschleuniger - Internet-Tuning mit IPFire und CoDel; c’t Magazin für Computertechnik 2013, Heft 13, S. 188f; ISSN 0724-8679

Dieser Praxis-Artikel zeigt, wie man mit der Firewall-Appliance IPFire erste Erfahrungen mit dem CoDel-Verfahren zum Router-Queue-Management bei Bufferbloat machen kann.

Gregg2013

Gregg, Brendan; Thinking Methodically about Performance; CACM Vol. 56, No. 2, February 2013, pp 45 ff.; ISSN 0001-0782

Koenig2012

König, Harald; strace für Linux-Versteher; UpTimes - Mitgliederzeitschrift der German Unix User Group; Ausgabe 2012/1, S. 61ff

Harald König zeigt in seinem Artikel welche Informationen über ein Linux-Programm er mit strace gewinnen kann.

Shepard1991

Shepard, Timothy Jason; TCP Packet Trace Analysis; MIT/LCS/TR-494

Die Masterarbeit von Tim Shepard geht ausführlich auf die Analyse des Verhaltens von TCP-Verbindungen ein. Er zeigt darin die Vorzüge von Sequenz-Zeit-Diagrammen für die Analyse und stellt das Programm xplot vor, welches die interaktive Analyse dieser Diagramme erleichtert.

WSA2011

Weigend, Johannes and Siedersleben, Johannes and Adersberger, Josef; Dynamische Analyse mit dem Software-EKG; Informatik-Spektrum, Volume 34, Ausgabe 5, Oktober 2011, S. 484ff;
DOI 10.1007/s00287-011-0541-z

In diesem Papier zeigen die Autoren, wie man komplexe heterogene Systeme analysieren kann, wenn man mit einfachen Methoden nicht weiter kommt.

Online-Quellen

AppArmor

Die Seiten des AppArmor-Projekts.
http://apparmor.net/
Aufgerufen: 2014-05-21

Bei der Dokumentation finden sich Handbuchseiten, HowTos, Tutorials und eine Anleitung, wie man bestimmt, ob AppArmor ein Problem verursacht.

Bad block HOWTO for smartmontools

This article describes what actions might be taken when smartmontools detects a bad block on a disk.
http://smartmontools.sourceforge.net/badblockhowto.html
Aufgerufen: 2014-06-02

Der Artikel erläutert, wie man eine Festplatte “reparieren” kann, für die die smartmontools fehlerhafte Blöcke gemeldet haben. Obwohl von 2007, ist der Artikel immer noch brauchbar, wenn man gezwungen ist, eine Festplatte mit fehlerhaften Blöcken weiter zu betreiben.

Bullet Journal

For the list-makers, the note-takers, the Post-It note pilots, the track-keepers, and the dabbling doodlers.
http://bulletjournal.com/
Aufgerufen: 2014-05-04

Ich hatte schon jahrelang Laborbücher in A5-Kladden geführt. Mit diesem System habe ich es auf eine höhere Stufe gehoben.

IETF Tools

IETF-related tools, standalone or hosted on tools.ietf.org
http://tools.ietf.org/
Aufgerufen: 2014-05-03

Die Quelle für RFCs und Internet Standards von der Internet Engineering Task Force.

Leanpub

Leanpub - Publish Early, Publish Often
https://leanpub.com/
Aufgerufen: 2014-05-03

Autoren und Herausgeben können Leanpub nutzen, um fertige Bücher und Bücher in Bearbeitung zu veröffentlichen. Dieses Buch selbst ist bei und mit Leanpub entstanden.

Performance Analysis Methodology

Verschiedene Methoden zur Performanceanalyse
http://www.brendangregg.com/methodology.html
Aufgerufen: 2014-08-24

Brendan Gregg stellt hier verschiedene Methoden und Anti-Methoden für die Performanceanalyse vor. Neben diesen finden sich auf seiner Website ausführliche Vorstellungen einiger Visualisierungstechniken nebst ihrer Anwendung bei der Performanceanalyse. Für die Performanceanalyse von Linuxsystemen sind vor allem die Grundlagenartikel unter Linux Perf sowie die Checkliste für die USE-Methode bei Linux hilfreich.

Perf Wiki

Perf Wiki
https://perf.wiki.kernel.org/
Aufgerufen: 2014-05-22

In diesem Wiki finden sich viele nützliche Informationen für die Performanceanalyse mittels CPU Performance Counter und perf.

POSIX.1-2008

IEEE and The Open Group; The Open Group Technical Standard Base Specifications, Issue 7; POSIX.1-2008 / IEEE Std. 1003.1™-2008
http://pubs.opengroup.org/onlinepubs/9699919799/
Aufgerufen: 2013-11-29

POSIX.1-2008 definiert eine Standardschnittstelle und -umgebung für Betriebssysteme, einschließlich eines Befehlsinterpreters (Shell) und allgemeiner Hilfsprogramme um die Portabilität von Anwendungen auf der Ebene des Quellcodes zu unterstützen.

POSIX.FileCap

Chris Friedhoff; POSIX Capabilities & File POSIX Capabilities
http://www.friedhoff.org/posixfilecaps.html
Aufgerufen: 2013-12-20

Dieser Artikel, 2008 geschrieben, führt mit praktischen Beispielen in den Umgang mit POSIX Capabilities ein.

SELinux

Die Projektseite des SELinux-Projektes.
http://selinuxproject.org/
Aufgerufen: 2014-05-21

Von grundlegenden Konzepten bis anwendbaren Rezepten findet sich hier eine Menge Information zu SELinux

Wayback Machine

Internet Archive Wayback Machine
https://archive.org/web/
Aufgerufen: 2014-05-04

Eine der besten Erfindungen gegen die Flüchtigkeit des Internet. Mit der Wayback Machine lassen sich ältere Versionen von bestehenden und bereits vergangenen WWW-Seiten betrachten. Natürlich sind nicht alle Seiten und erst recht nicht alle Versionen der einzelnen Seiten enthalten. Trotzdem ist es den Versuch wert, wenn eine irgendwo beworbene URL nicht mehr erreichbar ist.