Vorwort Vorwort Linux erlebt momentan in Form von Android einen Siegeszug, den vor fünf Jahren niemand für möglich gehalten hätte. Viele Medien beobachteten damals den Wettstreit der Betriebssysteme ausschließlich auf der Desktop-Ebene ein Schauplatz, auf dem Microsoft Windows bis heute überlegen dominiert. Inzwischen ist aber allen klar geworden, dass Notebooks und Desktop-PCs nur ein Segment des IT-Markts sind. Andere Segmente sind Smartphones und Tablets, der Server-Bereich inklusive aller Cloud-Anwendungen und der Embedded- Bereich. Letzteres meint in sich abgeschlossene Geräte, vom ADSL-Router über den Industrie-Roboter bis zur Waschmaschine, die durch Minicomputer gesteuert werden. Bemerkenswert ist, dass Linux mittlerweile in allen Segmenten präsent ist und einige sogar dominiert. Bei den Smartphones geht es längst nicht mehr um den Kampf von David/Linux gegen Goliath/Microsoft, sondern um Android versus ios; Microsoft spielt hier eine vollkommen untergeordnete Rolle. Das moderne Internet (Schlagwort»Web 2.0«) würde es ohne Linux nicht geben. Ironischerweise verwendet heute nahezu jeder ständig in irgendeiner Form Linux, freilich ohne es zu wissen: Linux ist allgegenwärtig Die Basis von Android ist der Linux-Kernel kombiniert mit einer schönen Benutzeroberfläche. Jede Google- oder Wikipedia-Frage wird von Servern beantwortet, die unter Linux laufen. Einkäufe bei Amazon und bei unzähligen anderen Webstores werden von Linux- Servern abgewickelt. Viele ADSL- und WLAN-Router, NAS-Geräte etc. laufen unter Linux. Die Infrastruktur vieler Telekom-Unternehmen basiert auf Linux. Wenn Sie telefonieren oder mit Ihrem Smartphone im Internet surfen, fließen die Datenpakete über Linux-Rechner. Große Server-Systeme, zu Neudeutsch die»cloud«, verwenden häufig Linux. Beispielsweise befinden sich Ihre Dropbox-Dateien im Cloud-Service S3 von Amazon und in letzter Konsequenz auf einem Linux-Server! 19
Vorwort Dieses Buch In diesem Buch stelle ich Ihnen Linux von Grund auf vor. Die Themenpalette reicht über die Installation von Linux auf einem Notebook oder PC über die Desktop- Anwendung bis hin zum Server-Einsatz und zur Virtualisierung. Ganz neu in dieser Auflage ist ein umfassendes Kapitel zum Minicomputer Raspberry Pi, der sich nicht nur für Elektronikbasteleien eignet, sondern einen kostengünstigen Einstieg in die Linux-Embedded-Welt gibt. Besonders wichtig ist mir, dass Sie Linux nicht nur anwenden, sondern auch verstehen lernen: Ausführliche Grundlagenkapitel erklären, wie Sie Linux im Terminal bedienen, wie Sie Linux optimal konfigurieren und warum Linux so funktioniert. Nach der Lektüre dieser Kapitel kennen Sie nicht nur Linux an sich, sondern auch die Philosophie von Unix/Linux also gewissermaßen thelinuxwaytodoit. Freilich gibt es nicht ein Linux, sondern viele Linux-Distributionen. Vereinfacht ausgedrückt: Eine Distribution ist eine Sammlung von Programmen rund um Linux. Zu den bekanntesten Distributionen zählen Debian, Red Hat, opensuse und Ubuntu. Diese Vielfalt hat eine Menge Vorteile, aber natürlich auch einen entscheidenden Nachteil: Viele Details sind je nach Distribution unterschiedlich gelöst. Dieses Buch verfolgt so weit wie möglich einen distributionsunabhängigen Ansatz. Da ist es nicht zu vermeiden, hin und wieder auf verschiedene Varianten hinzuweisen ganz nach dem Motto: Bei opensuse funktioniert es auf die eine Weise, bei Debian auf die andere. Viel Spaß! Im Vergleich zu kommerziellen Produkten bietet Linux Ihnen die Möglichkeit, das Betriebssystem beinahe grenzenlos an Ihre eigenen Bedürfnisse und Vorlieben anzupassen sei es zur Programmierung, für den Netzwerkeinsatz oder als Server. Für nahezu jede Aufgabe stehen mehrere Werkzeuge zur Wahl. Und je mehr Sie sich in die Linux-Welt einarbeiten, desto mehr wird Linux Ihr Betriebssystem. Ich wünsche Ihnen viel Freude beim Experimentieren, Kennenlernen und Arbeiten mit Linux! Michael Kofler http://kofler.info PS: Dieses Buch ist in seinen ersten zwölf Auflagen über einen Zeitraum von 17 Jahren im Addison-Wesley Verlag erschienen. 2012 sah dessen Eigentümer Pearson keine Zukunft mehr für IT-Bücher; der deutsche Addison-Wesley Verlag ist damit Geschichte. Ich bin mehr als glücklich, dass ich bei Galileo Press eine neue verlegerische Heimat gefunden habe. Besonders bedanken möchte ich mich bei Judith Stevens-Lemoine und Sebastian Kestel, die mir den Wechsel zu Galileo Press leicht gemacht haben. 20
Konzeption Konzeption Das Buch ist in sieben Teile gegliedert: Teil I erklärt, was Linux eigentlich ist, und vermittelt das Grundlagenwissen, das Sie für eine optimale und sichere Installation brauchen. Hier finden Sie konkrete Installationsanleitungen für ein halbes Dutzend Distributionen: CentOS, Debian, Fedora, opensuse, Ubuntu und Ubuntu Server. Teil II behandelt Linux auf dem Desktop. Hier lernen Sie verschiedene Desktop- Systeme kennen (Gnome, KDE, Unity, Xfce, LXDE). Außerdem stelle ich Ihnen die wichtigsten Programme vor, um im Web zu surfen, E-Mails und Fotos zu verwalten sowie Audio-Dateien und Filme abzuspielen. Ein umfassendes Kapitel zum Minicomputer Raspberry Pi beschreibt einen ganz neuen Weg, wie Sie Linux als Medien-Center oder als Plattform für Bastelprojekte einsetzen können. In Teil III lernen Sie das Terminal kennen. In mehreren Kapiteln lernen Sie, mit welchen Kommandos Sie das Dateisystem durchsuchen, wie Sie Dokumente und Bilder in andere Formate konvertieren, wie Sie mit den Editoren Emacs und Vi umgehen und den Kommandointerpreter bash nutzen. Teil IV widmet sich der Konfiguration. Egal, ob es gerade bei Ihrer Hardware Probleme gibt oder ob Sie ganz besondere Anforderungen stellen hier erfahren Sie, wie Sie das Dateisystem administrieren, das Grafiksystem konfigurieren, Software-Pakete installieren und aktualisieren, den Systemstart konfigurieren sowie den Kernel und seine Module einrichten bzw. neu kompilieren. Teil V zeigt, wie Sie Linux im lokalen Netzwerk nutzen vom Client (LAN, WLAN) bis zum Server (Internet-Gateway, DNS, NFS, Samba, AFP), wahlweise mit IPv4 oder mit IPv6. Teil VI behandelt Root-Server, also Server, die extern in einem Rechenzentrum laufen und direkten Internetzugang haben. Wenn Sie einen derartigen Server mieten, werden Sie dort wahrscheinlich Web-, Mail- und Datenbank-Server einrichten und vielleicht sogar mit owncloud Ihre eigene Mini-Cloud bilden. Teil VII hat verschiedene Aspekte der Sicherheit zum Thema. Dort erfahren Sie, wie Sie Backups durchführen, wie Sie Ihre Server durch Firewalls, SELinux oder AppArmor schützen und wie Sie mit KVM einzelne Server-Funktionen in getrennten virtuellen Maschinen voneinander isolieren. 21
Konzeption Neu in dieser Auflage Das Buch wurde für diese 13. Auflage vollständig aktualisiert und teilweise neu strukturiert. Ganz neu sind ein umfassendes Kapitel zum Raspberry Pi sowie die durchgängige Berücksichtigung von IPv6 bei der Netzwerk- und Server-Konfiguration. Die folgende Liste nennt in Stichpunkten einige weitere Neuerungen: Media-Center mit XBMC Account-Administration mit chage Grafik: Vorschau auf Mir und Wayland Systemd: neue Konfigurationsdateien, Journal EFI Secure Boot im Zusammenspiel mit GRUB Netzwerkkonfiguration mit ip (ifconfig und route sind obsolet) FirewallD MariaDB (eine MySQL-Alternative) STARTTLS bei Postfix/Dovecot Formales Kommandos Mehrzeilige Kommandos root Bei manchen Distributionen ist der Account für root gesperrt, z. B. bei Ubuntu. In diesudo In diesem Buch sind die Teile eines Kommandos, die tatsächlich einzugeben sind, fett hervorgehoben. Im folgenden Beispiel müssen Sie also nur ls *.tex eingeben, um sich die Liste aller *.tex-dateien im aktuellen Verzeichnis anzeigen zu lassen. user$ ls *.tex article.tex... Falls einzelne Kommandos so lang sind, dass sie nicht in einer Zeile Platz finden, werden sie mit dem Zeichen \ auf zwei oder mehr Zeilen verteilt. In diesem Fall können Sie die Eingabe entweder in einer Zeile ohne \ tippen oder sie wie im Buch auf mehrere Zeilen verteilen. \ ist also ein unter Linux zulässiges Zeichen, um mehrzeilige Kommandoeingaben durchzuführen. Manche Kommandos können nur vom Systemadministrator root ausgeführt werden. In diesem Fall wird der Kommandoprompt als root# dargestellt: root# service nfs restart sem Fall müssen Sie Systemkommandos mit sudo ausführen (siehe auch Abschnitt 16.3): user$ sudo service nfs restart Password: ******** 22
TEIL I Installation