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.




