Website-Suche

So deaktivieren/sperren Sie Paketaktualisierungen oder setzen sie auf die schwarze Liste mit dem Apt Tool


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-Paketen zu arbeiten, ist es apt gelungen, seine Sichtbarkeit auf Mac OS, Open Solaris usw. zu zeigen.

Möchten Sie mehr über APT- und DPKG-Befehle zur Verwaltung der Debian-Paketverwaltung erfahren und beherrschen, dann nutzen Sie unsere ausführlichen Artikel, die mehr als 30 abdecken > Beispiele zu beiden Tools.

In diesem Artikel werden 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 sehen.

1. Deaktivieren/Sperren des Pakets mit „apt-mark“ mit Hold/Unhold-Option

Der Befehl apt-mark markiert oder hebt die Markierung eines Softwarepakets als automatisch installiert auf und wird mit der Option hold oder unhold verwendet.

  1. Halten – Mit dieser Option wird ein Paket als zurückgehalten markiert, wodurch die Installation, Aktualisierung oder Entfernung des Pakets blockiert wird.
  2. unhold – Diese Option wird verwendet, um eine zuvor gesetzte Sperre für ein Paket aufzuheben und die Installation, Aktualisierung und Entfernung des Pakets zu ermöglichen.

Um beispielsweise ein Paket namens apache2 für die Installation, Aktualisierung oder Deinstallation nicht verfügbar zu machen, 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“ durch „unhold“.

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 oder /etc/apt/preferences.d/official-package-repositories.pref hinzuzufügen. Datei. Diese Datei ist dafür verantwortlich, bestimmte Paketaktualisierungen entsprechend der vom Benutzer angegebenen Priorität zu aktualisieren oder zu blockieren.

Um das Paket zu blockieren, müssen Sie lediglich seinen Namen, zusätzliche Funktionen und die gewünschte Priorität eingeben. Hier würde die Priorität <1 das Paket blockieren.

Um ein Paket zu blockieren, geben Sie einfach seine Details wie folgt in die Datei /etc/apt/preferences ein:

Package: <package-name> (Here, '*' means all packages)
Pin: release *
Pin-Priority: <less than 0>

Um beispielsweise Aktualisierungen 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 Schlüsselwort „release“ verwenden, um das Paket, auf das wir die Pin-Priorität anwenden, weiter zu identifizieren. Diese Schlüsselwörter sind:

  1. a -> Archiv
  2. c -> Komponente
  3. o -> Ursprung
  4. l -> Beschriftung
  5. n -> Architektur

wie :

Pin: release o=Debian,a=Experimental

Würde bedeuten, das angegebene Paket aus dem experimentellen Debian-Paketarchiv abzurufen.

Setzen Sie ein Paket-Update mit APT Autoremove File auf die schwarze Liste

Eine andere Möglichkeit, ein Paket von der Installation auf die schwarze Liste zu setzen, besteht darin, seinen Eintrag in einer der Dateien im Verzeichnis /etc/apt/apt.conf.d/ zu aktualisieren, nämlich 01autoremove.

Beispieldatei wird unten angezeigt:

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 Paket auf die schwarze Liste zu setzen, müssen Sie nur noch seinen Namen in Never-MarkAuto-Sections eingeben. Geben Sie einfach am Ende den Namen des Pakets in Never-MarkAuto-Section ein und speichern und schließen Sie die Datei. Dies würde apt daran hindern, nach weiteren Updates dieses Pakets zu suchen.

Um beispielsweise ein Paket für die Aktualisierung auf die schwarze Liste zu setzen, fügen Sie den Eintrag wie folgt hinzu:

Never-MarkAuto-Sections
  {
        "metapackages";
        "restricted/metapackages";
        "universe/metapackages";
        "multiverse/metapackages";
        "oldlibs";
        "restricted/oldlibs";
        "universe/oldlibs";
        "multiverse/oldlibs";
        "apache2*";
  };
};

Benutzerdefinierte Paketauswahl für das Update

Eine andere Alternative hierfür besteht darin, auszuwählen, was Sie aktualisieren möchten. Mit dem apt-Tool haben Sie die Freiheit zu wählen, was Sie aktualisieren möchten. Dazu sollten Sie jedoch wissen, welche Pakete für die Aktualisierung verfügbar sind.

Für so etwas kann sich der folgende Befehlssatz als hilfreich erweisen:

a. Um aufzulisten, für welche Pakete Aktualisierungen ausstehen.

apt-get -u -V upgrade

b. Um nur ausgewählte Pakete zu installieren.

apt-get --only-upgrade install <package-name>

Abschluss

In diesem Artikel haben wir einige Möglichkeiten erklärt, Paketaktualisierungen mithilfe der APT-Methode zu deaktivieren/blockieren oder auf die schwarze Liste zu setzen. Wenn Sie einen anderen bevorzugten Weg kennen, lassen Sie es uns in den Kommentaren wissen oder wenn Sie nach einem YUM-Befehl zum Deaktivieren/Sperren von Paketaktualisierungen suchen, dann lesen Sie den folgenden Artikel.