class: center, middle ![img33r](distribution.png) ## Linux begreifen 2b:Mehr Paketverwaltung ### Hauke Goos-Habermann #### https://weisheit.goos-habermann.de --- ### Über mich - Entwickler des
Softwareverteilungssystems m23
- Organisator der
Kieler Open Source und Linux Tage
-
Dienstleister zu m23, Linux und Freier Software
- Softwareentwicklung (PHP, BASH, C/C++, JS, Python und was sonst so gebraucht wird...) - Administration - Schulungen - Support - Beratung - quasi **alles**, *was mit Linux zu tun hat* - Wöchentlicher Livestream *"Jean und Hauke Show"* auf https://www.youtube.com/c/LinuxGuides - *"Nicht der Weisheit letzter Schluß"* mit **beruflichen** oder **privaten Projekten** auf
tube.tchncs.de/c/ndwls
und
youtube.com/@nichtderweisheit
- Verwendet Linux seit 1996 auf vielen Systemen. --- ### Serie: Linux begreifen ![img33r](Administration_von_Debian_und_Co_im_Textmodus-2021.png) * **Nicht**: *"1000 unglaublich tolle Tips, wie Du Deinen Desktop noch schicker machen kannst"* * Sondern für alle gedacht, die sich **eingehender** mit Linux beschäftigen wollen * Hintergründe und Grundlagenwissen * Praxisbezug * Fähigkeiten auf den Kommandozeile * Konfiguration ohne grafische Oberfläche * **Jetzt buchen: *Schulungen und Workshops*** * Online oder vor Ort * Wunschthemen aus Linux- und OpenSource-Bereich * Aufzeichnung als Video * Anfragen:
https://goos-habermann.de/kontakt
Kostenloses Basisschulungsmaterial:
https://goos-habermann.de/data/Administration_von_Debian_und_Co_im_Textmodus-2021.pdf
--- ### Was sind Paket-Prioritäten? ![img33r](liste.png) Der Paketmanager installiert dann ein (neues/anderes) Paket, wenn es * **nicht** bereits **installiert** ist * es eine **höhere Versionsnummer** als ein bestehendes hat * es eine **höhere Priorität** als ein bestehendes hat **Trifft nichts davon zu**, so wird die Paketverwaltung **keine Installation** bzw. **kein Aktualisierung** vornehmen. Warum ein Paket (nicht) installiert wurde, können wir herauszufinden mit: ```bash apt-cache policy [Paketname] apt policy [Paketname] ``` --- ### Prioritäten ändern ![img33r](schraubenschluessel.png) Pakete haben eine **Standardpriorität**, die allerdings auch **über eigene Regeln modifiziert** werden kann. Im Beispiel werden alle Pakete der Distribution *unstable* auf eine Priorität von 100 herabgesetzt: ```bash echo 'Package: * Pin: release a=unstable Pin-Priority: 100' >\ /etc/apt/preferences.d/sid100 ``` Es können aber auch einzelne Pakete oder Server in der Priorität geändert werden. Schaut dazu auch ⇒
Downgrade: Alte Debian-Pakete installieren
--- ### Neue "offizielle" Debian-Pakete ![img20r](paket+spinnweben.png) Die Pakete in Debian (bzw. **LTS-Distributionen** im Allgemeinen) behalten über den ganzen Supportzeitraum (wenn möglich) den Versionsstand des jeweiligen Paketes bei. Auf der einen Seite ist dies ausdrücklich gewünscht, da nur **Sicherheitslücken geschlossen** und **Fehler behoben** werden sollen. Andererseits **möchtet** Ihr Euch ggf. auch **neuere Softwareversionen** (z.B. mit weiteren Funktionen), ohne gleich auf den ***testing***- oder ***unstable***-Zweig zu wechseln. In den **Debian-Backports** stehen neuere Versionen ausgesuchter Pakete zur Installation bereit. --- ### Debian-Backports Bevor Ihr die Debian-Backports verwenden könnt, müssen diese (hier z.B. für Debian 12 Bookwork) konfiguriert werden: ```bash echo 'deb http://deb.debian.org/debian bookworm-backports main'\ > /etc/apt/sources.list.d/debian-backports.list apt-get update ``` ![img20r](paket.png) Die **Priorität** von Backports-Paketen liegt mit **100** allerdings so weit unter der **Standardpriorität** von **500**, daß diese nie installiert werden, es sei denn, man gibt explizit die Distribution an: ```bash apt-get install -t bookworm-backports [Paketname] ``` --- ### Doch etwas unstable/testing ![img20r](paket.png) Möchtet Ihr einzelne – aber nicht alle – Pakete aus ***testing*** oder ***unstable*** verwenden, so **legt** Ihr zuerst die **Standarddistribution** (üblicherweise die aktuelle stabile) **fest**: ```bash echo 'APT::Default-Release "bullseye";' >\ /etc/apt/apt.conf.d/00bullseyeDefault ``` Dann fügt Ihr die Paketquelle hinzu: ```bash echo 'deb http://deb.debian.org/debian unstable main\ contrib non-free non-free-firmware' >\ /etc/apt/sources.list.d/sid.list apt-get update ``` Nun können einzelne Pakete (unter Angabe der Distribution) installiert werden: ```bash apt-get -t unstable install [Paketname] ``` --- ### Paketversionen "festnageln" ![img33r](Hammer+Nagel.png) Manchmal möchtet Ihr auch eine bereits installierte **Paketversion beibehalten** (z.B. wenn Ihr die Software selbst gepatcht habt) und somit **von (Sicherheits-)aktualisierungen ausschließen**. Hierfür gibt es ***"pinning"***: ```bash echo [Paketname] hold | dpkg --set-selections # Oder gleich mehrere Pakete dpkg --set-selections << EOF [Paketname1] hold [Paketname2] hold [Paketname3] hold EOF ``` Zum Entfernen des pinnings: ```bash echo [Paketname] install | dpkg --set-selections ``` Mehr dazu: https://wiki.ubuntuusers.de/Apt-Pinning --- class: center, middle ### Informationen zu mir und meinen Dienstleistungen, m23, ... ### https://goos-habermann.de