Inhaltsverzeichnis

Alle Kapitel aufklappen
Alle Kapitel zuklappen
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