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.
- zadrži - ta možnost se uporablja za označevanje paketa kot zadržanega, kar preprečuje namestitev, nadgradnjo ali odstranjevanje paketa.
- 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:
- a -> Arhiv
- c -> Komponenta
- o -> Izvor
- l -> Oznaka
- 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.