Kako onemogočiti/zakleniti ali posodobiti paket na črnem seznamu z orodjem Apt


APT pomeni Advanced Packaging Tool je še en upravitelj paketov, ki ga najdemo v sistemih, ki temeljijo na Linuxu. Prvotno zasnovan kot prednji del za dpkg za delo s .deb paketi, je apt uspel pokazati svojo vidnost v Mac OS, Open Solaris itd.

Želite izvedeti in obvladati ukaze APT in DPKG za upravljanje upravljanja paketov Debian, nato pa uporabite naše poglobljene članke, ki bodo zajeli več kot 30 primerov obeh orodij.

V tem članku bomo videli različne tehnike za onemogočanje/zaklepanje paketa za namestitev, nadgradnjo in odstranjevanje v Debianu Linux in njegovih izpeljankah, kot sta Ubuntu in Linux Mint.

1. Onemogoči/zakleni paket z uporabo možnosti »apt-mark« z možnostjo zadržanja/zadrževanja

Ukaz apt-mark bo programski paket označil ali odznačil kot samodejno nameščen in se uporablja z zadržanjem ali odvzemom možnosti.

  1. zadrži - ta možnost se uporablja za označevanje paketa kot zadržanega, kar preprečuje namestitev, nadgradnjo ali odstranjevanje paketa.
  2. unhold - ta možnost se uporablja za odstranjevanje predhodno nastavljenega zadrževanja paketa in za namestitev, nadgradnjo in odstranjevanje paketa.

Na primer, če želite, da paket pravi, da apache2 ni na voljo za namestitev, nadgradnjo ali odstranitev, lahko v terminalu uporabite naslednji ukaz s korenskimi privilegiji:

# apt-mark hold apache2

Če želite, da je ta paket na voljo za posodobitev, zamenjajte "hold" z "unhold".

# apt-mark unhold apache2

Blokiranje posodobitev paketov z datoteko nastavitev APT

Drug način za blokiranje posodobitev določenega paketa je dodati njegov vnos v /etc/apt/preferences ali /etc/apt/preferences.d/official-package-repositories.pref datoteka. Ta datoteka je odgovorna za posodabljanje ali blokiranje nekaterih posodobitev paketov glede na prednost, ki jo določi uporabnik.

Če želite paket blokirati, morate samo vnesti njegovo ime, dodatno funkcijo in prednostno nalogo, na katero želite. Tu bi prednost blokirala paket <1 .

Če želite blokirati kateri koli paket, preprosto vnesite njegove podatke v datoteko /etc/apt/preferences , kot je ta:

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

Če želite na primer blokirati posodobitve za paket apache2, dodajte vnos, kot je prikazano:

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

Za nadaljnje prepoznavanje paketa, na katerem uporabljamo prednostno prioriteto, lahko uporabimo druge možnosti s ključno besedo sprostitev. Te ključne besede so:

  1. a -> Arhiv
  2. c -> Komponenta
  3. o -> Izvor
  4. l -> Oznaka
  5. n -> Arhitektura

kot:

Pin: release o=Debian,a=Experimental

To bi pomenilo, da navedeni paket povlečete iz eksperimentalnega arhiva paketov Debian.

Na črni seznam posodobitve paketa uporabite datoteko APT Autoremove

Drug način za namestitev paketa na črni seznam je posodobitev vnosa v eno od datotek v imeniku /etc/apt/apt.conf.d/ , ki je 01autoremove.

Vzorčna datoteka je prikazana spodaj:

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

Zdaj, če želite kateri koli paket dodati na črni seznam, samo vnesite njegovo ime v Never-MarkAuto-Sections . Preprosto vnesite ime paketa na koncu v Never-MarkAuto-Section in shranite in zaprite datoteko. To bi onemogočilo apt za iskanje nadaljnjih posodobitev tega paketa.

Če želite na primer dodati paket na črno listo, ki ga želite posodobiti, dodajte vnos, kot je prikazano:

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

Izbira paketa po meri za posodobitev

Druga možnost za to je, da izberete, kaj želite posodobiti. Orodje apt vam omogoča svobodo pri izbiri, kaj želite posodobiti, vendar morate za to imeti znanje o tem, kateri paketi so na voljo za nadgradnjo.

Za kaj takega se lahko izkaže naslednji sklop ukazov:

a. Če želite našteti, kateri paketi imajo posodobitve v teku.

# apt-get -u -V upgrade

b. Namestiti samo selektivne pakete.

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

Zaključek

V tem članku smo razložili nekaj načinov za onemogočanje/blokiranje ali blokiranje posodobitev paketov s pomočjo načina APT. Če poznate še kakšen najprimernejši način, nam to sporočite s komentarji ali če ste iskali yum ukaz za onemogočanje/zaklepanje posodobitve paketa, preberite spodnji članek.