Linux

Das umfassende Handbuch

  • Rheinwerk
  • Hardcover
  • 1429 Seiten
  • 19. Auflage
  • 24,0 cm x 19,0 cm
  • Erscheinungsdatum: 04.12.2025
  • Artikelnummer 978-3-367-11069-8

Hardcover

lieferbar innerhalb von 3-4 Werktagen
Auf den Merkzettel

Jubiläumsausgabe des Linux-Standardwerks'I'm doing a (free) operating system (just a hobby, won't be big and professional like gnu) for 386 (486) AT clones. This has been brewing since april, and is starting to get ready.' (Linus Torvalds, im August 1991)Und es wurde nicht nur fertig, sondern auch gut! Das freie und offene Betriebssystem Linux hat vor (fast) 35 Jahren die IT-Welt revolutioniert. Fast genauso lange begleitet das umfassende Handbuch von Michael Kofler den Pinguin. Seit nunmehr 30 Jahren finden Sie dort alles, was Sie zu Linux wissen müssen - ein echtes Standardwerk eben.- Von der Bash bis zum KI-Server: das Standardwerk für alle Linux-Themen- Linux auf Desktops und Servern installieren, konfigurieren und administrieren- Für den Einstieg, die Fortbildung und den professionellen Einsatz Aus dem Inhalt: - Installation (Debian, Ubuntu, Fedora, RHEL-Klone, openSUSE- Desktops: GNOME, KDE und mehr- Fotos, Videos und Audio bearbeiten und verwalten- Arbeiten im Terminal: bash, vim, emacs- Software-/Paketverwaltung- Grafiktreiber und Wayland- GRUB2, systemd, Kernel und Module- Netzwerkkonfiguration: DNS, DHCP und mehr- LAN- und Root-Server, Linux in der Cloud- Backups, Firewall, SELinux und AppArmor, KVM, Let's Encrypt- Docker, KVM- KI-Modelle mit Ollama lokal betreiben


Vorwort ... 19


TEIL I. Installation ... 25


1. Was ist Linux? ... 27




1.1 ... Einführung ... 27


1.2 ... Hardware-Unterstützung ... 28


1.3 ... Distributionen ... 29


1.4 ... Open-Source-Lizenzen (GPL & Co.) ... 34


1.5 ... Die Geschichte von Linux ... 37




2. Installationsgrundlagen ... 41




2.1 ... Voraussetzungen ... 41


2.2 ... BIOS und EFI ... 42


2.3 ... Installationsvarianten ... 45


2.4 ... Überblick über den Installationsprozess ... 48


2.5 ... Grundlagen der Partitionierung ... 50


2.6 ... LVM und Verschlüsselung ... 53


2.7 ... Linux-Partitionen anlegen ... 56


2.8 ... Installationsumfang festlegen ... 60


2.9 ... Grundkonfiguration ... 61


2.10 ... Probleme beheben ... 63


2.11 ... Systemveränderungen, Erweiterungen, Updates ... 65


2.12 ... Linux wieder entfernen ... 67




3. Installationsanleitungen ... 69




3.1 ... Die Qual der Wahl ... 69


3.2 ... Debian ... 74


3.3 ... Fedora ... 83


3.4 ... Ubuntu ... 89


3.5 ... CachyOS ... 96




TEIL II. Linux anwenden ... 103


4. Gnome ... 105




4.1 ... Erste Schritte ... 107


4.2 ... Dateimanager ... 114


4.3 ... Systemkonfiguration ... 121


4.4 ... Gnome Tweaks ... 130


4.5 ... Gnome-Shell-Erweiterungen ... 131


4.6 ... Screenshots ... 136


4.7 ... Freigaben und Fernanmeldung ... 136


4.8 ... Gnome-Interna ... 141




5. KDE ... 147




5.1 ... Bedienung ... 149


5.2 ... Dateimanager ... 152


5.3 ... KDE-Konfiguration ... 155


5.4 ... Screenshots ... 159




6. Desktop-Apps ... 161




6.1 ... Firefox ... 162


6.2 ... Google Chrome und Chromium ... 163


6.3 ... Thunderbird ... 165


6.4 ... Multimedia-Grundlagen ... 169


6.5 ... Shotwell ... 173


6.6 ... digiKam ... 174


6.7 ... GIMP ... 177


6.8 ... RawTherapee und Darktable ... 180


6.9 ... draw.io ... 180


6.10 ... Audio-Player ... 182


6.11 ... VLC ... 184


6.12 ... Audio- und Video-Tools ... 185


6.13 ... Etcher ... 189




7. Raspberry Pi ... 191




7.1 ... Grundlagen ... 191


7.2 ... Raspberry Pi OS installieren und konfigurieren ... 195


7.3 ... Der PIXEL-Desktop ... 202


7.4 ... Hardware-Basteleien ... 207


7.5 ... Kamera ... 217


7.6 ... SSD ... 219


7.7 ... Interna ... 222




TEIL III. Linux-Grundlagen ... 227


8. Arbeiten im Terminal ... 229




8.1 ... Textkonsolen ... 230


8.2 ... Terminal ... 231


8.3 ... Textdateien anzeigen ... 234


8.4 ... Texteditoren ... 235


8.5 ... Hilfetexte und Online-Dokumentation lesen ... 238




9. bash ... 241




9.1 ... Was ist eine Shell? ... 241


9.2 ... Konfiguration ... 243


9.3 ... Kommandoeingabe ... 246


9.4 ... Ein- und Ausgabeumleitung ... 251


9.5 ... Kommandos ausführen ... 254


9.6 ... Globbing, Substitution und Expansion ... 256


9.7 ... Variablen ... 263


9.8 ... bash-Scripts ... 266


9.9 ... Grundregeln für bash-Scripts ... 272


9.10 ... Variablen in bash-Scripts ... 274


9.11 ... Verzweigungen, Schleifen und Funktionen ... 279


9.12 ... Referenz wichtiger bash-Sonderzeichen ... 286




10. zsh ... 289




10.1 ... Installation und Konfiguration ... 290


10.2 ... Anwendung ... 295


10.3 ... Oh my zsh! ... 298




11. fish ... 301




11.1 ... Installation und erste Schritte ... 301


11.2 ... Konfiguration ... 305


11.3 ... Interna und Programmierung ... 308




12. Dateien und Verzeichnisse ... 311




12.1 ... Umgang mit Dateien und Verzeichnissen ... 311


12.2 ... Links ... 322


12.3 ... Dateien suchen (find, grep, locate) ... 325


12.4 ... Mehr Komfort mit modernen Kommandos ... 331


12.5 ... Zugriffsrechte, Benutzer und Gruppenzugehörigkeit ... 334


12.6 ... Spezialbits und die umask-Einstellung ... 341


12.7 ... Access Control Lists und Extended Attributes ... 347


12.8 ... Die Linux-Verzeichnisstruktur ... 351


12.9 ... Device-Dateien ... 354




13. Prozessverwaltung ... 357




13.1 ... Prozesse starten, verwalten und stoppen ... 357


13.2 ... Prozesse unter einer anderen Identität ausführen (su) ... 364


13.3 ... sudo ... 366


13.4 ... Polkit ... 372


13.5 ... Systemprozesse (Dämonen) ... 375


13.6 ... Prozesse automatisch starten (Cron) ... 378


13.7 ... Prozesse automatisch starten (systemd-Timer) ... 382




14. Konverter für Grafik, Text und Multimedia ... 387




14.1 ... Grafik-Konverter ... 387


14.2 ... Audio- und Video-Konverter ... 389


14.3 ... Dokumentkonverter (PostScript, PDF, HTML, LaTeX) ... 390


14.4 ... Markdown und Pandoc ... 395




15. Netzwerk-Tools ... 399




15.1 ... Netzwerkstatus ermitteln ... 399


15.2 ... Auf anderen Rechnern arbeiten (SSH) ... 404


15.3 ... Dateien übertragen (wget, curl, ftp) ... 411


15.4 ... Lynx ... 416


15.5 ... Mutt ... 417




TEIL IV. Text- und Code-Editoren ... 421


16. Visual Studio Code ... 423




16.1 ... Installation und erste Schritte ... 424


16.2 ... Konfiguration ... 427


16.3 ... Git-Funktionen ... 430


16.4 ... Remote-SSH-Erweiterung ... 431




17. Vim ... 435




17.1 ... Schnelleinstieg ... 437


17.2 ... Text bearbeiten ... 440


17.3 ... Suchen und Ersetzen ... 443


17.4 ... Mehrere Dateien gleichzeitig bearbeiten ... 445


17.5 ... Interna ... 447


17.6 ... Tipps und Tricks ... 448




18. Emacs ... 451




18.1 ... Schnelleinstieg ... 451


18.2 ... Text bearbeiten ... 454


18.3 ... Suchen und Ersetzen ... 458


18.4 ... Puffer und Fenster ... 462


18.5 ... Bearbeitungsmodi ... 463


18.6 ... Konfiguration ... 465




TEIL V. Systemkonfiguration und Administration ... 469


19. Basiskonfiguration ... 471




19.1 ... Einführung ... 471


19.2 ... Konfiguration der Textkonsolen ... 475


19.3 ... Datum und Uhrzeit ... 477


19.4 ... Datum und Uhrzeit via NTP synchronisieren ... 479


19.5 ... Benutzer und Gruppen, Passwörter ... 481


19.6 ... PAM ... 493


19.7 ... Spracheinstellung, Internationalisierung, Unicode ... 497


19.8 ... Hardware-Referenz ... 502


19.9 ... CPU-Tuning ... 512


19.10 ... Notebook-Optimierung ... 517


19.11 ... Drucksystem (CUPS) ... 523


19.12 ... Syslog ... 531


19.13 ... Journal ... 539


19.14 ... Cockpit ... 543




20. Netzwerkkonfiguration ... 547




20.1 ... Der NetworkManager ... 547


20.2 ... Grundlagen ... 555


20.3 ... Manuelle Konfiguration ... 562


20.4 ... Konfigurationsdateien ... 573


20.5 ... Distributionsspezifische Konfiguration ... 576


20.6 ... Zeroconf und Avahi ... 585




21. Software- und Paketverwaltung ... 587




21.1 ... Einführung ... 587


21.2 ... dnf und rpm (Fedora, RHEL) ... 593


21.3 ... zypper (SUSE) ... 607


21.4 ... apt und dpkg (Debian, Ubuntu) ... 608


21.5 ... pacman (Arch Linux) ... 627


21.6 ... PackageKit ... 632


21.7 ... Firmware-, BIOS- und EFI-Updates ... 633


21.8 ... Verwaltung von Parallelinstallationen (alternatives) ... 637


21.9 ... Flatpak und Snap ... 639




22. Grafiksystem ... 647




22.1 ... Grundlagen ... 648


22.2 ... Grafiktreiber ... 653


22.3 ... Den Status des Grafiksystems feststellen ... 661


22.4 ... Start des Grafiksystems ... 666


22.5 ... Dynamische Konfigurationsänderungen mit RandR ... 670




23. Administration des Dateisystems ... 673




23.1 ... Wie alles zusammenhängt ... 675


23.2 ... USB-Datenträger formatieren und nutzen ... 676


23.3 ... Device-Namen ... 680


23.4 ... Partitionierung der Festplatte oder SSD ... 685


23.5 ... Das parted-Kommando ... 688


23.6 ... Partitionierungswerkzeuge mit grafischer Benutzeroberfläche ... 694


23.7 ... Dateisystemtypen ... 696


23.8 ... mount und /etc/fstab ... 701


23.9 ... systemd versus /etc/fstab ... 710


23.10 ... Das ext-Dateisystem (ext2, ext3, ext4) ... 713


23.11 ... Das btrfs-Dateisystem ... 718


23.12 ... Das xfs-Dateisystem ... 734


23.13 ... Windows-Dateisysteme (VFAT, exFAT und NTFS) ... 736


23.14 ... Swap-Partitionen und -Dateien ... 740


23.15 ... RAID ... 744


23.16 ... Logical Volume Manager (LVM) ... 755


23.17 ... SMART ... 760


23.18 ... SSD-TRIM ... 766


23.19 ... Verschlüsselung ... 767




24. GRUB ... 779




24.1 ... GRUB-Grundlagen ... 779


24.2 ... Initrd-Dateien ... 785


24.3 ... GRUB-Bedienung (Anwendersicht) ... 789


24.4 ... GRUB-Konfiguration ... 791


24.5 ... Manuelle GRUB-Installation und Erste Hilfe ... 795


24.6 ... systemd-boot ... 799


24.7 ... Limine ... 802




25. systemd ... 805




25.1 ... Grundlagen ... 805


25.2 ... Eigene systemd-Services ... 815


25.3 ... Distributionsspezifische Details beim Systemstart ... 819


25.4 ... shutdown, reboot und halt ... 821


25.5 ... Das traditionelle Init-V-System ... 823




26. Kernel und Module ... 827




26.1 ... Kernelmodule ... 828


26.2 ... Device Trees ... 834


26.3 ... Kernelmodule selbst kompilieren ... 837


26.4 ... Kernel selbst konfigurieren und kompilieren ... 840


26.5 ... Kernel-Live-Patches ... 851


26.6 ... Die Verzeichnisse /proc und /sys ... 854


26.7 ... Kernel-Boot-Optionen ... 856


26.8 ... Kernelparameter verändern ... 860


26.9 ... Spectre und Meltdown ... 860




TEIL VI. Server-Konfiguration ... 865


27. Server-Installation ... 867




27.1 ... Grundlagen ... 867


27.2 ... Red Hat Enterprise Linux ... 875


27.3 ... Ubuntu Server ... 883


27.4 ... Debian-Server-Installation ... 886


27.5 ... Elastic Compute Cloud ... 888


27.6 ... Hetzner Cloud Hosting ... 900




28. Secure Shell (SSH) ... 905




28.1 ... Installation ... 905


28.2 ... Konfiguration und Absicherung ... 905


28.3 ... Fail2Ban ... 909


28.4 ... Authentifizierung mit Schlüsseln ... 911


28.5 ... Zwei-Faktor-Authentifizierung ... 916


28.6 ... Zusatzwerkzeuge ... 922




29. Apache ... 925




29.1 ... Apache ... 926


29.2 ... Apache-Konfiguration ... 928


29.3 ... Verschlüsselte Verbindungen (HTTPS) ... 932


29.4 ... Let's Encrypt ... 939


29.5 ... Webverzeichnisse einrichten und absichern ... 947


29.6 ... Virtuelle Hosts ... 955


29.7 ... Webzugriffsstatistiken ... 958


29.8 ... PHP ... 961


29.9 ... nginx ... 965




30. MySQL und MariaDB ... 969




30.1 ... Installation und Inbetriebnahme ... 970


30.2 ... Administrationswerkzeuge ... 979


30.3 ... Backups ... 983


30.4 ... WordPress installieren ... 986




31. Postfix und Dovecot ... 991




31.1 ... Einführung und Grundlagen ... 991


31.2 ... Postfix (MTA) ... 1003


31.3 ... Postfix-Verschlüsselung (TLS/STARTTLS) ... 1012


31.4 ... Postfix-Konten ... 1018


31.5 ... Dovecot (IMAP-Server) ... 1029


31.6 ... Client-Konfiguration ... 1037


31.7 ... SpamAssassin ... 1038


31.8 ... ClamAV (Virenabwehr) ... 1045


31.9 ... SPF, DKIM und DMARC ... 1048


31.10 ... Konfigurationstest und Fehlersuche ... 1058




32. Nextcloud ... 1061




32.1 ... Installation ... 1062


32.2 ... Konfiguration ... 1068


32.3 ... Wartung ... 1072


32.4 ... Betrieb ... 1074


32.5 ... Kontakte und Termine ... 1076


32.6 ... Videokonferenzen (Talk) ... 1079




33. Samba ... 1081




33.1 ... Grundlagen und Glossar ... 1083


33.2 ... Basiskonfiguration und Inbetriebnahme ... 1086


33.3 ... Passwortverwaltung ... 1093


33.4 ... Netzwerkverzeichnisse ... 1100


33.5 ... Beispiel -- Home- und Medien-Server ... 1105


33.6 ... Beispiel -- Firmen-Server ... 1109


33.7 ... Linux-Client-Konfiguration ... 1112


33.8 ... Windows-Client-Konfiguration ... 1120




TEIL VII. Sicherheit ... 1123


34. Backup und Synchronisation ... 1125




34.1 ... Déjà Dup ... 1126


34.2 ... Back In Time ... 1128


34.3 ... Grsync ... 1131


34.4 ... Syncthing ... 1133


34.5 ... Inkrementelle Backup-Tools (rdiff-backup, rsnapshot, Borg Backup) ... 1138


34.6 ... Dateien komprimieren und archivieren ... 1147


34.7 ... Verzeichnisse synchronisieren (rsync) ... 1150


34.8 ... Backup-Scripts ... 1154


34.9 ... Backups auf S3-Speicher ... 1157




35. Firewalls ... 1163




35.1 ... Netzwerkgrundlagen und -analyse ... 1163


35.2 ... Basisabsicherung von Netzwerkdiensten ... 1169


35.3 ... Firewall-Grundlagen ... 1173


35.4 ... Firewall-Konfigurationshilfen ... 1174


35.5 ... Firewall mit nft selbst gebaut ... 1181


35.6 ... Geo-Blocking ... 1193




36. SELinux und AppArmor ... 1199




36.1 ... SELinux ... 1199


36.2 ... AppArmor ... 1207




37. Monitoring mit Prometheus und Grafana ... 1215




37.1 ... Monitoring-Grundlagen ... 1216


37.2 ... Setup-Überblick ... 1219


37.3 ... Den Node Exporter auf dem zu überwachenden Server installieren ... 1222


37.4 ... Docker-Setup für Traefik, Grafana und Prometheus ... 1225


37.5 ... Prometheus-Weboberfläche ... 1233


37.6 ... Grafana-Weboberfläche ... 1236


37.7 ... Den Node Exporter absichern ... 1238


37.8 ... Den Monitoring-Host überwachen ... 1242


37.9 ... Automatische Benachrichtigungen (Alerts) ... 1243


37.10 ... Monitoring für Webserver (Blackbox Exporter) ... 1251


37.11 ... Monitoring für MariaDB/MySQL ... 1255




TEIL VIII. Virtualisierung, Container und Co. ... 1259


38. VirtualBox ... 1261




38.1 ... VirtualBox installieren ... 1262


38.2 ... VirtualBox-Maschinen einrichten ... 1267


38.3 ... Arbeitstechniken und Konfigurationstipps ... 1273




39. QEMU/KVM ... 1279




39.1 ... Grundlagen ... 1280


39.2 ... Der Virtual Machine Manager ... 1289


39.3 ... libvirt-Kommandos ... 1296


39.4 ... Integration in das lokale Netzwerk (Netzwerkbrücke) ... 1302


39.5 ... Manipulation von Image-Dateien ... 1306




40. Docker und Podman ... 1313




40.1 ... Grundlagen und Nomenklatur ... 1315


40.2 ... Installation ... 1319


40.3 ... Docker oder Podman kennenlernen ... 1325


40.4 ... Container-Administration ... 1339


40.5 ... Eigene Images erzeugen (Dockerfile) ... 1346


40.6 ... Container-Setups mit compose ... 1354


40.7 ... Docker-Interna ... 1357


40.8 ... Podman-Interna ... 1361




41. Windows Subsystem for Linux (WSL) ... 1365




41.1 ... WSL ausprobieren ... 1366


41.2 ... WSL-Netzwerkanbindung ... 1371


41.3 ... Das Kommando wsl und WSL-Konfiguration ... 1373




42. KI-Sprachmodelle ausführen ... 1377




42.1 ... Grundlagen von Sprachmodellen ... 1377


42.2 ... GPT4All ... 1379


42.3 ... Ollama ... 1381


42.4 ... llama.cpp ... 1392




Index ... 1401

Michael Kofler
Michael Kofler hat Telematik an der TU Graz studiert und ist einer der erfolgreichsten deutschsprachigen IT-Fachbuchautoren. Zu seinen Themengebieten zählen neben Linux auch IT-Sicherheit, Python, Swift, Java und der Raspberry Pi. Er ist Entwickler, berät Firmen undarbeitet als Lehrbeauftragter.

Bitte beachten Sie die Kontaktangaben des Herstellers bei Fragen zur Produktsicherheit.
 
Kontakt für Produktsicherheit
Rheinwerk Verlag GmbH
Rheinwerkallee 4
53229 Bonn
E-Mail: service@rheinwerk-verlag.de