Ubuntu 26.04 / Pakete sicher entfernen, sperren und reparieren

Unterscheiden Sie beim Reparieren von Ubuntu-Paketen zwischen Entfernung, Paket-Holds, gesperrten Paketdatenbanken und Abhängigkeitsfehlern. Überprüfen Sie zuerst den Zustand und die vorgeschlagenen Änderungen, simulieren Sie den Vorgang und wenden Sie dann nur die erforderliche Aktion an.

Verstehen des Umfangs der Entfernung

Vorgang Auswirkung
entfernen Entfernt Software, während einige Systemkonfigurationen erhalten bleiben können
ausmerzen Entfernt auch paketverwaltete Konfigurationen, jedoch nicht sämtliche Benutzerdaten
autoremove Entfernt automatisch markierte Abhängigkeiten, die als unnötig betrachtet werden
hold Verhindert normale Paketänderungen und kann Sicherheitsupdates blockieren

Verwenden Sie das nicht wesentliche Übungspaket hello und protokollieren Sie, ob es bereits installiert war. Installieren Sie es bei Bedarf über den früheren APT-Workflow. Verwenden Sie keine Kernel-, Netzwerk- oder Login-Pakete für Entfernungübungen.

Simulation und Überprüfung der Entfernung

apt-get -s remove hello
apt-get -s purge hello
apt-get -s autoremove

Vergleichen Sie die vorgeschlagenen Entfernungen. Fahren Sie nicht fort, wenn unerwartete Treiber- oder Dienstpakete erscheinen. Wenden Sie nur den überprüften Umfang an, zum Beispiel sudo apt remove hello, ohne die Bestätigung mit -y zu umgehen.

Inspektieren und Rückgängigmachen eines Paket-Holds

(
set -eu
if [ "$(dpkg-query -W -f='${Status}' hello 2>/dev/null)" != "install ok installed" ]; then
    printf 'Install the nonessential hello lab package first.\n' >&2
    exit 1
fi
was_held=$(apt-mark showhold | grep -x hello || true)
sudo apt-mark hold hello
apt-mark showhold
if [ "$was_held" != hello ]; then
    sudo apt-mark unhold hello
fi
apt-mark showhold
)

Das Beispiel dokumentiert, ob das installierte "hello" bereits gehalten war, und hebt den Hold nur auf, wenn das Labor den Hold eingeführt hat. Behalten Sie einen bestehenden Hold. Das Aufheben des Holds installiert keine Updates; nach einem Fehlschlag sollen Ausgabe und aktueller Zustand überprüft werden. Behalten Sie andere Holds und dokumentieren Sie den Grund, das Überprüfungsdatum und die Sicherheitsauswirkung langfristiger Holds.

Untersuchen laufender Arbeiten vor Sperrfehlern

systemctl status apt-daily.service apt-daily-upgrade.service --no-pager
ps -eo pid,etime,args | grep -E "[a]pt|[d]pkg|[u]nattended"

Warten, wenn ein anderes Update normal abläuft. Das blinde Löschen von Sperrdateien oder das Beenden von Paketprozessen kann Datenbankoperationen unterbrechen. Ein inaktiver Dienst allein beweist keinen veralteten Lock; prüfen Sie relevante Prozesse und Protokolle.

Unvollständige Konfiguration und Abhängigkeiten reparieren

sudo dpkg --audit
apt-get -s --fix-broken install

Bei unterbrochener Konfiguration überprüfen Sie die Protokolle und Backups, bevor Sie sudo dpkg --configure -a verwenden. Es führt Wartungsskripte aus und kann Dienste beeinträchtigen. Überprüfen Sie die simulierte Abhängigkeitsreparatur, bevor Sie entscheiden, ob Sie sudo apt-get --fix-broken install ausführen.

Wenn die Ursache ein nicht unterstütztes oder gemischtes Release-Repository ist, korrigieren Sie die Quelle, anstatt Reparaturbefehle zu wiederholen. Beenden Sie mit sudo dpkg --audit, sudo apt-get check und funktionalen Serviceprüfungen. Paketkonsistenz stellt keine erfolgreiche Wiederherstellung von Anwendungsdaten sicher.

Die offizielle Dokumentation zur Paketverwaltung erklärt die Entfernung und den Umgang mit Abhängigkeiten.