Thema: apt
-
Debian und Ubuntu auf das nächste Major-Release aktualisieren, ohne den Rückweg zu verlieren
Sowohl do-release-upgrade bei Ubuntu als auch das manuelle Vorgehen bei Debian (sources.list anpassen, dann upgraden) setzen ein vollständiges Backup und einen Konsolenzugang voraus, falls die SSH-Sitzung während des Upgrades abbricht. Die Release Notes von Debian empfehlen vor dem vollständigen Upgrade einen minimalen Upgrade-Durchlauf.
-
Drittanbieter-APT-Repository nach aktuellem Verfahren hinzufügen: deb822-.sources-Dateien und Signed-By-Keyrings
apt-key ist veraltet. Der unterstützte Weg, ein signiertes Drittanbieter-Repository hinzuzufügen, ist eine Keyring-Datei unter /etc/apt/keyrings, auf die eine Signed-By-Option verweist, entweder im klassischen einzeiligen Format oder im neueren deb822-.sources-Format, das Debian 12/13 und aktuelle Ubuntu-Releases beide verarbeiten.
-
Interner Paketspiegel oder -Cache für Linux-Clients: apt-cacher-ng und das reposync-Plugin von dnf
Apt-Cacher NG speichert Debian-/Ubuntu-Pakete bei Bedarf hinter einer HTTP-Proxy-Einstellung zwischen, während das reposync-Plugin von dnf ein vollständiges lokales Abbild eines gewählten RPM-Repositorys erstellt. Beide Ansätze vermeiden wiederholte Downloads, ohne die clientseitige Signaturprüfung zu schwächen, die unabhängig von der Herkunft der Daten aktiv bleibt.
-
Exit-Codes von apt-get, dpkg, dnf und zypper: wenn 100 «Updates verfügbar» bedeutet und keinen Fehler
apt-get kennt nur 0 für Erfolg und 100 für Fehler. dpkg unterscheidet eine fehlgeschlagene Prüfung (1) von einem schwerwiegenden Nutzungs- oder Systemfehler (2). Bei dnf check-update bedeutet 100, dass Updates verfügbar sind, und nicht, dass ein Fehler vorliegt. zypper definiert mit 100–107 einen ganzen Bereich informativer Codes (keine Fehler), etwa für einen ausstehenden Neustart; 104 (Paket nicht gefunden) und 105 (unterbrochen) bedeuten jedoch, dass die Aktion nicht ausgeführt wurde. Wer diese Codes nur als Erfolg/Misserfolg auswertet, verliert wichtige Informationen.
-
APT-Pinning: ein Paket mit Preferences-Dateien auf einer bestimmten Version oder Quelle halten
Mit APT-Pinning lässt sich ein einzelnes Paket zurückhalten, gezielt aus einer Nicht-Standard-Suite beziehen oder vor künftigen Änderungen durch apt upgrade schützen. Die Konfiguration erfolgt in einzelnen Dateien unter /etc/apt/preferences.d statt in einer gemeinsamen Datei; geprüft wird mit apt-cache policy.
-
Paketmanager im Vergleich: apt, dnf, zypper, apk, pkg, Homebrew und winget nebeneinander
Installieren, Entfernen, Suchen, Auflisten, Paket zu einer Datei ermitteln, Version festhalten und nicht interaktiv ausführen: dieselben sieben Aufgaben, wie sie apt/dpkg, dnf, zypper, apk, pkg, Homebrew und winget jeweils formulieren. Die Tabelle zeigt auch die Aufgabe, die Homebrew und winget schlicht nicht anbieten.
-
apt und dpkg unter Debian und Ubuntu nicht interaktiv ausführen, ohne an Rückfragen hängenzubleiben
Ein skriptgesteuerter Lauf von apt-get oder dpkg kann an einer debconf-Rückfrage, einer Frage zu geänderten Konfigurationsdateien oder einer gehaltenen dpkg-Sperre hängenbleiben. Mit gesetztem DEBIAN_FRONTEND, den passenden confold-/confdef-Optionen und vorab hinterlegten debconf-Antworten endet die Installation entweder erfolgreich oder mit einer klaren Fehlermeldung.
-
unattended-upgrades für automatische Sicherheitsupdates unter Debian und Ubuntu konfigurieren
unattended-upgrades installiert Paketupdates zeitgesteuert und wird über zwei Dateien konfiguriert: 20auto-upgrades (ob und wie oft) und 50unattended-upgrades (welche Quellen und ob neu gestartet wird). Ein Test mit --dry-run --debug vor dem Produktiveinsatz verhindert unerwartete Neustarts oder halb eingespielte Upgrades.
Maschinenlesbar: JSON