»Der Kofler« ist der Standard in Sachen Linux! Wollen Sie einsteigen oder Details nachschlagen, die Distributionen kennenlernen oder intensiv arbeiten? Mit diesem Buch bleiben keine Fragen offen! Von der Installation und den Desktops über die Arbeit im Terminal, die Systemkonfiguration und -administration bis hin zum sicheren Einsatz als Server - hier werden Sie fündig! Distributionsunabhängig und natürlich am Puls der Zeit.
Aus dem Inhalt:
- Was ist Linux? Schnelleinstieg
- Installation und Administration
- Gnome, KDE, Unity, Xfce und LXDE
- Web, Mail & Co.
- Fotos und Bilder, Audio und Video verwalten
- Terminalfenster und Konsolen
- Dateiverwaltung, Prozessverwaltung
- Vim, Emacs, Visual Code
- Basiskonfiguration
- Software- und Paketverwaltung
- GRUB und Init-Systeme
- Kernel und Module
- Netzwerkkonfiguration
- Samba und NFS
- CUPS
- Secure Shell (SSH)
- Let's Encrypt
- Mails mit Postfix und Dovecot
- Firewalls und VPN
- Sicherheit mit SELinux und AppArmor
- KVM und Docker
- Snap und flatpak
- Linux on Windows
- Vagrant, Packer
Inhaltsverzeichnis
Vorwort . . . 19 Konzeption . . . 21TEIL I. Installation . . . 23 1. Was ist Linux? . . . 25 1. 1 . . . Einführung . . . 25 1. 2 . . . Hardware-Unterstützung . . . 26 1. 3 . . . Distributionen . . . 27 1. 4 . . . Open-Source-Lizenzen (GPL & Co.) . . . 32 1. 5 . . . Die Geschichte von Linux . . . 35 2. Installationsgrundlagen . . . 37 2. 1 . . . Voraussetzungen . . . 37 2. 2 . . . BIOS und EFI . . . 38 2. 3 . . . Installationsvarianten . . . 41 2. 4 . . . Überblick über den Installationsprozess . . . 44 2. 5 . . . Grundlagen der Partitionierung . . . 46 2. 6 . . . LVM und Verschlüsselung . . . 50 2. 7 . . . Linux-Partitionen anlegen . . . 53 2. 8 . . . Installationsumfang festlegen . . . 57 2. 9 . . . Grundkonfiguration . . . 57 2. 10 . . . Probleme beheben . . . 59 2. 11 . . . Systemveränderungen, Erweiterungen, Updates . . . 61 2. 12 . . . Linux wieder entfernen . . . 64 3. Installationsanleitungen . . . 67 3. 1 . . . Debian . . . 68 3. 2 . . . Fedora . . . 77 3. 3 . . . Linux Mint . . . 85 3. 4 . . . Manjaro Linux . . . 87 3. 5 . . . openSUSE . . . 91 3. 6 . . . Pop! _OS . . . 97 3. 7 . . . Ubuntu . . . 102TEIL II. Linux anwenden . . . 111 4. Gnome . . . 113 4. 1 . . . Erste Schritte . . . 115 4. 2 . . . Dateimanager . . . 122 4. 3 . . . Systemkonfiguration . . . 133 4. 4 . . . Schriften (Fonts) . . . 143 4. 5 . . . Gnome Tweak Tool . . . 145 4. 6 . . . Gnome-Shell-Erweiterungen . . . 146 4. 7 . . . Gnome Shell Themes . . . 150 4. 8 . . . Gnome-Interna . . . 151 4. 9 . . . Der Gnome-Klassikmodus . . . 154 5. KDE . . . 157 5. 1 . . . Grundlagen . . . 158 5. 2 . . . Bedienung . . . 159 5. 3 . . . Dateimanager . . . 163 5. 4 . . . KDE-Konfiguration . . . 167 6. Desktop-Apps und Tools . . . 173 6. 1 . . . Firefox . . . 174 6. 2 . . . Google Chrome . . . 177 6. 3 . . . Thunderbird . . . 179 6. 4 . . . Evolution und Geary . . . 186 6. 5 . . . FileZilla und BitTorrent . . . 189 6. 6 . . . Syncthing . . . 191 6. 7 . . . GSConnect und KDE-Connect . . . 196 6. 8 . . . Shotwell . . . 199 6. 9 . . . digiKam . . . 203 6. 10 . . . GIMP . . . 205 6. 11 . . . RawTherapee, Darktable und Luminance (RAW- und HDR-Bilder) . . . 208 6. 12 . . . draw. io . . . 210 6. 13 . . . Multimedia-Grundlagen . . . 213 6. 14 . . . Audio-Player . . . 216 6. 15 . . . VLC . . . 221 6. 16 . . . Audio- und Video-Tools . . . 222 6. 17 . . . Etcher . . . 225 6. 18 . . . Texpander . . . 226 7. Raspberry Pi . . . 229 7. 1 . . . Grundlagen . . . 230 7. 2 . . . Raspberry Pi OS installieren und konfigurieren . . . 234 7. 3 . . . Hardware-Basteleien . . . 245 7. 4 . . . Interna und Backups . . . 263 7. 5 . . . Kodi und LibreELEC . . . 271 7. 6 . . . Wenn es Probleme gibt . . . 279TEIL III. Linux-Grundlagen . . . 281 8. Arbeiten im Terminal . . . 283 8. 1 . . . Textkonsolen und Terminalfenster . . . 284 8. 2 . . . Textdateien anzeigen und editieren . . . 289 8. 3 . . . man und info . . . 293 9. bash (Shell) . . . 297 9. 1 . . . Was ist eine Shell? . . . 297 9. 2 . . . Konfiguration . . . 299 9. 3 . . . Kommandoeingabe . . . 302 9. 4 . . . Ein- und Ausgabeumleitung . . . 307 9. 5 . . . Kommandos ausführen . . . 310 9. 6 . . . Globbing, Substitution und Expansion . . . 312 9. 7 . . . Variablen . . . 318 9. 8 . . . bash-Scripts . . . 322 9. 9 . . . Grundregeln für bash-Scripts . . . 328 9. 10 . . . Variablen in bash-Scripts . . . 330 9. 11 . . . Verzweigungen, Schleifen und Funktionen . . . 335 9. 12 . . . Referenz wichtiger bash-Sonderzeichen . . . 34210. zsh (Shell) . . . 345 10. 1 . . . Installation und Konfiguration . . . 346 10. 2 . . . Anwendung . . . 351 10. 3 . . . Oh my zsh! . . . 35411. Dateien und Verzeichnisse . . . 357 11. 1 . . . Umgang mit Dateien und Verzeichnissen . . . 357 11. 2 . . . Links . . . 368 11. 3 . . . Dateitypen (MIME) . . . 370 11. 4 . . . Dateien suchen (find, grep, locate) . . . 372 11. 5 . . . Mehr Komfort mit modernen Kommandos . . . 377 11. 6 . . . Zugriffsrechte, Benutzer und Gruppenzugehörigkeit . . . 380 11. 7 . . . Spezialbits und die umask-Einstellung . . . 385 11. 8 . . . Access Control Lists und Extended Attributes . . . 391 11. 9 . . . Die Linux-Verzeichnisstruktur . . . 396 11. 10 . . . Device-Dateien . . . 39912. Prozessverwaltung . . . 403 12. 1 . . . Prozesse starten, verwalten und stoppen . . . 403 12. 2 . . . Prozesse unter einer anderen Identität ausführen (su) . . . 411 12. 3 . . . Prozesse unter einer anderen Identität ausführen (sudo) . . . 413 12. 4 . . . Prozesse unter einer anderen Identität ausführen (PolicyKit) . . . 418 12. 5 . . . Systemprozesse (Dämonen) . . . 421 12. 6 . . . Prozesse automatisch starten (Cron) . . . 424 12. 7 . . . Prozesse automatisch starten (systemd-Timer) . . . 42913. Konverter für Grafik, Text und Multimedia . . . 433 13. 1 . . . Grafik-Konverter . . . 433 13. 2 . . . Audio- und Video-Konverter . . . 435 13. 3 . . . Textkonverter (Zeichensatz und Zeilentrennung) . . . 437 13. 4 . . . Dokumentkonverter (PostScript, PDF, HTML, LaTeX) . . . 438 13. 5 . . . Markdown und Pandoc . . . 44514. Netzwerk-Tools . . . 449 14. 1 . . . Netzwerkstatus ermitteln . . . 449 14. 2 . . . Auf anderen Rechnern arbeiten (SSH) . . . 454 14. 3 . . . Dateien übertragen (FTP & Co.) . . . 461 14. 4 . . . Lynx . . . 466 14. 5 . . . Mutt . . . 466TEIL IV. Text- und Code-Editoren . . . 46915. Visual Studio Code . . . 471 15. 1 . . . Installation und erste Schritte . . . 472 15. 2 . . . Konfiguration . . . 476 15. 3 . . . Git-Funktionen . . . 479 15. 4 . . . Remote-SSH-Erweiterung . . . 48116. Vim . . . 485 16. 1 . . . Schnelleinstieg . . . 487 16. 2 . . . Cursorbewegung . . . 489 16. 3 . . . Text bearbeiten . . . 490 16. 4 . . . Suchen und Ersetzen . . . 494 16. 5 . . . Mehrere Dateien gleichzeitig bearbeiten . . . 495 16. 6 . . . Interna . . . 498 16. 7 . . . Tipps und Tricks . . . 50017. Emacs . . . 503 17. 1 . . . Schnelleinstieg . . . 503 17. 2 . . . Cursorbewegung . . . 507 17. 3 . . . Text bearbeiten . . . 509 17. 4 . . . Suchen und Ersetzen . . . 514 17. 5 . . . Puffer und Fenster . . . 517 17. 6 . . . Besondere Bearbeitungsmodi . . . 519 17. 7 . . . Konfiguration . . . 520TEIL V. Systemkonfiguration und Administration . . . 52518. Basiskonfiguration . . . 527 18. 1 . . . Einführung . . . 527 18. 2 . . . Konfiguration der Textkonsolen . . . 531 18. 3 . . . Datum und Uhrzeit . . . 533 18. 4 . . . Datum und Uhrzeit via NTP synchronisieren . . . 535 18. 5 . . . Benutzer und Gruppen, Passwörter . . . 537 18. 6 . . . PAM, NSS und nscd . . . 549 18. 7 . . . Spracheinstellung, Internationalisierung, Unicode . . . 554 18. 8 . . . Hardware-Referenz . . . 559 18. 9 . . . CPU-Tuning . . . 571 18. 10 . . . Notebook-Optimierung . . . 574 18. 11 . . . Drucksystem (CUPS) . . . 580 18. 12 . . . Logging (Syslog) . . . 588 18. 13 . . . Logging (Journal) . . . 597 18. 14 . . . Cockpit . . . 60019. Netzwerkkonfiguration . . . 605 19. 1 . . . Der NetworkManager . . . 605 19. 2 . . . Netzwerkgrundlagen und Glossar . . . 614 19. 3 . . . Manuelle LAN- und WLAN-Konfiguration . . . 623 19. 4 . . . LAN-Konfigurationsdateien . . . 632 19. 5 . . . Distributionsspezifische Konfigurationsdateien . . . 636 19. 6 . . . Zeroconf und Avahi . . . 64820. Software- und Paketverwaltung . . . 651 20. 1 . . . Einführung . . . 651 20. 2 . . . RPM-Paketverwaltung . . . 655 20. 3 . . . DNF . . . 659 20. 4 . . . ZYpp . . . 667 20. 5 . . . Debian-Paketverwaltung (dpkg) . . . 669 20. 6 . . . APT . . . 672 20. 7 . . . Pacman . . . 681 20. 8 . . . PackageKit . . . 685 20. 9 . . . Firmware-, BIOS- und EFI-Updates . . . 686 20. 10 . . . Verwaltung von Parallelinstallationen (alternatives) . . . 690 20. 11 . . . Flatpak und Snap . . . 691 20. 12 . . . Distributionsspezifische Eigenheiten . . . 69921. Grafiksystem . . . 711 21. 1 . . . Grundlagen . . . 711 21. 2 . . . Grafiktreiber . . . 717 21. 3 . . . NVIDIA-Treiberinstallation . . . 721 21. 4 . . . Den Status des Grafiksystems feststellen . . . 726 21. 5 . . . Start des Grafiksystems . . . 730 21. 6 . . . Konfiguration von X (xorg. conf) . . . 734 21. 7 . . . Dynamische Konfigurationsänderungen mit RandR . . . 73722. Administration des Dateisystems . . . 741 22. 1 . . . Wie alles zusammenhängt . . . 743 22. 2 . . . USB-Datenträger formatieren und nutzen . . . 744 22. 3 . . . Device-Namen für Festplatten und andere Datenträger . . . 748 22. 4 . . . Partitionierung der Festplatte oder SSD . . . 753 22. 5 . . . Das parted-Kommando . . . 755 22. 6 . . . Partitionierungswerkzeuge mit grafischer Benutzeroberfläche . . . 760 22. 7 . . . Dateisystemtypen . . . 761 22. 8 . . . mount und /etc/fstab . . . 765 22. 9 . . . Dateisystemgrundlagen . . . 774 22. 10 . . . Das ext-Dateisystem (ext2, ext3, ext4) . . . 777 22. 11 . . . Das btrfs-Dateisystem . . . 780 22. 12 . . . Das xfs-Dateisystem . . . 796 22. 13 . . . Windows-Dateisysteme (vfat, ntfs) . . . 797 22. 14 . . . Swap-Partitionen und -Dateien . . . 801 22. 15 . . . RAID . . . 804 22. 16 . . . Logical Volume Manager (LVM) . . . 815 22. 17 . . . SMART . . . 819 22. 18 . . . SSD-TRIM . . . 824 22. 19 . . . Verschlüsselung . . . 82623. GRUB . . . 835 23. 1 . . . GRUB-Grundlagen . . . 835 23. 2 . . . GRUB-Bedienung (Anwendersicht) . . . 844 23. 3 . . . GRUB-Konfiguration . . . 845 23. 4 . . . Manuelle GRUB-Installation und Erste Hilfe . . . 852 23. 5 . . . systemd-boot . . . 85624. Das Init-System . . . 861 24. 1 . . . systemd . . . 861 24. 2 . . . Eigene systemd-Services . . . 871 24. 3 . . . shutdown, reboot und halt . . . 874 24. 4 . . . Das traditionelle Init-V-System . . . 876 24. 5 . . . Systemstart bei Fedora und RHEL . . . 878 24. 6 . . . Systemstart bei Debian, Raspberry Pi OS und Ubuntu . . . 879 24. 7 . . . Systemstart bei SUSE/openSUSE . . . 88125. Kernel und Module . . . 883 25. 1 . . . Kernelmodule . . . 884 25. 2 . . . Device Trees . . . 890 25. 3 . . . Kernelmodule selbst kompilieren . . . 892 25. 4 . . . Kernel selbst konfigurieren und kompilieren . . . 896 25. 5 . . . Kernelneustart mit kexec . . . 906 25. 6 . . . Kernel-Live-Patches . . . 907 25. 7 . . . Die Verzeichnisse /proc und /sys . . . 910 25. 8 . . . Kernel-Boot-Optionen . . . 912 25. 9 . . . Kernelparameter verändern . . . 916 25. 10 . . . Spectre, Meltdown & Co. . . . 916TEIL VI. Server-Konfiguration . . . 92126. Server-Installation . . . 923 26. 1 . . . Grundlagen . . . 924 26. 2 . . . Red Hat Enterprise Linux . . . 931 26. 3 . . . Ubuntu Server . . . 942 26. 4 . . . Debian-Server-Installation . . . 945 26. 5 . . . Elastic Compute Cloud . . . 947 26. 6 . . . Hetzner Cloud Hosting . . . 96127. Secure Shell (SSH) . . . 967 27. 1 . . . Installation . . . 967 27. 2 . . . Konfiguration und Absicherung . . . 968 27. 3 . . . Fail2Ban . . . 970 27. 4 . . . Authentifizierung mit Schlüsseln . . . 972 27. 5 . . . Zwei-Faktor-Authentifizierung . . . 976 27. 6 . . . Zusatzwerkzeuge . . . 98328. Apache . . . 987 28. 1 . . . Apache . . . 987 28. 2 . . . Verschlüsselte Verbindungen (HTTPS) . . . 994 28. 3 . . . Let's Encrypt . . . 1002 28. 4 . . . Webverzeichnisse einrichten und absichern . . . 1009 28. 5 . . . Virtuelle Hosts . . . 1016 28. 6 . . . Webzugriffsstatistiken . . . 1019 28. 7 . . . PHP . . . 1023 28. 8 . . . NGINX . . . 102729. MySQL und MariaDB . . . 1031 29. 1 . . . Installation und Inbetriebnahme . . . 1032 29. 2 . . . Administrationswerkzeuge . . . 1041 29. 3 . . . Backups . . . 1046 29. 4 . . . WordPress installieren . . . 104930. Postfix und Dovecot . . . 1053 30. 1 . . . Einführung und Grundlagen . . . 1053 30. 2 . . . Postfix (MTA) . . . 1064 30. 3 . . . Postfix-Verschlüsselung (TLS/STARTTLS) . . . 1073 30. 4 . . . Postfix-Konten . . . 1079 30. 5 . . . Dovecot (POP- und IMAP-Server) . . . 1090 30. 6 . . . Client-Konfiguration . . . 1097 30. 7 . . . SpamAssassin . . . 1099 30. 8 . . . ClamAV (Virenabwehr) . . . 1105 30. 9 . . . SPF, DKIM und DMARC . . . 1107 30. 10 . . . Konfigurationstest und Fehlersuche . . . 111831. Nextcloud . . . 1121 31. 1 . . . Installation . . . 1122 31. 2 . . . Wartung . . . 1131 31. 3 . . . Betrieb . . . 1134 31. 4 . . . Kontakte und Termine . . . 1136 31. 5 . . . OnlyOffice und Talk . . . 113832. Samba . . . 1143 32. 1 . . . Grundlagen und Glossar . . . 1144 32. 2 . . . Basiskonfiguration und Inbetriebnahme . . . 1149 32. 3 . . . Passwortverwaltung . . . 1157 32. 4 . . . Netzwerkverzeichnisse . . . 1163 32. 5 . . . Beispiel -- Home- und Medien-Server . . . 1170 32. 6 . . . Beispiel -- Firmen-Server . . . 1173 32. 7 . . . SMB-Client-Zugriff . . . 1176TEIL VII. Sicherheit . . . 118533. Backups . . . 1187 33. 1 . . . Déjà Dup . . . 1188 33. 2 . . . Back In Time . . . 1190 33. 3 . . . Grsync . . . 1194 33. 4 . . . Borg Backup . . . 1195 33. 5 . . . Dateien komprimieren und archivieren . . . 1199 33. 6 . . . Verzeichnisse synchronisieren (rsync) . . . 1203 33. 7 . . . Inkrementelle Backups (rdiff-backup) . . . 1205 33. 8 . . . Inkrementelle Backups (rsnapshot) . . . 1208 33. 9 . . . Backup-Scripts . . . 1210 33. 10 . . . Backups auf S3-Speicher . . . 121334. Firewalls . . . 1219 34. 1 . . . Netzwerkgrundlagen und -analyse . . . 1219 34. 2 . . . Basisabsicherung von Netzwerkdiensten . . . 1225 34. 3 . . . Firewall-Grundlagen . . . 1229 34. 4 . . . Firewall-Konfigurationshilfen . . . 1230 34. 5 . . . Firewall mit nft selbst gebaut . . . 123735. SELinux und AppArmor . . . 1249 35. 1 . . . SELinux . . . 1249 35. 2 . . . AppArmor . . . 1257TEIL VIII. Virtualisierung & Co. . . . 126536. VirtualBox . . . 1267 36. 1 . . . VirtualBox installieren . . . 1268 36. 2 . . . VirtualBox-Maschinen einrichten . . . 1272 36. 3 . . . Arbeitstechniken und Konfigurationstipps . . . 127637. QEMU/KVM . . . 1285 37. 1 . . . Grundlagen . . . 1286 37. 2 . . . Der Virtual Machine Manager . . . 1294 37. 3 . . . libvirt-Kommandos . . . 1300 37. 4 . . . Integration der virtuellen Maschinen in das LAN (Netzwerkbrücke) . . . 1306 37. 5 . . . Direkter Zugriff auf den Inhalt einer Image-Datei . . . 131138. Docker und Podman . . . 1317 38. 1 . . . Grundlagen und Nomenklatur . . . 1319 38. 2 . . . Installation . . . 1322 38. 3 . . . Docker oder Podman kennenlernen . . . 1328 38. 4 . . . Container-Administration . . . 1340 38. 5 . . . Eigene Images erzeugen (Dockerfile) . . . 1348 38. 6 . . . Container-Setups mit compose . . . 1355 38. 7 . . . Docker-Interna . . . 1358 38. 8 . . . Podman-Interna . . . 136239. Windows Subsystem for Linux (WSL) . . . 1367 39. 1 . . . WSL ausprobieren . . . 1368 39. 2 . . . WSL-Netzwerkanbindung . . . 1375 39. 3 . . . Das Kommando wsl und WSL-Konfiguration . . . 1377 Index . . . 1381