Kako onemogućiti/zaključati ili ažurirati pakete na crnoj listi pomoću alata Apt


APT znači Advanced Packaging Tool je još jedan menadžer paketa koji se nalazi na Linux sistemima. Prvobitno dizajniran kao front-end za dpkg za rad sa .deb paketima, apt je uspio pokazati svoju vidljivost na Mac OS-u, Open Solarisu itd.

Želite naučiti i savladati naredbe APT i DPKG za upravljanje Debian paketima, a zatim koristite naše detaljne članke koji će pokriti više od 30+ > primjeri za oba alata.

U ovom članku ćemo vidjeti različite tehnike za onemogućavanje/zaključavanje paketa od instalacije, nadogradnje i uklanjanja u Debian Linuxu i njegovim derivatima kao što su Ubuntu i Linux Mint.

1. Onemogućite/Zaključajte paket koristeći „apt-mark“ s opcijom zadržavanja/odsustva

Komanda apt-mark će označiti ili poništiti oznaku softverskog paketa kao automatski instaliranog i koristi se sa opcijom hold ili unhold.

  1. drži – ova opcija se koristi za označavanje paketa kao zadržanog, što će blokirati instaliranje, nadogradnju ili uklanjanje paketa.
  2. unhold – ova opcija se koristi za uklanjanje prethodno postavljenog čekanja na paket i omogućavanje instaliranja, nadogradnje i uklanjanja paketa.

Na primjer, da paket kaže apache2 nedostupan za instalaciju, nadogradnju ili deinstalaciju, možete koristiti sljedeću naredbu na terminalu s root privilegijama:

apt-mark hold apache2

Da bi ovaj paket bio dostupan za ažuriranje, samo zamijenite „hold“ sa „unhold“.

apt-mark unhold apache2

Blokiranje ažuriranja paketa pomoću APT datoteke postavki

Drugi način blokiranja ažuriranja određenog paketa je dodavanje njegovog unosa u /etc/apt/preferences ili /etc/apt/preferences.d/official-package-repositories.pref fajl. Ova datoteka snosi odgovornost za ažuriranje ili blokiranje određenih ažuriranja paketa prema prioritetu koji je odredio korisnik.

Da biste blokirali paket, potrebno je samo da unesete njegovo ime, dodatnu funkciju i na koji prioritet želite da ga postavite. Ovdje bi prioritet < 1 blokirao paket.

Za blokiranje bilo kojeg paketa, samo unesite njegove detalje u datoteku /etc/apt/preferences ovako:

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

Na primjer da blokirate ažuriranja za paket apache2 dodajte unos kao što je prikazano:

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

Možemo koristiti druge opcije sa ključnom riječi release za daljnju identifikaciju paketa na koji primjenjujemo Pin Priority. Te ključne riječi su:

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

kao:

Pin: release o=Debian,a=Experimental

To bi značilo povući navedeni paket iz eksperimentalne arhive Debian paketa.

Ažuriranje paketa na crnu listu pomoću APT datoteke za automatsko uklanjanje

Drugi način stavljanja paketa na crnu listu iz instalacije je ažuriranje njegovog unosa u jednoj od datoteka koje se nalaze u /etc/apt/apt.conf.d/ direktoriju koji je 01autoremove.

Uzorak fajla je prikazan ispod:

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

Sada, za stavljanje na crnu listu bilo kojeg paketa, samo trebate unijeti njegovo ime u Never-MarkAuto-Sections. Samo unesite naziv paketa na kraju u Never-MarkAuto-Section i sačuvajte i zatvorite datoteku. Ovo bi blokiralo apt za traženje daljnjih ažuriranja tog paketa.

Na primjer, za crnu listu paketa od ažuriranja dodajte unos kao što je prikazano:

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

Odabir prilagođenog paketa za ažuriranje

Druga alternativa za ovo je da odaberete šta želite da ažurirate. Alat apt daje vam slobodu da odaberete šta želite ažurirati, ali za to trebate znati koji su sve paketi dostupni za nadogradnju.

Za takvu stvar, sljedeći skup naredbi može se pokazati korisnim:

a. Za popis koji paketi imaju ažuriranja na čekanju.

apt-get -u -V upgrade

b. Da instalirate samo selektivne pakete.

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

Zaključak

U ovom članku smo objasnili nekoliko načina za onemogućavanje/blokiranje ili crnu listu ažuriranja paketa koristeći APT način. Ako znate bilo koji drugi preferirani način, obavijestite nas putem komentara ili ako tražite naredbu yum za onemogućavanje/zaključavanje ažuriranja paketa, pročitajte ovaj članak ispod.