Debian-Paketmanagement
Total Page:16
File Type:pdf, Size:1020Kb
Debian-Paketmanagement Axel Beckert und Frank Hofmann Onyx Neon Debian-Paketmanagement ii Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021 Axel Beckert, Frank Hofmann Das Buch "Debian-Paketmanagement" von Frank Hofmann und Axel Beckert ist lizenziert unter einer Creative Commons Na- mensnennung - Weitergabe unter gleichen Bedingungen 4.0 International Lizenz. Debian-Paketmanagement iii VERSIONSGESCHICHTE NUMMER DATUM BESCHREIBUNG NAME debian/0_2021.03.01- 2021-09- 42-g5ca0d33 17T23:18:06+00:00 Debian-Paketmanagement iv Inhaltsverzeichnis I Konzepte 1 1 Willkommen im Linux-Dschungel! 2 1.1 Was ist Debian?....................................................2 1.2 Debian-Architekturen.................................................3 1.2.1 Debian-Ports-Projekt.............................................3 1.2.2 Pakete für alle Architekturen.........................................4 1.2.3 Multiarch: Mehrere Architekturen gleichzeitig auf einem System......................4 1.2.4 Bevor es Multiarch gab............................................5 1.3 Vom tar.gz zur Linux-Distribution........................................5 1.4 Debians Paketsystem.................................................5 1.5 Welche UNIX-artigen Betriebssysteme verwenden das Paketformat und das APT-Paketmanagement.......6 2 Software in Paketen organisieren 7 2.1 Was ist Paketmanagement...............................................7 2.2 Varianten und Formate für Softwarepakete......................................8 2.3 Softwarestapel und Ebenen..............................................9 2.3.1 Ebenen....................................................9 2.3.2 Untere Ebene................................................. 10 2.3.3 Obere Ebene................................................. 10 2.3.4 Paketformate und -werkzeuge anderer Distributionen............................ 11 2.3.5 Werkzeuge, die verschiedene Paketformate unterstützen.......................... 11 2.4 Alternativen zu APT................................................. 11 2.5 Zusammenspiel von dpkg und APT......................................... 11 2.6 Vom monolithischen Programm zu Programmkomponenten............................. 14 2.7 Debian-Pakete (Varianten).............................................. 15 2.7.1 Binärpakete (deb).............................................. 15 2.7.2 Übergangspakete, Metapakete und Tasks.................................. 16 2.7.3 Mikro-Binärpakete.............................................. 17 2.7.4 Source-Pakete (dsc und weitere Dateien).................................. 17 Debian-Paketmanagement v 2.7.5 Virtuelle Pakete................................................ 17 2.7.6 Pseudopakete im Debian Bug Tracking System............................... 18 2.8 Sortierung der Pakete nach Verwendungszweck................................... 18 2.9 Distributionsbereiche................................................. 22 2.9.1 Einordnung der Distributionsbereiche in Debian.............................. 22 2.9.2 Einordnung der Distributionsbereiche bei anderen Distributionen...................... 23 2.9.3 Handhabung von geschützten Namen und Logos.............................. 24 2.9.4 Softwareverteilung.............................................. 24 2.9.5 Hintergrund der Einteilung in Distributionsbereiche............................. 24 2.10 Veröffentlichungen.................................................. 24 2.10.1 Bedeutung der verschiedenen Entwicklungsstände............................. 25 2.10.2 Alias-Namen................................................. 26 2.10.3 Zusammenhang von Alias-Namen und Entwicklungsständen........................ 28 2.10.4 Pakete auf Wanderschaft von einem Entwicklungsstand in den nächsten.................. 28 2.10.5 Organisation der Pakete im Paketpool.................................... 29 2.10.6 Sicherheitsaktualisierungen......................................... 29 2.10.7 Long Term Support (LTS).......................................... 29 2.10.8 Extended Long Term Support (ELTS).................................... 29 2.11 Benennung einer Paketdatei.............................................. 30 2.11.1 Paketname.................................................. 30 2.11.2 Versionsnummer............................................... 31 2.11.3 Architektur oder Plattform.......................................... 32 2.12 Multiarch einsetzen.................................................. 32 2.12.1 Multiarch-Beispiel: Installieren eines 32-Bit-Pakets auf einem 64-Bit-System............... 33 2.13 Paket-Priorität und essentielle Pakete......................................... 35 2.13.1 Prioritätsstufe „erforderlich“ (required)................................... 35 2.13.2 Prioritätsstufe „wichtig“ (important)..................................... 36 2.13.3 Prioritätsstufe „standard“ (standard)..................................... 36 2.13.4 Prioritätsstufe „optional“ (optional)..................................... 36 2.13.5 Prioritätsstufe „extra“ (extra)......................................... 36 2.13.6 Markierung „essentiell“ (essential)...................................... 36 2.14 Verbreitungsgrad von Paketen............................................ 37 2.14.1 Verschiedene Metriken............................................ 38 2.14.2 Vergleichen von Paketen........................................... 38 2.15 Lokale Paketmarkierungen.............................................. 39 2.15.1 Paketmarkierungen, die von verschiedenen Programmen genutzt werden.................. 39 2.15.2 Aptitude-spezifische Paketmarkierungen................................... 40 2.15.3 Lesen und Anzeigen einer Markierung mit aptitude ........................... 41 2.15.4 Lesen und Anzeigen einer Markierung mit apt-mark ........................... 42 Debian-Paketmanagement vi 2.15.5 Setzen und Entfernen einer Markierung mit apt-mark .......................... 42 2.15.6 Was passiert, wenn Paketmarkierungen geändert werden?.......................... 43 2.15.7 Setzen und Entfernen einer Markierung mit aptitude .......................... 43 2.16 Wie finde ich passende Pakete............................................ 44 2.16.1 Paketquellen................................................. 44 2.16.2 Paketnamen.................................................. 45 2.16.3 Paketeigenschaften und Einordnung..................................... 45 II Werkzeuge 46 3 Paketquellen und Werkzeuge 47 3.1 Paketquellen...................................................... 47 3.1.1 Begriff und Hintergrund........................................... 47 3.1.2 Benutzte Paketquellen............................................ 47 3.1.3 Aufbau und Struktur einer Paketquelle.................................... 47 3.2 Empfehlung zum Ablauf für das Hinzufügen und Ändern von Paketquellen.................... 47 3.3 Die Datei /etc/apt/sources.list verstehen................................. 48 3.3.1 Format der Paketliste............................................. 48 3.3.2 Format eines Eintrags............................................ 49 3.3.3 Beispieleinträge für offizielle Pakete..................................... 50 3.3.4 Verzeichnis als Paketquelle.......................................... 51 3.3.5 Einträge für Sicherheitsaktualisierungen................................... 51 3.3.6 Einträge für zusätzliche, nicht-offizielle Pakete............................... 52 3.3.7 Einträge für Quellpakete........................................... 52 3.3.8 Einträge für Deutschland........................................... 53 3.4 Geeigneten Paketmirror auswählen.......................................... 53 3.4.1 Paketmirror bei Debian............................................ 53 3.4.2 Paketmirror für andere Distributionen.................................... 54 3.4.3 Pakete ohne Paketmirror beziehen...................................... 55 3.5 Am besten erreichbaren Paketmirror finden..................................... 55 3.5.1 netselect und netselect-apt .................................... 55 3.5.1.1 Paketquellen nach Pingzeiten und Entfernung auswählen.................... 56 3.5.1.2 Anzahl der Hops begrenzen.................................... 58 3.5.1.3 Einen geschützten Paketmirror abfragen............................. 59 3.5.1.4 Liste der Paketquellen mit netselect-apt generieren lassen................ 59 3.5.1.5 netselect und netselect-apt im Alltagseinsatz..................... 62 3.6 Automatisiertes Auswählen von Paketquellen.................................... 62 3.6.1 DNS Round Robin.............................................. 62 3.6.2 Paketquellen über GeoIP auswählen..................................... 62 Debian-Paketmanagement vii 3.6.3 GeoIP per DNS................................................ 63 3.6.4 Immer per CDN: Security-Updates..................................... 64 3.6.5 GeoIP per HTTP-Redirect.......................................... 64 3.6.6 Automatische Paketmirror-Auswahl per Mirror-Liste............................ 65 3.6.7 Welcher Paketmirror wird schlussendlich benutzt?............................. 66 3.7 apt-setup — Erstellung der Paketliste während der Installation......................... 67 3.8 Physische Installationsmedien mit apt-cdrom einbinden............................. 68 3.9 Einträge mit add-apt-repository im Griff behalten.............................. 69 3.9.1 Aufruf und Optionen............................................. 69 3.9.2 Beispiele..................................................