Wéi auszeschalten/Spär oder Blacklist Package Updates mat Apt Tool


APT heescht Advanced Packaging Tool ass en anere Package Manager deen op Linux baséiert Systemer fonnt gëtt. Am Ufank entworf als Front-End fir dpkg fir mat .deb Packagen ze schaffen, apt huet et fäerdeg bruecht seng Visibilitéit op Mac OS, Open Solaris etc.

Wëllt Dir iwwer APT an DPKG Kommandoen léieren a beherrschen fir Debian Package Gestioun ze managen, benotzt dann eis déif Artikelen déi méi wéi 30+ Beispiller op béid Tools ofdecken.

An dësem Artikel wäerte mir verschidde Techniken gesinn fir de Package auszeschalten/ze spären vun der Installatioun, Upgrade an ewechzehuelen an Debian Linux a seng Derivate wéi Ubuntu a Linux Mint.

1. Desaktivéieren/Spär Package Benotzt 'apt-mark' mat Hold/Unhold Optioun

De Kommando apt-mark markéiert oder demarkéiert e Softwarepaket als automatesch installéiert an et gëtt mat der Optioun Hold oder Unhold benotzt.

  1. halt - dës Optioun gëtt benotzt fir e Package als zréckgehalen ze markéieren, wat blockéiert datt de Package installéiert, Upgrade oder ewechgeholl gëtt.
  2. unhold - dës Optioun gëtt benotzt fir e virdru festgeluegten Hold op e Package ze läschen an et z'installéieren, Upgrade an ewechzehuelen Package.

Zum Beispill, fir e Package ze soen apache2 net verfügbar fir Installatioun, Upgradatioun oder Uninstall, kënnt Dir de folgende Kommando um Terminal mat Root Privilegien benotzen:

# apt-mark hold apache2

Fir dëse Package fir d'Aktualiséierung verfügbar ze maachen, ersetzt just 'hold' mat 'unhold'.

# apt-mark unhold apache2

Blockéiert Package Updates Mat APT Preferences Datei

Eng aner Manéier fir Updates vun engem spezifesche Package ze blockéieren ass seng Entrée an /etc/apt/preferences oder /etc/apt/preferences.d/official-package-repositories.pref Datei. Dëse Fichier hält d'Verantwortung fir d'Aktualiséierung oder d'Blockéierung vu bestëmmte Packageupdates no der Prioritéit, déi vum Benotzer uginn ass.

Fir de Package ze blockéieren, musst Dir just säin Numm, zousätzlech Feature aginn, a wéi eng Prioritéit Dir et wëllt huelen. Hei géif d'Prioritéit < 1 de Package blockéieren.

Fir all Package ze blockéieren, gitt just seng Detailer an de Fichier /etc/apt/preferences esou:

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

Zum Beispill fir d'Aktualiséierunge fir de Package apache2 ze blockéieren, füügt d'Entrée un wéi gewisen:

Package: apache2
Pin: release o=Ubuntu
Pin-Priority: 1

Mir kënnen aner Optiounen mat Release Schlësselwuert benotze fir de Package weider z'identifizéieren op deem mir d'Pin Prioritéit applizéieren. Dës Schlësselwieder sinn:

  1. a -> Archiv
  2. c -> Komponent
  3. o -> Origin
  4. l -> Label
  5. n -> Architektur

wéi:

Pin: release o=Debian,a=Experimental

Géif heeschen de uginnene Package aus dem Debian Package experimentellen Archiv ze zéien.

Blacklist e Package Update mat APT Autoremove Datei

Eng aner Manéier fir e Package aus der Installatioun op d'Schwaarzlëscht ze setzen ass seng Entrée an engem vun de Dateien am /etc/apt/apt.conf.d/ Verzeichnis ze aktualiséieren, deen 01autoremove ass.

Sample Datei gëtt hei ënnen gewisen:

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";
  };
};

Elo, fir all Package op der schwaarzer Lëscht ze setzen, musst Dir just säin Numm an Never-MarkAuto-Sections aginn. Gitt einfach den Numm vum Package um Enn an Never-MarkAuto-Section a späicheren an zou der Datei. Dëst géif apt blockéieren fir no weider Updates vun deem Package ze sichen.

Zum Beispill, fir e Package op der schwaarzer Lëscht ze aktualiséieren, füügt d'Entrée un wéi gewisen:

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

Benotzerdefinéiert Package Auswiel fir Update

Eng aner Alternativ fir dëst ass ze wielen wat Dir wëllt aktualiséieren. Den apt Tool gëtt Iech d'Fräiheet fir ze wielen wat Dir wëllt aktualiséieren, awer fir dëst sollt Dir Wëssen iwwer wat all Packagen fir Upgradatioun verfügbar sinn.

Fir sou eng Saach, kann de folgende Set vu Befehle hëllefräich beweisen:

a. Fir ze lëschten wéi eng Packagen Updates erwaard hunn.

# apt-get -u -V upgrade

b. Fir nëmmen selektiv Packagen z'installéieren.

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

Conclusioun

An dësem Artikel hu mir e puer Weeër erkläert fir Packageupdates auszeschalten/ze blockéieren oder ze schwarzelëschten mat APT Manéier. Wann Dir eng aner bevorzugt Manéier kennt, loosst eis iwwer Kommentaren wëssen oder wann Dir no yum Kommando gesicht hutt fir de Package Update auszeschalten/ze spären, da liest dësen Artikel hei ënnen.