Seminarunterlage Version: 8.04 Version 8.04 vom 6. September 2013
Dieses Dokument wird durch die veröffentlicht.. Alle Rechte vorbehalten. Alle Produkt- und Dienstleistungs-Bezeichnungen sind Warenzeichen oder eingetragene Warenzeichen der jeweiligen Firmen und beziehen sich auf Eintragungen in den USA oder USA-Warenzeichen. Weitere Logos und Produkt- oder Handelsnamen sind eingetragene Warenzeichen oder Warenzeichen der jeweiligen Unternehmen. Kein Teil dieser Dokumentation darf ohne vorherige schriftliche Genehmigung der weitergegeben oder benutzt werden. Die besitzt folgende Geschäftsstellen Adressen der Westernmauer 12-16 D-33098 Paderborn Tel.: (+49) 0 52 51 / 10 63-0 An der alten Ziegelei 5 D-48157 Münster Tel.: (+49) 02 51 / 9 24 35 00 Marlene-Dietrich-Str. 5 D-89231 Neu-Ulm Tel.: (+49) 07 31 / 9 85 88 550 Kreuzberger Ring 13 D-65205 Wiesbaden Tel.: (+49) 06 11 / 7 78 40 00 Wikingerstraße 18-20 D-51107 Köln Tel.: (+49) 02 21 / 8 70 61 0 Internet: http://www.ordix.de Email: training@ordix.de Seite 2 Version: 8.04
Inhaltsverzeichnis 1 Eigenschaften von Linux... 8 1.1 Allgemeines... 9 1.2 Distributionen... 10 1.3 Was bedeutet freie Software?... 11 2 Systemdokumentation... 12 2.1 Allgemeines... 13 2.2 Manual Pages... 15 2.3 Info-Pages der GNU-Programme... 17 2.4 Benutzung der Info-Pages... 18 2.5 Aufgaben... 19 2.6 Lösungen... 20 3 Systemstart... 22 3.1 Allgemeines... 23 3.2 Einschaltvorgang... 24 3.3 Der Bootloader... 25 3.3.1 Aufbau von (IDE-)Festplatten... 25 3.3.2 Laden des Betriebssystems... 26 3.3.3 Kernelmeldungen... 28 3.4 Init - Der Vater aller Prozesse... 29 3.4.1 Der Init-Prozess: Die Datei /etc/inittab... 31 3.4.2 Schüsselwörter in der /etc/inittab... 32 3.5 Aufgaben... 34 3.6 Lösungen... 35 4 Der Bootprozess... 37 4.1 Allgemeines... 38 4.2 Die Runlevel... 39 4.3 Erreichen des Default-Runlevels beim Systemstart... 40 4.4 Wechsel des Runlevels... 42 4.5 Runlevel-Konzepte und Verwaltung... 44 4.6 insserv (chkconfig) unter SUSE Linux... 46 4.7 Dateien der Systemkonfiguration... 48 4.8 Superdaemon inetd/xinetd... 49 4.9 Konfiguration des inetd Superdaemon... 50 4.10 Konfiguration des xinetd Superdaemon... 52 4.11 Systemstart mit Systemd... 55 4.12 System-Shutdown... 57 4.13 Aufgaben... 60 4.14 Lösungen... 62 5 Device Behandlung... 64 5.1 Allgemeines... 65 5.2 Erstellung von Geräteknoten... 66 5.3 Informationen zur Hardware... 68 5.4 Werkzeuge zur Hardware-Identifikation... 70 5.5 udev... 71 5.5.1 udev-einführung... 72 5.5.2 Der udev-daemon (udevd)... 73 5.5.3 udev - Konfiguration... 75 5.5.4 udev verwalten: udevadm (8)... 76 5.5.5 udev - Regeln... 78 5.5.6 udev - match key... 79 5.5.7 udev - Assignment Key... 80 5.5.8 Eigene Regel erstellen... 82 5.6 Aufgaben... 83 Version: 8.04 Seite 3
5.7 Lösungen... 84 6 Dateisysteme... 85 6.1 Allgemeines... 86 6.2 Blöcke... 87 6.3 Bootblock/ Superblock... 88 6.4 Inodes mit ext2... 89 6.5 Implementierung von Links... 91 6.6 Hard Links... 92 6.7 Symbolic Links... 94 6.8 Dateisystem-Typen für Festplatten... 96 6.9 Dateisysteme für andere Datenträger... 98 6.10 Virtuelle Dateisysteme... 99 6.11 Dateisystemhierarchie... 100 6.12 Aufbau des logischen Dateisystems... 101 6.12.1 Benutzung von fdisk... 103 6.13 Anlegen von Dateisystemen... 104 6.14 Prüfen und Reparieren von Dateisystemen... 105 6.15 Einbinden von Datenträgern... 107 6.16 Dauerhafte Konfiguration des logischen Dateisystems... 109 6.17 Aufgaben... 111 6.18 Lösungen... 112 7 Swapping... 113 7.1 Allgemeines... 114 7.2 Zustand des virtuellen Speichers... 115 7.3 Administration von Swap-Bereichen... 117 7.4 Konfiguration der Swap-Nutzung... 118 7.5 Aufgaben... 119 7.6 Lösungen... 120 8 Software Management... 121 8.1 Allgemeines... 122 8.2 Hauptaufgaben der Softwareverwaltung... 124 8.3 Informationen gewinnen... 125 8.4 Weitere Möglichkeiten... 127 8.5 Der Debian Package Manager... 131 8.6 rpm/dpkg-äquivalente... 132 8.7 Erweiterte RPM-Tools... 133 8.8 Aufgaben... 135 8.9 Lösungen... 137 9 Der Kernel... 139 9.1 Was ist der Kernel?... 140 9.2 Verwendung der Module... 142 9.3 Informationen zu einem Kernelmodul anzeigen... 144 9.4 Anzeigen geladener Kernelmodule... 146 9.5 Laden von Kernelmodulen... 148 9.6 Entladen von Kernelmodulen... 150 9.7 Dynamische Kernel-Konfiguration... 151 9.8 Aufgaben... 152 9.9 Lösungen... 153 10 GRUB Grand Unified Bootloader... 155 10.1 Eigenschaften von GRUB... 156 10.2 GRUB Shell... 157 10.3 Installation... 159 10.4 Konfiguration... 161 10.5 Weitere Möglichkeiten... 163 Seite 4 Version: 8.04
10.6 Aufgaben... 164 10.7 Lösungen... 165 11 Logical Volume Manager... 167 11.1 LVM - Stand der Entwicklung... 168 11.2 Das Konzept des Logical Volume Managers... 169 11.3 Einrichten von Physical Volumes... 170 11.4 Erzeugen von Volume Groups... 172 11.4.1 Kommandos für Volume Groups... 173 11.5 Erzeugen von Logical Volumes... 174 11.5.1 Kommandos für Logical Volumes... 175 11.6 Typische Anwendungen... 176 11.7 Konsistente Backups mit LVM-Snapshots... 178 11.8 LVM2 Konfiguration... 180 11.9 Der Device-Mapper... 181 11.9.1 Mapping Tables... 182 11.10 Logical Volumes mit dem Device-Mapper erstellen... 183 11.11 dmsetup... 184 11.12 Zusammenhang von LVM2 und Device-Mapper... 185 11.13 Tools und Frontends... 186 11.14 Aufgaben... 187 11.15 Lösungen... 189 12 Einführung in die Netzwerkkonfiguration... 191 12.1 Grundlagen... 192 12.2 ifconfig - Konfiguration der Netzwerkkarte... 194 12.3 route - der Weg durch die Netzwerke... 195 12.3.1 Netzwerk-Konfiguration bei Red Hat... 196 12.3.2 Netzwerk-Konfiguration bei SuSE... 198 12.4 netstat - der Zustand des Netzwerks... 200 12.5 Überprüfung von TCP/IP... 201 12.5.1 ping - ist da jemand?... 202 12.5.2 traceroute -... Wege sind unergründlich... 203 12.6 Namen sind Schall und Rauch... 204 12.7 Spezielle Konfigurations- und Diagnose-Programme... 206 12.7.1 ip - Eigenschaften der Netzwerkkarte... 208 12.7.2 ip - Eigenschaften der IP-Adresse... 210 12.7.3 ip - Routen definieren... 212 12.7.4 ethtool... 214 12.8 Aufgaben... 215 12.9 Lösungen... 216 13 Benutzerverwaltung... 217 13.1 Benutzerdatenbank... 218 13.2 Gruppendatenbank... 220 13.3 Benutzer anlegen - useradd... 221 13.4 Kennwortverwaltung unter Linux - passwd... 223 13.5 Weitere Kommandos zur Benutzer- und Gruppenverwaltung... 225 13.6 PAM - Pluggable Authentication Module... 227 13.6.1 PAM konfigurieren... 229 13.6.2 PAM Modul-Typen... 230 13.6.3 PAM Kontroll-Flag... 232 13.6.4 PAM Modul-Pfad... 233 13.7 Aufgaben... 234 13.8 Lösungen... 235 14 sudo... 236 14.1 sudo... 237 14.1.1 Allgemeines... 237 14.1.2 Vorbereitung... 238 Version: 8.04 Seite 5
14.1.3 sudo Bestandteile... 239 14.1.4 Syntax... 240 14.1.5 Konfiguration... 241 14.1.5.1 Defaults... 243 14.1.5.2 Aliase... 246 14.1.6 Berechtigungen... 248 14.1.7 Verwendung... 250 14.1.7.1 Protokollierung... 251 14.1.8 Fazit... 252 14.2 Aufgaben... 253 14.3 Lösungen... 254 15 Prozessverwaltung... 255 15.1 Allgemeines... 256 15.2 Prozessliste mit ps und pstree... 257 15.3 Dynamische Prozessliste - top... 259 15.4 proc - Das Prozess-Dateisystem... 261 15.5 crontab... 264 15.5.1 Beispiel... 267 15.6 at-kommando und at-daemon... 268 15.7 Aufgaben... 270 15.8 Lösungen... 271 16 Control Groups... 272 16.1 Grundbegriffe... 273 16.2 Ziele... 274 16.3 Implementierung... 275 16.4 Cgroups von Hand... 277 16.5 cgconfig-service... 279 16.6 cgred-service... 281 16.7 cg*-befehle... 282 17 SSH (Secure Shell)... 283 17.1 Secure-Shell (ssh)... 284 17.1.1 Secure-Shell - Wozu?... 284 17.1.2 Grundbegriffe der Verschlüsselung... 286 17.1.3 Sitzungsaufbau ssh... 288 17.1.4 Eigenschaften einer ssh-verbindung... 290 17.1.5 Konfigurationsmöglichkeiten von SSH... 292 17.1.6 Konfiguration des Servers... 293 17.1.7 Clientkonfiguration... 296 17.1.8 Schlüsselgenerierung... 298 17.1.9 Tunneln von TCP-Anwendungen... 300 17.1.10 X-Forwarding... 302 17.1.11 Windows Clients... 304 18 Systemmeldungen unter Linux... 305 18.1 Syslogd... 306 18.2 Klogd... 307 18.3 Konfiguration von syslogd - /etc/syslog.conf... 308 18.4 /etc/syslog.conf - Platzhalter... 310 18.5 Meldungen des Systemstarts... 311 18.6 Systemmeldungen generieren - logger... 312 18.7 Verwaltung von Logdateien... 313 18.8 Nutzung und Aufruf von logrotate... 314 18.9 Konfiguration von logrotate... 315 18.10 Syslog-NG: Allgemeines... 317 18.11 Aufruf und Syntax des syslog-ng Daemon... 318 18.13 Log-Path... 321 Seite 6 Version: 8.04
18.14 Rsyslog: Allgemeines... 322 18.15 Aufruf und Syntax des rsyslogd Daemon... 324 18.16 Konfigurationsdatei /etc/rsyslog.conf: Überblick... 325 18.17 Konfigurationsdatei /etc/rsyslog.conf: Beispiele... 326 18.18 Aufgaben... 328 18.19 Lösungen... 329 19 Network File System (NFS)... 330 19.1 Network File System (NFS)... 331 19.2 NFS-Server... 332 19.3 Regeln für das Exportieren von Verzeichnissen... 333 19.4 NFS-Client Konfiguration... 334 19.5 Häufige NFS-Mountoptionen... 335 19.6 Aufgaben... 336 19.7 Lösungen... 337 20 Diagnose und Troubleshooting... 338 20.1 Allgemeines... 339 20.2 Das /proc-dateisystem... 340 20.3 lsof - welche Dateien sind offen?... 347 20.4 strings und strace... 349 20.5 fuser... 350 20.6 tcpdump... 352 20.7 Arbeiten mit dem Rettungssystem... 353 20.8 Die Sash... 354 20.9 Aufgaben... 355 20.10 Lösungen... 356 Version: 8.04 Seite 7