Debian-Paketmanagement

Axel Beckert

Frank Hofmann

Das Buch "Debian-Paketmanagement" von Frank Hofmann und Axel Beckert ist lizenziert unter einer Creative Commons Namensnennung - Weitergabe unter gleichen Bedingungen 4.0 International Lizenz.

Versionsgeschichte
Version debian/0_2023.03.11-322-g57d9dae2024-08-08T12:25:17+00:00

Zusammenfassung

Die Debian-Distribution setzt sich aus mehreren zehntausend Bausteinen zusammen, die alle aufeinander abgestimmt sind und sich bei Bedarf in eine Installation integrieren. Diese sogenannten Pakete (Packages) sind so eigenständig, dass sie von einem oder mehreren Debian-Entwicklern für das Debian-Projekt gepflegt werden, interagieren aber zugleich so intensiv mit allen anderen, dass wechselseitige Abhängigkeiten erkannt und bei Bedarf automatisch aufgelöst werden. Nur so ist die Modularität des komplexen Gesamtsystems gewährleistet, die Administratoren weltweit die Möglichkeit bietet, Debian-Installationen sehr genau für die jeweilige Anforderung vom Embedded-Gerät über den Desktop bis zum Großrechner zu konfigurieren.

Effizientes Paketmanagement ist also für jeden Debian-Administrator ein ebenso interessantes wie lohnendes Feld, das in der Praxis aber oft nicht ausreichend beachtet und mit wenigen Standardbefehlen "erledigt" wird. Zwei ausgewiesene Debian-Experten nehmen dies zum Anlass, das Debian-Paketmanagement erstmals derart umfassend darzustellen. Das Buch kommt von den Konzepten, die der Struktur und dem Zusammenspiel der Pakete zugrunde liegen, über die Werkzeuge zu deren Nutzung immer auch zu den Best Practices der professionellen Systemadministration. Es wendet sich an Einsteiger ebenso wie an Berufsadministratoren, indem es, ausgehend von den Grundlagen, das Optimierungspotential in zunehmend umfangreichen Szenarien ausschöpft. So entsteht ein aktuelles Handbuch der Debian-Administration, das als praxisorientiertes HowTo ebenso dient wie als Nachschlagewerk für die unerwartet zahlreichen Optionen und Kombinationsmöglichkeiten.


Inhaltsverzeichnis

Über dieses Buch
1. Kann Paketmanagement Spaß machen?
2. Zum Buch
2.1. Über die Autoren
2.2. Wie und warum dieses Buch entstand
2.3. Motivation
2.4. Baustellenstatus
2.5. Technische Basis
2.6. Online-Fassung
2.7. Quellcode und Lizenz
2.8. Organisatorisch
2.9. Grundlagenwissen für Administratoren
2.10. Dokumentation deb vs. rpm
2.11. Was ist das Buch – und was nicht …
2.12. Zielgruppe und Lernziele
2.13. Vorkenntnisse
2.14. Und das können Sie nach der Lektüre …
2.15. Buchinfo
3. Danksagung
I. Konzepte
1. Willkommen im Linux-Dschungel!
1.1. Was ist Debian?
1.2. Debian-Architekturen
1.2.1. Debian-Ports-Projekt
1.2.2. Pakete für alle Architekturen
1.2.3. Multiarch: Mehrere Architekturen gleichzeitig auf einem System
1.2.4. Bevor es Multiarch gab
1.3. Vom tar.gz zur Linux-Distribution
1.4. Debians Paketsystem
1.5. Welche UNIX-artigen Betriebssysteme verwenden das Paketformat und das APT-Paketmanagement
2. Software in Paketen organisieren
2.1. Was ist Paketmanagement
2.2. Varianten und Formate für Softwarepakete
2.3. Softwarestapel und Ebenen
2.3.1. Ebenen
2.3.2. Untere Ebene
2.3.3. Obere Ebene
2.3.4. Paketformate und -werkzeuge anderer Distributionen
2.3.5. Werkzeuge, die verschiedene Paketformate unterstützen
2.4. Alternativen zu APT
2.5. Zusammenspiel von dpkg und APT
2.6. Vom monolithischen Programm zu Programmkomponenten
2.7. Debian-Pakete (Varianten)
2.7.1. Binärpakete (deb)
2.7.2. Übergangspakete, Metapakete und Tasks
2.7.3. Mikro-Binärpakete
2.7.4. Source-Pakete (dsc und weitere Dateien)
2.7.5. Virtuelle Pakete
2.7.6. Pseudopakete im Debian Bug Tracking System
2.8. Sortierung der Pakete nach Verwendungszweck
2.9. Distributionsbereiche
2.9.1. Einordnung der Distributionsbereiche in Debian
2.9.2. Einordnung der Distributionsbereiche bei anderen Distributionen
2.9.3. Handhabung von geschützten Namen und Logos
2.9.4. Softwareverteilung
2.9.5. Hintergrund der Einteilung in Distributionsbereiche
2.10. Veröffentlichungen
2.10.1. Bedeutung der verschiedenen Entwicklungsstände
2.10.2. Alias-Namen
2.10.3. Zusammenhang von Alias-Namen und Entwicklungsständen
2.10.4. Pakete auf Wanderschaft von einem Entwicklungsstand in den nächsten
2.10.5. Organisation der Pakete im Paketpool
2.10.6. Sicherheitsaktualisierungen
2.10.7. Long Term Support (LTS)
2.10.8. Extended Long Term Support (ELTS)
2.11. Benennung einer Paketdatei
2.11.1. Paketname
2.11.2. Versionsnummer
2.11.3. Architektur oder Plattform
2.12. Multiarch einsetzen
2.12.1. Multiarch-Beispiel: Installieren eines 32-Bit-Pakets auf einem 64-Bit-System
2.13. Paket-Priorität und essentielle Pakete
2.13.1. Prioritätsstufe „erforderlich“ (required)
2.13.2. Prioritätsstufe „wichtig“ (important)
2.13.3. Prioritätsstufe „standard“ (standard)
2.13.4. Prioritätsstufe „optional“ (optional)
2.13.5. Prioritätsstufe „extra“ (extra)
2.13.6. Markierung „essentiell“ (essential)
2.14. Verbreitungsgrad von Paketen
2.14.1. Verschiedene Metriken
2.14.2. Vergleichen von Paketen
2.15. Lokale Paketmarkierungen
2.15.1. Paketmarkierungen, die von verschiedenen Programmen genutzt werden
2.15.2. Aptitude-spezifische Paketmarkierungen
2.15.3. Lesen und Anzeigen einer Markierung mit aptitude
2.15.4. Lesen und Anzeigen einer Markierung mit apt-mark
2.15.5. Setzen und Entfernen einer Markierung mit apt-mark
2.15.6. Was passiert, wenn Paketmarkierungen geändert werden?
2.15.7. Setzen und Entfernen einer Markierung mit aptitude
2.16. Wie finde ich passende Pakete
2.16.1. Paketquellen
2.16.2. Paketnamen
2.16.3. Paketeigenschaften und Einordnung
II. Werkzeuge
3. Paketquellen und Werkzeuge
3.1. Paketquellen
3.1.1. Begriff und Hintergrund
3.1.2. Benutzte Paketquellen
3.1.3. Aufbau und Struktur einer Paketquelle
3.2. Empfehlung zum Ablauf für das Hinzufügen und Ändern von Paketquellen
3.3. Paketquellen eintragen und ändern
3.4. Die Datei /etc/apt/sources.list verstehen
3.4.1. Format der Paketliste
3.4.2. Format eines Eintrags
3.4.3. Beispieleinträge für offizielle Pakete
3.4.4. Verzeichnis als Paketquelle
3.4.5. Einträge für Sicherheitsaktualisierungen
3.4.6. Einträge für zusätzliche, nicht-offizielle Pakete
3.4.7. Einträge für Quellpakete
3.4.8. Einträge für Deutschland
3.4.9. Einen Eintrag auf syntaktische Korrektheit prüfen
3.5. Geeigneten Paketmirror auswählen
3.5.1. Paketmirror bei Debian
3.5.2. Paketmirror für andere Distributionen
3.5.3. Pakete ohne Paketmirror beziehen
3.6. Am besten erreichbaren Paketmirror finden
3.6.1. netselect und netselect-apt
3.7. Automatisiertes Auswählen von Paketquellen
3.7.1. DNS Round Robin
3.7.2. Paketquellen über GeoIP auswählen
3.7.3. Per CDN
3.7.4. Automatische Paketmirror-Auswahl per Mirror-Liste
3.7.5. Welcher Paketmirror wird schlussendlich benutzt?
3.8. apt-setup — Erstellung der Paketliste während der Installation
3.9. Physische Installationsmedien mit apt-cdrom einbinden
3.10. Einträge mit add-apt-repository im Griff behalten
3.10.1. Aufruf und Optionen
3.10.2. Beispiele
3.11. Einstellungen mit Synaptic
3.12. Debian und Ubuntu Sources List Generator
3.12.1. Feinheiten für Debian
3.12.2. Feinheiten für Ubuntu
3.13. Paketquelle auf Echtheit überprüfen
3.13.1. Basiswissen
3.13.2. Schlüsselverwaltung mit apt-key (Überblick)
3.13.3. Unterkommandos von apt-key
3.13.4. Beispiel: Ergänzung eines Schlüssels
3.13.5. Abkündigung von apt-key
3.13.6. Alternative Benutzerschnittstellen zur APT-Schlüsselverwaltung
3.14. Liste der verfügbaren Pakete aktualisieren
3.14.1. Grundlegendes Vorgehen
3.14.2. Überprüfung der Paketsignaturen
3.14.3. Platz für den Paketcache
3.14.4. Die Veröffentlichung wechseln
3.15. Lokale Paketliste und Paketcache
3.16. Lokale Paketliste reparieren
3.16.1. Aktualität des Mirrors überprüfen
4. Debian-Paketformat im Detail
4.1. Konzepte und Ideen dahinter
4.1.1. Binärpakete
4.1.2. Sourcepakete
4.1.3. Weitere Metadaten
4.2. Aufbau und Format
4.2.1. Generell: 2 Ebenen
4.2.2. Source-Pakete
4.2.3. Binärpakete
4.2.4. Übergangs- und Metapakete
5. APT und Bibliotheken
5.1. Bibliothek libapt-pkg
5.2. Bibliothek libapt-pkg-perl
5.3. Bibliothek python-apt
5.4. Paket libapt-pkg-doc
5.5. Bibliothek libapt-inst
6. Werkzeuge zur Paketverwaltung (Überblick)
6.1. Frontends für das Paketmanagement
6.1.1. Aufgaben, Sinn und Zweck des Frontends
6.1.2. Anmerkungen zur Programmauswahl
6.2. Für die Kommandozeile
6.2.1. dpkg
6.2.2. APT
6.2.3. wajig
6.2.4. sysget
6.2.5. Cupt
6.3. ncurses-basierte Programme
6.3.1. tasksel
6.3.2. aptitude
6.3.3. Nala
6.4. GUI zur Paketverwaltung
6.4.1. Synaptic
6.4.2. Muon
6.4.3. Smart Package Management (SmartPM)
6.4.4. PackageKit
6.4.5. GDebi
6.5. Webbasierte Programme
6.5.1. Ubuntu Landscape
6.5.2. Appnr
6.5.3. Communtu
6.5.4. Univention Corporate Server (UCS)
7. Paketcache
7.1. Hintergrundwissen
7.1.1. Was passiert, wenn nicht alle Pakete heruntergeladen werden konnten?
7.2. Dateien im Paketcache
7.3. Paketcache-Status
7.4. Größe des Paketcaches
7.4.1. Wieviel Platz belegt der Paketcache?
7.4.2. Größe des Paketcaches festlegen
7.5. Paketcache aufräumen
7.5.1. Weshalb aufräumen?
7.5.2. Paketverwaltung passend konfigurieren
7.5.3. Kommandos zum Aufräumen
7.5.4. Empfehlungen zum Zeitpunkt des Aufräumens
7.5.5. Automatisch und regelmäßig Aufräumen
8. Paketoperationen
8.1. Paketoperationen und deren Abfolge
8.2. Paketlisten und Muster
8.3. Bekannte Paketnamen auflisten
8.4. Paketstatus erfragen
8.4.1. dpkg -s Paketname und dlocate -s Paketname
8.4.2. dpkg -I deb-Datei
8.4.3. apt-cache show Paketname
8.4.4. apt-cache showpkg Paketname
8.4.5. aptitude show Paketname
8.4.6. Anfragen mit apt-mark
8.5. Liste der installierten Pakete anzeigen und deuten
8.5.1. dpkg -l Paketname (Langform --list)
8.5.2. Suche mit aptitude
8.5.3. apt list --installed
8.5.4. Weitere Möglichkeiten
8.6. Liste der installierten Kernelpakete anzeigen
8.7. Liste der installierten, nicht-freien Pakete anzeigen
8.7.1. Recherche mit aptitude
8.7.2. Recherche mit check-dfsg-status (vormals vrms)
8.8. Neue Pakete anzeigen
8.9. Pakete nach Prioritäten finden
8.10. Automatisch installierte Pakete anzeigen
8.10.1. apt-mark benutzen
8.10.2. aptitude benutzen
8.11. Obsolete Pakete anzeigen
8.11.1. Recherche auf der Kommandozeile
8.11.2. Recherche in graphischen Programmen
8.11.3. Umgang mit diesen Paketen
8.12. Aktualisierbare Pakete anzeigen
8.12.1. apt-get verwenden
8.12.2. apt benutzen
8.12.3. aptitude verwenden
8.12.4. Synaptic verwenden
8.13. Verfügbare Versionen eines Paketes anzeigen
8.13.1. aptitude verwenden
8.13.2. Mit apt stöbern
8.13.3. apt-show-versions verwenden
8.13.4. apt-cache benutzen
8.13.5. rmadison einsetzen
8.13.6. grep-available und grep-aptavail benutzen
8.14. Aus welchem Repo kommen die Pakete
8.14.1. Paketquellen untersuchen mit apt-cache policy
8.14.2. Informationen für ein bestimmtes Paket erhalten
8.14.3. Verfügbare Paketversionen ermitteln
8.15. Installationsgröße eines Pakets
8.16. Größtes installiertes Paket finden
8.16.1. dpkg
8.16.2. dpigs
8.16.3. aptitude
8.17. Warum ist ein Paket installiert
8.18. Liste der zuletzt installierten Pakete anzeigen
8.18.1. Statusdaten von dpkg
8.18.2. Statusdaten von apt
8.19. Paketabhängigkeiten anzeigen
8.19.1. Die Abhängigkeiten eines Pakets auflisten
8.19.2. Anzeige der umgekehrten Paketabhängigkeiten
8.19.3. Prüfen, ob die Abhängigkeiten des gesamten Systems erfüllt sind
8.19.4. Zusammenfassung aller unerfüllten Abhängigkeiten im Paketcache
8.20. Pakete über den Namen finden
8.20.1. Systemwerkzeuge
8.20.2. Browserbasierte Suche
8.20.3. Paketsuchmaschinen
8.21. Pakete über die Paketbeschreibung finden
8.21.1. Suche mit apt-cache
8.21.2. Suche mit Hilfe von aptitude
8.21.3. Suche mit grep-available und grep-status
8.22. Paket nach Maintainer finden
8.22.1. Welche Pakete betreut ein Debian-Maintainer
8.22.2. Rückrichtung: Wer betreut ein bestimmtes Paket
8.23. Paket nach Lizenz finden
8.24. Paket zu Datei finden
8.24.1. Suche in bereits installierten Paketen
8.24.2. Suche in noch nicht installierten Paketen
8.24.3. Suche über die Webseite des Debian-Projekts
8.25. Paket auseinandernehmen
8.25.1. Mit ar in seine Bestandteile zerlegen
8.25.2. Mit dpkg die Installationsstruktur herausfinden
8.26. Paketinhalte anzeigen
8.26.1. dpkg -L Paketname
8.26.2. dlocate -L Paketname
8.26.3. dlocate -ls Paketname
8.26.4. dpkg -c deb-Datei
8.26.5. apt-file show Paketname und apt-file list Paketname
8.26.6. Einsatz von dglob
8.27. Nach Muster in einem Paket suchen
8.28. Ausführbare Dateien anzeigen
8.29. Manpages anzeigen
8.29.1. Manpages erstöbern
8.29.2. Manpages aus noch nicht installierten Paketen anzeigen
8.29.3. Suche über den Webbrowser
8.30. Konfigurationsdateien eines Pakets anzeigen
8.31. Paketänderungen nachlesen
8.31.1. Das Änderungsprotokoll beziehen
8.31.2. Zwei Paketversionen miteinander vergleichen
8.32. Paket auf unerwünschte Veränderungen prüfen
8.32.1. Prüfung eines Paketes auf Unversehrtheit
8.32.2. Die Inhalte eines bereits installierten Paketes überprüfen
8.33. Liste der zuletzt geänderten Abhängigkeiten
8.34. Paketdatei nur herunterladen
8.34.1. Paketdatei im aktuellen Verzeichnis speichern
8.34.2. Paketdatei im lokalen Paketcache speichern
8.35. Installation zwischengespeicherter Pakete aus dem Paketcache
8.36. Sourcepakete beziehen
8.37. Sourcepakete anzeigen
8.37.1. apt-cache verwenden
8.37.2. apt-show-source verwenden
8.38. Pakete installieren
8.38.1. Vorbereitungen
8.38.2. Durchführung
8.38.3. Begutachtung
8.38.4. Weitere, nützliche APT-Optionen für den Alltag (Auswahl)
8.38.5. Besonderheiten bei aptitude
8.38.6. Erweiterungen ab APT 1.1
8.39. Pakete erneut installieren
8.39.1. Wiederinstallieren vollständig entfernter Pakete
8.39.2. Wiederinstallieren von Paketen mit vorhandenen Konfigurationsdateien
8.39.3. Wiederinstallieren bereits installierter Pakete
8.39.4. Typische Stolperfallen bei Wiederinstallieren mehrerer Pakete
8.40. Pakete konfigurieren
8.40.1. Bestehende Konfiguration eines Pakets anzeigen
8.40.2. Konfiguration für alle Pakete auslesen
8.40.3. Bestehende Konfiguration anwenden
8.40.4. Konfiguration mit dpkg-reconfigure erneut durchführen
8.41. Pakete aktualisieren
8.41.1. update
8.41.2. install
8.41.3. upgrade und safe-upgrade
8.41.4. dist-upgrade und full-upgrade
8.41.5. Empfohlene Schrittfolge zur Aktualisierung von Paketen
8.41.6. Aktualisierung mit Synaptic
8.42. Pakete downgraden
8.42.1. Hintergrund und Fragen zum Downgrade
8.42.2. Ablauf und Durchführung
8.43. Pakete deinstallieren
8.43.1. Fall 1: Paket einfach löschen
8.43.2. Fall 2: Suche von Konfigurationsdateien bereits deinstallierter Pakete
8.43.3. Fall 3: Löschen von Konfigurationsdateien bereits deinstallierter Pakete
8.43.4. Fall 4: Paket samt Konfigurationsdateien deinstallieren
8.43.5. Fall 5: Paket für eine ausgewählte Architektur entfernen
8.44. Umgang mit Waisen
8.44.1. APT und aptitude
8.44.2. debfoster
8.44.3. deborphan
8.44.4. Orphaner und Editkeep
8.44.5. gtkorphan
8.44.6. wajig
8.44.7. rpmorphan
8.45. Paketoperationen erzwingen
8.45.1. Aktionen mit dpkg erzwingen
8.45.2. Aktionen mit apt erzwingen
8.45.3. Aktionen an der Paketverwaltung vorbei
8.46. Paketstatusdatenbank reparieren
8.46.1. Bit-Dreher reparieren
8.46.2. Die Paketstatusdatenbank aus dem lokalen Backup wiederherstellen
8.46.3. Die Paketstatusdatenbanken von APT und aptitude
8.47. Distribution aktualisieren (update und upgrade)
8.47.1. Vorworte
8.47.2. Vom upgrade zum dist-upgrade
8.47.3. Unsere empfohlene Reihenfolge
8.47.4. Anmerkungen
9. Dokumentation
9.1. Man- und Infopages
9.2. Dokumentation in /usr/share/doc/
9.3. Die apt-dpkg-Referenzliste
9.4. apt-doc — das Benutzerhandbuch zu APT
9.5. Der Debian-Spickzettel
9.6. APT-Spickzettel von Nixcraft
9.7. Pacman Rosetta
9.8. Handbuch zu aptitude
9.9. The Debian Administrator’s Handbook
9.10. Weitere Bücher
III. Praxis
10. APT und aptitude auf die eigenen Bedürfnisse anpassen
10.1. Konfiguration von APT
10.2. Konfiguration von APT anzeigen
10.3. Konfigurationsdateien von APT im Detail
10.3.1. /etc/apt/apt.conf(.d) verstehen
10.3.2. preferences bzw. preferences.d
10.3.3. cron.daily/apt
10.4. Konfigurationsoptionen von APT
10.5. APT-Hooks
10.6. Konfigurationsdateien von aptitude
10.7. aptitude: Interaktives Ändern von Optionen
10.8. aptitude Format Strings
10.9. Für aptitude die Ausgabebreite festlegen
10.10. Bei aptitude die Ausgabe sortieren
10.11. aptitude-Gruppierung
10.11.1. Kommandozeile
10.11.2. Textoberfläche
10.12. aptitude-Farbschema anpassen
10.12.1. Zwischen aptitude-Themes wechseln
10.12.2. Standardvorgaben
10.12.3. Eigene Farben vergeben
11. Mit aptitude Vormerkungen machen
11.1. Vormerkungen über die Kommandozeile durchführen
11.2. Vormerkungen über die Textoberfläche durchführen
11.3. Bestehende Vormerkungen anzeigen
11.4. Vormerkungen simulieren
11.5. Vormerkungen wieder aufheben
11.6. Vormerkungen ausführen
11.7. Risiken und Seiteneffekte
12. APT und aptitude mischen
12.1. Hintergrund
12.2. Sollten Sie das überhaupt machen?
12.3. Was ist zu beachten, wenn Sie das machen
12.4. Empfehlungen für Dokumentation und Beispiele
13. Erweiterte Paketklassifikation mit Debtags
13.1. Einführung
13.2. Kurzinfo zum Debtags-Projekt
13.3. Webseite zum Projekt
13.4. Debtags-Werkzeuge
13.5. Vergebene Schlagworte anzeigen
13.5.1. Auf der Kommandozeile
13.5.2. Integration in aptitude
13.5.3. Graphische Programme
13.5.4. Über den Webbrowser
13.6. Suche anhand der Schlagworte
13.6.1. Über die Kommandozeile
13.6.2. Textoberfläche von aptitude
13.6.3. Graphische Programme
13.6.4. Suche über den Webbrowser
13.7. Pakete um Schlagworte ergänzen
13.8. Verwendetes Vokabular bearbeiten und erweitern
13.8.1. Alle verfügbaren Schlagworte anzeigen
13.8.2. Informationen zu Schlagworten anzeigen
13.8.3. Schlagworte bearbeiten
14. Mehrere Pakete in einem Schritt ändern
14.1. Mit apt-get
14.2. Mit aptitude
15. Ausgewählte Pakete aktualisieren
15.1. Nur ein einzelnes Paket aktualisieren
15.1.1. Auf der Kommandozeile
15.1.2. Über die Textoberfläche von aptitude
15.1.3. Durchführung bei Synaptic
15.2. Aktualisierung mit Wechsel der Veröffentlichung
16. Ausgewählte Pakete nicht aktualisieren
16.1. Auf der Kommandozeile
16.1.1. Mit dpkg
16.1.2. Mit apt-mark
16.1.3. Mit Aptitude
16.2. Textoberflächen
16.2.1. Mit Aptitude
16.2.2. Mit Nala
16.3. Graphische Programme
16.3.1. Synaptic
16.3.2. Mit Apper
17. Fehlende Pakete bei Bedarf hinzufügen
17.1. Neue Hardware
17.1.1. Passende Pakete mit isenkram-lookup finden
17.1.2. Hardware-spezifische Pakete mit isenkram-pkginstall lokalisieren
17.1.3. Fehlende Firmware mit isenkram-autoinstall-firmware nachziehen
17.1.4. Passende Hardware identifizieren
17.2. Neue Software
17.2.1. Ausgangssituation
17.2.2. Empfehlungen mittels command-not-found
17.2.3. Fehlendes sofort installieren
18. Alternative Standard-Programme mit Debians Alternativen-System
18.1. Hintergrund: Warum alternative Standardprogramme?
18.2. Standardprogramme anzeigen
18.3. Standardprogramm ändern
19. Backports
19.1. Ausgangssituation
19.2. Gegenüberstellung der verschiedenen Lösungsansätze
19.3. Debian Backports
19.4. Welche Pakete gibt es als offiziellen Backport?
19.5. Welche Versionen gibt es als offizielle Backports?
19.6. Einbindung in den Paketbestand
19.7. Die installierten Pakete anzeigen
19.8. Weiterführende Dokumentation
19.9. Backports bei Ubuntu
19.10. Wichtige Fragen, die sich bei Backports ergeben
20. Veröffentlichungen mischen
20.1. Die bevorzugte Veröffentlichung für alle Pakete festlegen
20.2. apt-get mit expliziter Angabe der Veröffentlichung
20.3. Von APT zu APT-Pinning
20.4. Paketweise festlegen
20.5. Praktische Beispiele
21. Pakete bauen mit checkinstall
21.1. Pakete aus zusätzlichen Quellen ergänzen
21.2. Software selbst übersetzen und einspielen
21.3. Software selbst übersetzen und als deb-Paket einspielen
21.4. Beispiel
21.5. Vor- und Nachteile
21.5.1. Weitere noch unbearbeitete Notizen
22. Metapakete bauen
22.1. Vorbereitungen
22.2. Das Paket bauen
22.3. Die Komponenten des Pakets kryptographisch signieren
22.4. Das Debianpaket kryptographisch signieren
22.4.1. dpkg-sig verwenden
22.4.2. debsigs benutzen
22.5. Das neue Paket benutzen
22.5.1. Mittels dpkg und APT
22.5.2. Mittels gdebi
22.5.3. Mittels apt
23. Paketformate mischen
23.1. Einführung
23.2. Fremdformate mit alien hinzufügen
23.2.1. Einführung
23.2.2. Pakete umwandeln
23.2.3. Umgewandelte Pakete einspielen
23.2.4. Pakete umwandeln und einspielen
23.2.5. Fazit
23.3. deb-Pakete in rpm-Strukturen
24. Umgang mit LTS
24.1. Kurzzeitiges Abschalten der Gültigkeitsüberprüfung des Release Files
24.2. Dauerhaftes Abschalten der Gültigkeitsüberprüfung des Release Files
24.3. Dienstleister zur Pflege veralteter LTS-Installationen
25. Webbasierte Installation von Paketen mit apturl
25.1. Sinn und Zweck
25.2. Risiken und Bedenken
25.3. apturl in der Praxis
26. Paketverwaltung beschleunigen
26.1. Hintergrund
26.2. Möglichkeiten zur Beschleunigung
26.3. Empfehlungen zum Umgang im Alltag
27. Paketverwaltung hinter einem http-Proxy
27.1. Hintergrund
27.2. Varianten
27.3. Einen Proxy konfigurieren
27.4. Einen Proxy mittels Umgebungsvariablen konfigurieren
27.5. Einen Proxy in Anwendungen konfigurieren
27.5.1. Mittels wget
27.5.2. Mittels curl
27.5.3. Webbrowser Firefox
27.5.4. Webbrowser Chromium
27.6. APT über HTTP-Proxy
27.6.1. Konfigurationsdateien und Einstellungen
27.6.2. Schalter zur Steuerung des Cache-Verhaltens
27.6.3. Umgebungsvariablen
27.6.4. Schalter für apt-get
27.7. Aptitude über HTTP-Proxy
28. Einen APT-Paket-Cache einrichten
28.1. Begriff
28.2. Besonderheiten des APT-Cache
28.2.1. Funktionsweise
28.2.2. Vor- und Nachteile
28.2.3. Abgrenzung zum Betreiben eines eigenen Paketmirrors
28.2.4. Softwareauswahl für einen APT-Cache
28.3. Approx
28.3.1. Überblick
28.3.2. Setup und Installation
28.3.3. Konfiguration
28.3.4. Beobachtungen aus dem Alltag
28.4. apt-cacher
28.4.1. Werkzeugbeschreibung
28.4.2. Einrichtung und Benutzung
28.5. apt-cacher-ng
28.5.1. Werkzeugbeschreibung
28.5.2. Einrichtung und Betrieb
29. Cache-Verzeichnis auf separater Partition
29.1. Paketarchiv als tmpfs-Partition
29.2. Paketcache als separate Partition einrichten
29.3. Cache-Verzeichnis als Unterverzeichnis auf anderer Partition
30. Eigenes APT-Repository anlegen
30.1. Verzeichnis mit Paketen
30.2. dpkg-scanpackages
30.3. reprepro
30.4. mini-dinstall
30.4.1. Voraussetzungen
30.4.2. Einrichtung
30.4.3. Laufender Betrieb
30.4.4. Schalter und Konfiguration
30.4.5. Lesematerial
30.5. apt-ftparchive
30.6. aptly
30.7. debify
31. Einen eigenen APT-Mirror aufsetzen
31.1. apt-mirror
31.1.1. Wichtige Dateien aus dem Paket
31.1.2. Ablauf
31.1.3. Beispiel/HowTo
31.1.4. Hinweise
31.2. debmirror
31.3. debpartial-mirror
31.4. ubumirror
31.5. debarchiver
31.6. reprepro
32. Plattenplatz sparen mit der Paketverwaltung
33. Platte läuft voll
33.1. Hintergrund
33.2. wie löst man diesen Zustand (Empfehlung zum Vorgehen)
33.3. Varianten
33.4. Fehler beheben
34. Paketkonfiguration sichern
34.1. Die bestehende Paketkonfiguration auslesen
34.1.1. Mit dpkg
34.1.2. Mit apt
34.1.3. Mit debconf-get-selections
34.1.4. Mit apt-clone
34.2. Eine gesicherte Paketkonfiguration wieder einspielen
34.2.1. Mit apt-get
34.2.2. Mit debconf-set-selections
34.2.3. Mit apt-clone
34.3. Graphische Werkzeuge
34.3.1. Aptik
34.3.2. Mintbackup
35. Automatisierte Installation
35.1. Einstieg
35.2. Kriterien für die Auswahl einer geeigneten Lösung
35.3. Mit Debian-Werkzeugen
35.4. Komplette Lösungen
35.4.1. Ansible
35.4.2. Autoinstall
35.4.3. Chef
35.4.4. Cloud-init
35.4.5. Cobbler
35.4.6. FAI
35.4.7. Kickstart
35.5. Erfahrungen aus der Praxis
36. Automatisierte Aktualisierung
36.1. Ziel
36.2. apt-dater
37. Qualitätskontrolle
37.1. Nicht installierte Pakete mit lintian prüfen
37.1.1. lintian verstehen
37.1.2. lintian verwenden
37.2. Bereits installierte Pakete mit adequate prüfen
37.3. Bugreports anzeigen
37.3.1. Hintergrundwissen
37.3.2. Bugreports mit apt-listbugs lesen
37.3.3. Ergänzende Bugreports mit apt-listchanges herausfiltern
37.3.4. Release-kritische Fehler mit popbugs finden
37.3.5. Release-kritische Fehler mit rc-alert finden
37.3.6. Welche der von mir genutzten Pakete benötigen Hilfe?
37.4. Auslaufende Sicherheitsaktualisierungen mit check-support-status anzeigen
38. Versionierte Paketverwaltung
39. Pakete und Patche datumsbezogen auswählen
40. Paketverwaltung mit eingeschränkten Ressourcen für Embedded und Mobile Devices
40.1. Batterielaufzeit
40.2. Speicherplatz
40.3. localepurge
40.4. Bildschirmgröße
40.5. Erfordernisse an die CPU
41. Paketverwaltung ohne Internet
41.1. Hintergrund und Einsatzfelder
41.2. Strategien
41.2.1. Benötigte Pakete vorher explizit herunterladen
41.2.2. Einbindung fester Installationsmedien
41.2.3. Einbindung eines lokalen Paketmirrors
41.3. Werkzeuge
41.3.1. Offline-Verwaltung mit apt-get und wget
41.3.2. Das Projekt apt-offline
41.3.3. Pakete mit dpkg-split aufteilen
41.3.4. Keryx
42. Systeme mit schlechter Internet-Anbindung warten
42.1. debdelta
42.2. PDiffs
43. Paketverwaltung hinter einer Firewall
44. Der APT- und aptitude-Wunschzettel
IV. Ausblick
45. Notizen
46. Pakete selber bauen
47. Ein eigenes Debian-Repository aufbauen
48. Zukunft von APT, dpkg und Freunden
49. Fazit / Zusammenfassung
49.1. Was können Sie jetzt?
49.2. Empfehlungen für Einsteiger
49.2.1. Mit welchem Programm zur Paketverwaltung gelingt der Einstieg am leichtesten?
49.2.2. Installations-CD/DVD oder Netzwerkinstallation?
49.3. Empfehlungen für Fortgeschrittene und Profis
A. Anhang
Stichwortverzeichnis

Abbildungsverzeichnis

1. Orte, an denen das vorliegende Buch entstand
2.1. Schichtenmodell zur deb-basierten Paketverwaltung
2.2. Paketabhängigkeiten von APT
2.3. Paketabhängigkeiten von dpkg
2.4. Paketabhängigkeiten von aptitude und APT
2.5. Inhalt des Pakets x-display-manager in Aptitude
2.6. Auflistung der verschiedenen Paketkategorien in aptitude
2.7. Paketliste mit Skype als unfreies Paket in Aptitude
2.8. neofetch im Einsatz auf Debian 11 Bullseye
2.9. Beschreibung der Filmserie Toy Story im Disney Wiki
2.10. Erfasster Verbreitungsgrad für das Paket nginx
2.11. Vergleich Installationen und Nutzung der Pakete screen und tmux
2.12. Ausgabe der Paketmarkierungen in der Textoberfläche von aptitude
3.1. Editieren der Datei /etc/apt/sources.list im Texteditor Vim
3.2. /etc/apt/sources.list im Texteditor nano
3.3. Auswahl der Paketmirror für Linux Mint
3.4. Standortlokalisierung über das GeoIP Tool [geoiptool]
3.5. Auswahl des Paketmirrors über den Debian Redirector [Debian-Redirector]
3.6. Auswahl der Paketquellen über apt-setup
3.7. Einstellung der Komponenten in Synaptic
3.8. Auswahl der Komponenten im Debian Sources List Generator
3.9. Erzeugte sources.list durch den Debian Sources List Generator
3.10. Auswahl der Komponenten im Ubuntu Sources List Generator
3.11. Auflistung der gespeicherten, vertrauenswürdigen Schlüssel
3.12. Auflistung der verfügbaren Paketquellen in SmartPM
3.13. Auflistung der aktualisierbaren Pakete
3.14. Ausgabe einer deutlichen Warnung bei aptitude
3.15. Status der verschiedenen Debian-Paketmirror
4.1. Auszug aus dem postinst-Skript zum Paket dpkg-www
4.2. Detailinformationen zum Paket debsums (deb-gview)
4.3. Detailinformationen zum Paket debsums (Synaptic)
4.4. Detailinformationen zum Paket debsums in apt-browse.org (Ausschnitt)
6.1. wajig mit der Ausgabe des Kommandos listfiles
6.2. Softwareauswahl in tasksel
6.3. Softwareinstallation via tasksel
6.4. package dependency solver in aptitude
6.5. Entfernen des Paketes xsnow mittels Nala
6.6. Softwareauswahl in synaptic
6.7. Farbige Markierungen der Pakete gemäß ihrem Installationsstatus (Synaptic)
6.8. Allgemeine Paketeigenschaften für das Paket ding (Synaptic)
6.9. Paketauswahl einer ganzen Aufgabengruppe (Synaptic)
6.10. Softwareauswahl in muon
6.11. Softwareauswahl in smartpm
6.12. Gnome Packagekit mit ausgewähltem Paket dctrl-tools
6.13. gdebi mit den Informationen zum Paket apt-doc
6.14. gdebi-gtk mit den Informationen zum Paket zsh
6.15. Rollback eines ausgewählten Pakets
6.16. Vorauswahl für Appnr im Webbrowser Iceweasel
6.17. Verfügbare Bündel auf der Webseite
6.18. Univention App Centre
7.1. Heruntergeladene Pakete im Paketcache
7.2. Alte Pakete aus dem Paketcache mittels Aptitude entfernen
7.3. Großreinemachen mit Hilfe von Synaptic
8.1. Ausgabe der Statusinformationen zum Paket htop mittels aptitude
8.2. Icons zur Darstellung des Paketstatus
8.3. Ansicht der automatisch installierten Pakete in aptitude
8.4. Ansicht der obsoleten Pakete in Synaptic
8.5. Ansicht der aktualisierbaren Pakete in Synaptic
8.6. Darstellung der umgekehrten Paketabhängigkeiten mit dotty
8.7. Paketliste limitieren über die Aptitude-TUI
8.8. Ergebnis der Suche nach dem Fragment fce in Synaptic
8.9. Ergebnis der Suche nach dem Fragment top in SmartPM
8.10. Auswahl der Hilfeseiten zum Menüpunkt Netzwerkkommunikation
8.11. Auswahl der Hilfeseiten zu Synaptic
8.12. Ergebnis der Paketsuche nach iftop über https://packages.debian.org/
8.13. Ergebnis der Paketsuche nach aptsh über http://packages.ubuntu.com/
8.14. Ergebnis der Paketsuche nach kdm über http://packages.linuxmint.com/
8.15. Ergebnis der Paketsuche nach htop über https://apt-browse.org/
8.16. Auswahl der Paketmirror für bei apt-get.org
8.17. Suchergebnis der Recherche bei apt-get.org
8.18. Auswahl der Pakete für Debian GNU/Linux mittels Pkgs
8.19. Ergebnis der Paketsuche nach htop über http://www.rpmseek.com/
8.20. Ergebnis der Suche nach dem Paketmaintainer in Synaptic
8.21. Suche nach mupdf über die Webseite
8.22. Suche nach der Zeichenkette mupdf über die Webseite des Debian-Projekts (Suchergebnis)
8.23. Ein Paket mit dpkg -x auspacken
8.24. Aufruf von debmany für das Paket apt
8.25. Aufruf von debmany für das Paket apt mit Hilfe von Zenity
8.26. Suche in der Manpages-Sammlung nach htop
8.27. Von diffoscope gefundene Änderungen (Ausschnitt)
8.28. Bezug des Pakets bash-doc über den Webbrowser
8.29. Konfiguration des Pakets debconf
8.30. Konfiguration des Pakets tzdata und regionale Auswahl
8.31. Das Debian-Paketarchiv
8.32. Suchergebnis nach dem Paket openvpn im Paketarchiv
8.33. Nicht verwendete Pakete automatisch entfernen in aptitude
8.34. orphaner bei der Arbeit
8.35. editkeep im Einsatz
8.36. gtkorphan bei der Arbeit
8.37. wajig mit der Ausgabe des Kommandos orphans
8.38. Die Installation eines Paketes erzwingen
8.39. Ausgabe während des Upgrades von Jessie auf Stretch
9.1. Die apt-dpkg-Referenzliste im PDF-Betrachter xpdf
9.2. Ausschnitt aus der APT-Dokumentation mit apt-doc
9.3. Der Debian-Spickzettel (Ausschnitt)
9.4. Spickzettel zu apt-get
9.5. Die Pacman Rosetta (Ausschnitt)
9.6. Dokumentation zu aptitude
9.7. Cover des Buches
11.1. Paketoperationen anzeigen, die zur Ausführung anstehen
11.2. Vormerkungen abbrechen
13.1. Suche nach Spielen anhand von Debtags
13.2. Debian Tags zum Paket xara-gtk (zuletzt in Debian 9 Stretch)
13.3. Darstellung der Schlagworte zum Paket xpdf in aptitude
13.4. Ergebnis der Paketsuche nach dem Tag use::searching mit Hilfe von axi-cache
13.5. Auswahl des Debtags-Browsers in aptitude
13.6. PackageSearch im Einsatz
13.7. Suche anhand der Debtags über den Webbrowser
13.8. Auswahl der Pakete anhand der Debtags Cloud
13.9. Webseite zum Debtags-Projekt mit den Informationen zum Paket gimp
13.10. Informationen zur Facette protocol::pop3
16.1. Setzen des Paketflags hold in Synaptic
17.1. Zusätzliche Menüeinträge in Tasksel
18.1. Auswahl mit Hilfe des Programms galternatives
22.1. apt bei der Installation des Metapakets meta-mc
27.1. Proxy-Einstellungen bei Firefox
27.2. Mitteilung von Chromium zu den Einstellungen für Proxy Server
27.3. Proxy-Einstellungen bei Synaptic
28.1. Schematische Darstellung mit APT-Cache in der Netzwerkinfrastruktur
33.1. Kein Platz mehr
33.2. Download-Fehler
34.1. Fragen zum Paket cups
34.2. Sicherungsdialog von Mintbackup
37.1. Ausgabe der Paketvalidierung mittels lintian zum Paket mp4h
37.2. Auflistung der bekannten, kritischen Fehler nach der Analyse von popbugs
37.3. Auflistung der Paket ohne zukünftige Sicherheitsaktualisierungen nach der Analyse von debian-security-support

Tabellenverzeichnis

2.1. Übersicht zu Paketformaten und deren Verbreitung
2.2. Übersicht zu Containerformaten und deren Verbreitung
2.3. Paketierung der Komponenten am Beispiel von APT
4.1. Relationen für versionierte Abhängigkeiten
6.1. Frontends zur Paketverwaltung
6.2. Farben und deren Bedeutung bei aptitude
6.3. Tasten bei aptitude
6.4. Tasten zur interaktiven Konfliktlösung bei aptitude
8.1. Paketzustand deuten
8.2. Alltägliche Kombinationen zum Paketzustand
10.1. Format Strings in aptitude
10.2. Farbauswahl bei aptitude
10.3. Hervorhebungen und deren Bedeutung bei aptitude
11.1. Tastenkombination für Vormerkungen in aptitude
14.1. Zusätzliche Optionen für den Aufruf bei aptitude
20.1. Verwendete Prioritäten beim APT-Pinning
20.2. Zulässige Parameter beim APT-Pinning
21.1. Schalter für die verschiedenen unterstützten Paketformate
21.2. Spezifische Schalter für ein Debian-Binärpaket
37.1. Klassifikation der lintian-Fehlermeldungen
51.1. Lokale Paketliste aktualisieren
51.2. Installation eines Pakets
51.3. Aktualisieren eines Pakets
51.4. Downgraden eines Pakets
51.5. Erneute Installation eines Pakets
51.6. Ein Softwarepaket nur herunterladen
51.7. Entfernen eines Pakets
51.8. Softwarepakete auflisten
51.9. Einzelnes Softwarepaket auflisten
51.10. Paketabhängigkeiten anzeigen
51.11. Paketinhalte vor der Installation anzeigen
51.12. Paketinhalte anzeigen
51.13. Konfigurationsdateien eines Pakets anzeigen
51.14. Dokumentationsdateien eines Pakets anzeigen
51.15. Paket zu Datei finden
51.16. Paketstatus erfragen
51.17. Aktualisierbare Pakete anzeigen
51.18. Verfügbare Pakete anzeigen
51.19. Paketsignatur überprüfen
51.20. Paket auf Veränderungen prüfen
51.21. Transaktionshistorie anzeigen
51.22. Distributionsupgrade