Inhaltsverzeichnis

Alle Kapitel aufklappen
Alle Kapitel zuklappen
Vorwort
19
Konzeption
21
TEIL 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
102
TEIL 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
279
TEIL 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
342
10 zsh (Shell)
345
10.1 Installation und Konfiguration
346
10.2 Anwendung
351
10.3 Oh my zsh!
354
11 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
399
12 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)
429
13 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
445
14 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
466
TEIL IV Text- und Code-Editoren
469
15 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
481
16 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
500
17 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
520
TEIL V Systemkonfiguration und Administration
525
18 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
600
19 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
648
20 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
699
21 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
737
22 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
826
23 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
856
24 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
881
25 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.
916
TEIL VI Server-Konfiguration
921
26 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
961
27 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
983
28 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
1027
29 MySQL und MariaDB
1031
29.1 Installation und Inbetriebnahme
1032
29.2 Administrationswerkzeuge
1041
29.3 Backups
1046
29.4 WordPress installieren
1049
30 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
1118
31 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
1138
32 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
1176
TEIL VII Sicherheit
1185
33 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
1213
34 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
1237
35 SELinux und AppArmor
1249
35.1 SELinux
1249
35.2 AppArmor
1257
TEIL VIII Virtualisierung & Co.
1265
36 VirtualBox
1267
36.1 VirtualBox installieren
1268
36.2 VirtualBox-Maschinen einrichten
1272
36.3 Arbeitstechniken und Konfigurationstipps
1276
37 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
1311
38 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
1362
39 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