GNU/Linux >> LINUX-Kenntnisse >  >> Debian

So verhindern Sie, dass ein Paket in Ubuntu, Debian oder Linux Mint aktualisiert wird [APT]

Es gibt mehrere Möglichkeiten, um zu verhindern, dass ein Paket in Debian, Ubuntu, Linux Mint, Elementary OS und anderen Debian/Ubuntu-basierten Linux-Distributionen aktualisiert wird. Dieser Artikel stellt drei Möglichkeiten vor, Repository-Pakete von der Aktualisierung auszuschließen.

Warum verhindern, dass ein Paket aktualisiert wird? Angenommen, Sie installieren ein Paket, das älter ist als die Version, die in Debian-, Ubuntu- oder Linux Mint-Repositories verfügbar ist, oder Sie wissen, dass ein Update Probleme verursacht, und Sie möchten alle Pakete minus einem (oder zwei, drei …) aktualisieren.

Hier ist ein Beispiel. Ich verwende auch den Chromium-Browser Hardwarebeschleunigungs-Patches aus dem Saiarcot895-dev PPA in Ubuntu 18.10. Damit die Hardwarebeschleunigung mit Nvidia-Treibern funktioniert, ist ein gepatchtes vdpau-va-Treiberpaket erforderlich, das in diesem PPA für das neueste Ubuntu 18.10 noch nicht verfügbar ist. Glücklicherweise kann das Ubuntu 18.04-Paket in Ubuntu 18.10 installiert werden, aber jedes Upgrade durch „apt upgrade“ oder die Verwendung des Software Updater aktualisiert dieses Paket, was ich nicht möchte. In diesem Fall würde ich also dieses Paket von Upgrades fernhalten, um alle anderen Pakete aktualisieren zu können, ohne mich darum kümmern zu müssen.

Beachten Sie, dass das Verhindern zukünftiger Upgrades eines Pakets in einigen Situationen zu Problemen führen kann, wenn das von Ihnen gespeicherte Paket als Abhängigkeit von einem anderen Paket verwendet wird, das aktualisiert werden kann. Versuchen Sie also, nicht zu viele Pakete vom Upgrade abzuhalten, insbesondere Bibliotheken.

Aus derselben Serie:So finden Sie verfügbare Pakete von der Befehlszeile in Debian, Ubuntu oder Linux Mint [APT]

Hier sind 3 Möglichkeiten, um zu verhindern, dass ein Paket in Debian, Ubuntu, Linux Mint aktualisiert wird.

1. Verhindern Sie Paketaktualisierungen mit einer GUI:Synaptic Package Manager

Synaptic Package Manager, ein grafisches Gtk-Paketverwaltungsprogramm für apt, kann Pakete sperren, was verhindert, dass sie aktualisiert werden.

Es ist wichtig zu beachten, dass die Verwendung von Synaptic zum Sperren von Paketen nicht verhindert, dass sie über die Befehlszeile aktualisiert werden – indem apt upgrade ausgeführt wird oder apt-get upgrade aktualisiert weiterhin ein Paket, das in Synaptic gesperrt ist. Das Sperren von Paketen in Synaptic verhindert Paket-Upgrades mit der Software Updater-App von Ubuntu und möglicherweise anderen grafischen Paketmanagern. Es verhindert jedoch nicht, dass Pakete mit der Linux Mint Update Manager-Anwendung aktualisiert werden. Also empfehle ich die Verwendung von apt-mark oder dpkg (siehe unten), um zu verhindern, dass Pakete aktualisiert werden.

Sie können den Synaptic Package Manager mit diesem Befehl installieren:

sudo apt install synaptic

Um zu verhindern, dass ein Paket mit Synaptic aktualisiert wird, suchen Sie es, wählen Sie das Paket aus und klicken Sie auf das Synaptic-Menü Package -> Lock Version :


Sie können das Paket auch auf die gleiche Weise entsperren.

Um alle blockierten Pakete in Synaptic anzuzeigen, klicken Sie auf Status unten links und dann auf Pinned über Status Abschnitt:

2. Verhindern, dass ein Paket mit apt-mark aktualisiert wird

Das Verhindern, dass Pakete mit apt-mark aktualisiert werden, sollte verhindern, dass sie mit Ubuntus Software Updater sowie Befehlszeilen-Upgrades (apt upgrade / apt-get upgrade ).

Sie können ein Paket für zukünftige Upgrades (und für die automatische Entfernung) mit apt-mark verwenden mit diesem Befehl:

sudo apt-mark hold PACKAGE

Ersetzen Sie PACKAGE mit dem Paket, das Sie nicht aktualisieren möchten.

Sie können überprüfen, welche Pakete als hold gekennzeichnet sind (damit sie nicht aktualisiert werden) mit:

apt-mark showhold


Um einen Hold zu entfernen (damit das Paket aktualisiert werden kann), verwenden Sie:

sudo apt-mark unhold PACKAGE

Für beide hold und unhold Sie können mehrere Pakete angeben, genau wie beim Installieren von Software mit apt (trennen Sie die Pakete mit einem Leerzeichen).

3. Verhindern Sie Paketaktualisierungen mit dpkg

Vor einiger Zeit gab es einige grafische Paketmanager, die den apt-mark-hold-Status ignorierten. Ich bin mir nicht sicher, ob das immer noch der Fall ist, aber um sicherzugehen (und falls Sie eine alte Debian / Ubuntu / Linux Mint-Version verwenden), gibt es eine andere Möglichkeit, Paketaktualisierungen in Ubuntu, Linux Mint oder Debian zu erhalten hier verhindern:dpkg.

Um zu verhindern, dass ein Paket mit dpkg aktualisiert wird, verwenden Sie:

echo "PACKAGE hold" | sudo dpkg --set-selections

Ersetzen Sie PACKAGE mit dem Paket, das Sie nicht aktualisieren möchten.

Sie können alle Packet Holds mit diesem Befehl anzeigen:

dpkg --get-selections | grep hold

Zum Entsperren (Upgrade des Pakets zulassen) verwenden Sie:

echo "PACKAGE install" | sudo dpkg --set-selections

nicht wie apt-mark , erlaubt diese Lösung nicht die gleichzeitige Angabe mehrerer Pakete.


Debian
  1. So kompilieren und installieren Sie wxWidgets unter Ubuntu/Debian/Linux Mint

  2. So installieren Sie DaVinci Resolve 16.2 oder 17 Beta in Ubuntu, Linux Mint oder Debian (DEB-Paket generieren)

  3. So installieren Sie Oracle Java 14 (JDK 14) unter Ubuntu, Debian oder Linux Mint aus dem APT PPA-Repository

  4. So verwenden Sie die Befehlszeile, um nach verfügbaren Paketen in Debian, Ubuntu oder Linux Mint [APT] zu suchen

  5. So installieren und konfigurieren Sie Node.js und npm in Ubuntu, Debian oder Linux Mint

So installieren Sie Minecraft auf Ubuntu und Linux Mint

Halten oder verhindern Sie, dass ein Paket in Debian, Ubuntu aktualisiert wird

So installieren Sie Deb-Pakete in Ubuntu, Debian &Mint

So verhindern Sie, dass ein Paket in Ubuntu apt mit apt-mark aktualisiert wird

So deinstallieren Sie Programme von Ubuntu Linux

So installieren Sie Wine 5.0 unter Debian, Ubuntu und Linux Mint