Wie Sie bereits wissen, können wir alle installierten Pakete mit apt upgrade
aktualisieren Befehl in Debian, Ubuntu und anderen Debian-basierten Systemen. Während dieses Upgrade-Vorgangs werden alle installierten Pakete aktualisiert, einige zusätzliche Pakete (d. h. Abhängigkeiten) werden installiert und einige unnötige Pakete werden gelöscht. Der Apt-Paketmanager erledigt all diese Dinge automatisch, um den Benutzern zu helfen, ein sauberes System zu erhalten. Apt hat auch eine Option, um zu verhindern, dass ein Paket in Debian, Ubuntu und seinen Varianten automatisch installiert, aktualisiert oder entfernt wird. In diesem Leitfaden werden wir verschiedene Methoden besprechen, um ein Paket-Upgrade in Debian, Ubuntu und seinen Derivaten wie Linux Mint und Pop!_OS zurückzuhalten oder zu verhindern.
Warum sollte jemand verhindern wollen, dass ein Paket aktualisiert wird?
Sie fragen sich vielleicht, warum jemand ein Paket von apt upgrade zurückhalten möchte. Hilft uns das Aktualisieren der Pakete auf die neueste Version nicht, das System zu sichern? Natürlich ja! Dies möchte man aber unter Umständen nicht. Hier sind einige Gründe, warum Pakete nicht aktualisiert werden können:
- Eine aktuelle Version eines Pakets funktioniert einwandfrei, daher denken Sie vielleicht, dass es unnötig ist, es zu aktualisieren.
- Eine bestimmte Version wird von einer anderen Anwendung benötigt, um richtig zu funktionieren.
- Das Paket, das Sie aktualisieren möchten, könnte problematisch sein. Obwohl die Entwickler die Pakete gründlich testen, bevor sie sie in die Repositories schieben, könnten sie manchmal unwissentlich instabile Pakete schieben, die Ihr System beschädigen.
- Sparen Sie Bandbreite. Möglicherweise möchten Sie ein Paket, das mehr als 500 MB belegt, nicht aktualisieren.
Was auch immer der Grund ist, wenn Sie jemals verhindern wollten, dass ein Paket in Debian- oder Ubuntu-Systemen geändert wird, wird dieses Tutorial helfen.
Halten oder verhindern Sie, dass ein Paket in Debian, Ubuntu aktualisiert wird
Wir können Pakete vom apt-Upgrade entweder über die Befehlszeile oder mithilfe des grafischen Paketverwaltungsprogramms namens Synaptic verhindern/anhalten/ignorieren/ausschließen Paketmanager.
Sehen wir uns zuerst die Befehlszeilenmethoden an!
1. Verhindern, dass ein Paket mit dem Befehl apt-mark in Debian, Ubuntu automatisch installiert, aktualisiert oder entfernt wird
Apt-Marke wird verwendet, um verschiedene Einstellungen für ein Paket anzuzeigen, zu setzen und zurückzusetzen, wie z. B. das Markieren eines Pakets als automatisch/manuell installiert oder das Ändern von dpkg
Auswahlen wie Halten, Installieren, Deinstallieren und Löschen, die z. durch apt-get dselect-upgrade
oder aptitude
.
Um zu verhindern, dass ein Paket geändert wird (installieren, deinstallieren und aktualisieren), muss das apt-mark
Der Befehl stellt die folgenden drei Unterbefehle bereit:
- halten
- Nicht halten
- Showhold
Das hold
Der Befehl wird verwendet, um ein Paket als zurückgehalten zu markieren, wodurch verhindert wird, dass das Paket automatisch installiert, aktualisiert oder entfernt wird.
Das unhold
Der Befehl wird verwendet, um ein zuvor festgelegtes Halten eines Pakets aufzuheben, um alle Aktionen wieder zuzulassen.
Und der showhold
Der Befehl wird verwendet, um eine Liste der zurückgehaltenen Pakete anzuzeigen.
Sehen wir uns ein Beispiel an. Ich werde ein Paket verhindern (zB htop
) nicht automatisch installiert, aktualisiert oder entfernt werden mit dem Befehl:
$ sudo apt-mark hold htop
Beispielausgabe:
htop set on hold.
Das gesperrte htop
Paket bleibt auch nach dem Upgrade Ihres Systems in derselben Version.
Um die zurückgehaltenen Pakete anzuzeigen, führen Sie Folgendes aus:
$ sudo apt-mark showhold
Um das Paket freizugeben, führen Sie einfach Folgendes aus:
$ sudo apt-mark unhold htop
Beispielausgabe:
Canceled hold on htop.

Bitte beachten Sie, dass diese Methode das manuelle Entfernen des Pakets nicht verhindert . Sie können die gesperrten Pakete immer noch mit apt-get remove <packagename>
entfernen Befehl.
Diese Methode verhindert nur, dass die Anwendung während des System-Upgrades automatisch installiert, aktualisiert, aktualisiert oder entfernt wird. Ein Paket zu halten bedeutet eigentlich, dass Sie dem Paketmanager mitteilen, die aktuelle Version zu behalten, egal was passiert, selbst wenn eine neue Version verfügbar ist . Dieser Trick kann beim Zurückhalten von Grafiktreibern sehr nützlich sein. Es ist auch nützlich, wenn eine neuere Version eines aktuell funktionierenden Programms nach einem Update kaputt geht.
Wann immer Sie versuchen, das System mit den Befehlen sudo apt-get update
zu aktualisieren oder sudo apt-get upgrade
, haben die markierten Pakete zu dem Zeitpunkt, an dem Sie das Paket besitzen, immer noch dieselbe Version.
Apt-Mark ist nicht das einzige CLI-Dienstprogramm, das Paketänderungen in Debian oder Ubuntu verhindert. Es gibt zwei weitere Möglichkeiten, ein Paket anzuhalten und es später von der Befehlszeile aus wieder aufzuheben.
2. Verhindern Sie, dass das Paket mit dpkg in Debian, Ubuntu aktualisiert wird
Dpkg ist das Befehlszeilenprogramm zum Installieren, Erstellen, Entfernen und Verwalten von Debian-Paketen.
Um ein Paket zu platzieren, zum Beispiel htop , angehalten mit dpkg, führe aus:
$ echo "htop hold" | sudo dpkg --set-selections
Sie können den Status des zuvor angehaltenen Pakets anzeigen, führen Sie Folgendes aus:
$ dpkg --get-selections | grep "htop"
htop hold
Wie Sie sehen können, wird htop gehalten.
Um den Status aller Pakete anzuzeigen, führen Sie Folgendes aus:
$ dpkg --get-selections
Gehen Sie wie folgt vor, um das Paket freizugeben:
$ echo "htop install" | sudo dpkg --set-selections

3. Halten Sie ein Paket von einem Upgrade mit aptitude in Debian, Ubuntu zurück
Eignung ist eine textbasierte Schnittstelle zum Debian GNU/Linux-Paketsystem. Es ermöglicht dem Benutzer, verschiedene Paketverwaltungsaufgaben durchzuführen, wie z. B. das Installieren, Aktualisieren, Aktualisieren, Auflisten und Entfernen von Paketen.
Um ein Paket zurückzuhalten und zu verhindern, dass es automatisch aktualisiert wird, führen Sie Folgendes aus:
$ sudo aptitude hold htop
Um den Status des Pakets anzuzeigen, führen Sie Folgendes aus:
$ aptitude show htop
Beispielausgabe:
Package: htop
Version: 2.2.0-2build1
State: installed [held]
Automatically installed: no
Priority: optional
Section: utils
Maintainer: Ubuntu Developers <[email protected]>
Architecture: amd64
Uncompressed Size: 225 k
Depends: libc6 (>= 2.15), libncursesw6 (>= 6), libtinfo6 (>= 6)
Suggests: lsof, strace
Description: interactive processes viewer
Htop is an ncursed-based process viewer similar to top, but it allows
one to scroll the list vertically and horizontally to see all processes
and their full command lines.
Tasks related to processes (killing, renicing) can be done without
entering their PIDs.
Homepage: https://hisham.hm/htop/
Wie Sie in der obigen Ausgabe sehen, wird das htop-Paket vom Upgrade abgehalten.
Um das Paket freizugeben, tun Sie einfach:
$ sudo aptitude unhold htop

4. Verhindern, dass ein Paket mit dem Synaptic-Paketmanager in Debian, Ubuntu automatisch installiert, aktualisiert oder entfernt wird
Wenn Sie Synaptic haben Wenn Sie den Paketmanager auf Ihrem System installiert haben, können Sie ein Paket ganz einfach für die Installation, Aktualisierung, Aktualisierung oder Entfernung sperren.
Öffnen Sie den Synaptic-Manager und suchen Sie das Paket, das Sie behalten möchten. Klicken Sie dann auf Paket aus der Menüleiste und klicken Sie auf Halten .

Das ist es. Jetzt wird das Paket während des System-Upgrades nicht berührt, solange Sie es in der Warteschleife gehalten haben.
Um es zu entsperren, gehen Sie zu Synaptic -> Paket -> Entsperren Version.
Wenn der Synaptic-Paketmanager nicht auf Ihrem System installiert ist, können Sie ihn mit folgendem Befehl installieren:
$ sudo apt install synaptic
Schlussfolgerung
In diesem Tutorial haben Sie gelernt, wie Sie verhindern können, dass ein Paket in Debian-basierten Systemen wie Ubuntu, Linux Mint und Pop!_OS usw. automatisch installiert, aktualisiert und entfernt wird. Das Zurückhalten von Paketen kann zwar in bestimmten Fällen hilfreich sein, wird es aber auch Sicherheitslücken in Ihrem Ubuntu-System hinterlassen. Man muss wissen, wann man Pakete hält oder nicht hält. Verwenden Sie diese Funktion mit Vorsicht. Viel Glück!
Verwandte Lektüre:
- Wie man verhindert, dass ein Paket in Arch Linux aktualisiert wird
Vorgestelltes Bild von erfouris studio von Pixabay.