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

So deaktivieren/sperren oder sperren Sie Paketaktualisierungen 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 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/Ubuntu

In 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 .

  1. halten – Diese Option wird verwendet, um ein Paket als zurückgehalten zu markieren, wodurch verhindert wird, dass das Paket installiert, aktualisiert oder entfernt wird.
  2. 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:

  1. ein -> Archiv
  2. c -> Komponente
  3. o -> Herkunft
  4. l -> Etikett
  5. 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
Linux
  1. 4 Möglichkeiten zum Deaktivieren/Sperren bestimmter Paketaktualisierungen mit dem Yum-Befehl

  2. Wie kann ich automatische KernelCare-Updates deaktivieren?

  3. So vergleichen Sie drei Dateien in Linux mit dem diff3-Tool

  4. Wie installiere ich eine Deb-Datei, von Dpkg -i oder von Apt?

  5. So deaktivieren Sie Ping-Antworten in Linux mit icmp_echo_ignore_all

So installieren Sie Pakete sicher mit Npm oder Yarn unter Linux

So sperren Sie eine Textdatei in Linux mit dem Befehl flock

So installieren Sie Systemupdates mit Webmin

So laden Sie Pakete mit APT herunter, ohne sie zu installieren

So deaktivieren Sie automatische Updates auf Ubuntu 20.04 LTS

So listen Sie installierte Pakete in Linux mithilfe der Paketverwaltung auf