APT bedeutet, dass Advanced Packaging Tool ein weiterer Paketmanager ist, der auf Linux-basierten Systemen zu finden ist. Ursprünglich als Frontend für dpkg konzipiert um mit .deb zu arbeiten Pakete, apt ist es gelungen, seine Sichtbarkeit auf Mac OS, Open Solaris usw. zu zeigen.
APT lernen und beherrschen möchten und DPKG Befehlen zum Verwalten der Debian-Paketverwaltung, dann verwenden Sie unsere ausführlichen Artikel, die mehr als 30+ abdecken Beispiele zu beiden Tools.
25 Nützliche APT-Befehle für die Debian/Ubuntu-Paketverwaltung15 Nützliche Dpkg-Befehle für die Paketverwaltung in Debian/UbuntuIn diesem Artikel sehen wir verschiedene Techniken zum Deaktivieren/Sperren von Paketen für die Installation, Aktualisierung und Entfernung in Debian Linux und seinen Derivaten wie Ubuntu und Linux Mint.
1. Paket deaktivieren/sperren mit „apt-mark“ mit Hold/Unhold-Option
Der Befehl apt-mark wird ein Softwarepaket als automatisch installiert markieren oder die Markierung aufheben und es wird mit der Option hold verwendet oder Halten aufheben .
- halten – Diese Option wird verwendet, um ein Paket als zurückgehalten zu markieren, wodurch verhindert wird, dass das Paket installiert, aktualisiert oder entfernt wird.
- Halten aufheben – Diese Option wird verwendet, um einen zuvor festgelegten Hold für ein Paket zu entfernen und das Installieren, Aktualisieren und Entfernen des Pakets zu ermöglichen.
Um beispielsweise ein Paket zu erstellen, sagen Sie apache2
für die Installation, Aktualisierung oder Deinstallation nicht verfügbar ist, können Sie den folgenden Befehl am Terminal mit Root-Rechten verwenden:
# apt-mark hold apache2
Um dieses Paket für die Aktualisierung verfügbar zu machen, ersetzen Sie einfach „hold“. “ mit „Nicht halten ‘.
# apt-mark unhold apache2
Blockieren von Paketaktualisierungen mithilfe der APT-Einstellungsdatei
Eine andere Möglichkeit, Aktualisierungen eines bestimmten Pakets zu blockieren, besteht darin, seinen Eintrag in /etc/apt/preferences
hinzuzufügen oder /etc/apt/preferences.d/official-package-repositories.pref
Datei. Diese Datei ist dafür verantwortlich, bestimmte Paketaktualisierungen gemäß der vom Benutzer festgelegten Priorität zu aktualisieren oder zu blockieren.
Um das Paket zu blockieren, müssen Sie nur den Namen, die zusätzliche Funktion und die gewünschte Priorität eingeben. Hier Priorität < 1
würde das Paket blockieren.
Um ein beliebiges Paket zu blockieren, geben Sie einfach seine Details in die Datei /etc/apt/preferences
ein so:
Package: <package-name> (Here, '*' means all packages) Pin: release * Pin-Priority: <less than 0>
Um beispielsweise Updates für das Paket apache2 zu blockieren, fügen Sie den Eintrag wie gezeigt hinzu:
Package: apache2 Pin: release o=Ubuntu Pin-Priority: 1
Wir können andere Optionen mit dem Release-Schlüsselwort verwenden, um das Paket, auf das wir die Pin-Priorität anwenden, weiter zu identifizieren. Diese Schlüsselwörter sind:
- ein -> Archiv
- c -> Komponente
- o -> Herkunft
- l -> Etikett
- n -> Architektur
wie:
Pin: release o=Debian,a=Experimental
Würde bedeuten, das angegebene Paket aus dem experimentellen Archiv des Debian-Pakets zu ziehen.
Eine Paketaktualisierung mit der APT-Datei zum automatischen Entfernen auf die schwarze Liste setzen
Eine andere Möglichkeit, ein Paket von der Installation auf die schwarze Liste zu setzen, besteht darin, seinen Eintrag in einer der Dateien zu aktualisieren, die in /etc/apt/apt.conf.d/
enthalten sind Verzeichnis, das 01autoremove ist .
Beispieldatei ist unten gezeigt:
APT { NeverAutoRemove { "^firmware-linux.*"; "^linux-firmware$"; }; VersionedKernelPackages { # linux kernels "linux-image"; "linux-headers"; "linux-image-extra"; "linux-signed-image"; # kfreebsd kernels "kfreebsd-image"; "kfreebsd-headers"; # hurd kernels "gnumach-image"; # (out-of-tree) modules ".*-modules"; ".*-kernel"; "linux-backports-modules-.*"; # tools "linux-tools"; }; Never-MarkAuto-Sections { "metapackages"; "restricted/metapackages"; "universe/metapackages"; "multiverse/metapackages"; "oldlibs"; "restricted/oldlibs"; "universe/oldlibs"; "multiverse/oldlibs"; }; };
Um nun ein beliebiges Paket auf die schwarze Liste zu setzen, müssen Sie nur noch seinen Namen in Never-MarkAuto-Sections
eingeben . Geben Sie einfach den Namen des Pakets am Ende in Never-MarkAuto-Section
ein und Speichern und schließen Sie die Datei. Dies würde apt daran hindern, nach weiteren Aktualisierungen dieses Pakets zu suchen.
Um beispielsweise ein Paket von der Aktualisierung auszuschließen, fügen Sie den Eintrag wie gezeigt hinzu:
Never-MarkAuto-Sections { "metapackages"; "restricted/metapackages"; "universe/metapackages"; "multiverse/metapackages"; "oldlibs"; "restricted/oldlibs"; "universe/oldlibs"; "multiverse/oldlibs"; "apache2*"; }; };
Benutzerdefinierte Paketauswahl für Update
Eine andere Alternative besteht darin, auszuwählen, was Sie aktualisieren möchten. Die passende Das Tool gibt Ihnen die Freiheit zu wählen, was Sie aktualisieren möchten, aber dafür sollten Sie wissen, welche Pakete für Upgrades verfügbar sind.
Für so etwas kann sich folgender Befehlssatz als hilfreich erweisen:
a. Listet auf, für welche Pakete Updates anstehen.
# apt-get -u -V upgrade
b. Um nur ausgewählte Pakete zu installieren.
# apt-get --only-upgrade install <package-name>
Schlussfolgerung
In diesem Artikel haben wir einige Möglichkeiten erklärt, Paketaktualisierungen mit APT zu deaktivieren/blockieren oder auf die schwarze Liste zu setzen. Wenn Sie einen anderen bevorzugten Weg kennen, teilen Sie uns dies über die Kommentare mit oder wenn Sie nach dem Befehl yum zum Deaktivieren/Sperren der Paketaktualisierung suchen, lesen Sie dann den folgenden Artikel.
Paketaktualisierungen mit Yum in CentOS/RHEL deaktivieren/sperren