Kako onemogućiti/zaključati ili staviti na crnu listu ažuriranja paketa pomoću alata Apt


APT znači da je napredni alat za pakiranje još jedan upravitelj paketa koji se nalazi na sustavima temeljenim na Linuxu. U početku dizajniran kao front-end za dpkg za rad s .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 upravljanjem paketima Debiana, tada koristite naše detaljne članke koji će pokriti više od 30+ primjeri na oba alata.

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

1. Onemogući/zaključaj paket pomoću 'apt-mark' s opcijom zadržavanja/oduzimanja

Naredba apt-mark će označiti ili ukloniti oznaku softverskog paketa kao automatski instaliranog i koristi se s opcijom zadrži ili otkaži.

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

Na primjer, da biste učinili paket recimo apache2 nedostupnim za instalaciju, nadogradnju ili deinstalaciju, možete koristiti sljedeću naredbu na terminalu s root privilegijama:

apt-mark hold apache2

Da biste ovaj paket učinili dostupnim za ažuriranje, samo zamijenite 'zadrži' s 'otkaži'.

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 datoteka. Ova datoteka je odgovorna za ažuriranje ili blokiranje određenih ažuriranja paketa prema prioritetu koji odredi korisnik.

Da biste blokirali paket, samo trebate unijeti njegov naziv, dodatnu značajku i prioritet kojem ga želite staviti. Ovdje bi prioritet < 1 blokirao paket.

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

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

Na primjer, za blokiranje 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 s 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 -> Podrijetlo
  4. l -> Naljepnica
  5. n -> Arhitektura

Kao :

Pin: release o=Debian,a=Experimental

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

Stavi na crnu listu ažuriranje paketa 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 sadržanih u direktoriju /etc/apt/apt.conf.d/ koji je 01autoremove.

Uzorak datoteke prikazan je u nastavku:

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 bilo kojeg paketa na crnu listu, samo trebate unijeti njegovo ime u Never-MarkAuto-Sections. Samo unesite naziv paketa na kraju u Never-MarkAuto-Section i spremite i zatvorite datoteku. To 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 to je da odaberete što želite ažurirati. Alat apt daje vam slobodu odabira onoga što želite ažurirati, ali za to trebate znati koji su sve paketi dostupni za nadogradnju.

Za takvo što, 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. Za instaliranje samo odabranih paketa.

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

Zaključak

U ovom smo članku objasnili nekoliko načina za onemogućavanje/blokiranje ili crnu listu ažuriranja paketa pomoću APT načina. Ako znate neki drugi preferirani način, javite nam putem komentara ili ako ste tražili naredbu yum za onemogućavanje/zaključavanje ažuriranja paketa, pročitajte ovaj članak u nastavku.