Pakettipäivitysten poistaminen käytöstä/lukitseminen tai musta listaus Apt Toolin avulla


APT tarkoittaa, että Advanced Packaging Tool on toinen paketinhallinta, joka löytyy Linux-pohjaisista järjestelmistä. Alun perin suunniteltu dpkg:n käyttöliittymäksi .deb-pakettien kanssa, ja apt on onnistunut näyttämään näkyvyyttään Mac OS:ssä, Open Solarisissa jne.

Jos haluat oppia ja hallita APT- ja DPKG-komentoja Debian-pakettien hallinnan hallintaan, käytä sitten perusteellisia artikkeleitamme, jotka kattavat yli 30+ > esimerkkejä molemmista työkaluista.

Tässä artikkelissa näemme erilaisia tekniikoita pakettien asennuksen, päivityksen ja poistamisen poistamiseksi/lukitsemiseksi Debian Linuxissa ja sen johdannaisissa, kuten Ubuntu ja Linux Mint.

1. Poista käytöstä/lukitse paketti käyttämällä 'apt-mark'-toimintoa Hold/Unhold-vaihtoehdolla

Komento apt-mark merkitsee ohjelmistopaketin automaattisesti asennetuksi tai poistaa sen merkinnän, ja sitä käytetään vaihtoehdon pidä tai unhold kanssa.

  1. pidä – tätä vaihtoehtoa käytetään paketin merkitsemiseen pidätetyksi, mikä estää paketin asennuksen, päivityksen tai poistamisen.
  2. Poista – tätä vaihtoehtoa käytetään paketin aiemmin asetetun lykkäyksen poistamiseen ja paketin asentamisen, päivityksen ja poistamisen sallimiseen.

Jos esimerkiksi haluat tehdä paketista, jossa lukee apache2, ei ole käytettävissä asennuksessa, päivityksessä tai asennuksen poistamisessa, voit käyttää seuraavaa komentoa päätteessä pääkäyttäjän oikeuksin:

apt-mark hold apache2

Saat tämän paketin päivitettäviksi korvaamalla "pidä" tilalla "unhold".

apt-mark unhold apache2

Pakettipäivitysten estäminen APT-asetustiedoston avulla

Toinen tapa estää tietyn paketin päivitykset on lisätä sen merkintä hakemistoon /etc/apt/preferences tai /etc/apt/preferences.d/official-package-repositories.pref tiedosto. Tämä tiedosto on vastuussa tiettyjen pakettipäivitysten päivittämisestä tai estämisestä käyttäjän määrittämän prioriteetin mukaan.

Jos haluat estää paketin, sinun tarvitsee vain kirjoittaa sen nimi, lisäominaisuus ja se, mihin prioriteettiin haluat viedä sen. Tässä prioriteetti < 1 estäisi paketin.

Jos haluat estää minkä tahansa paketin, kirjoita sen tiedot tiedostoon /etc/apt/preferences seuraavasti:

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

Jos haluat esimerkiksi estää paketin apache2 päivitykset, lisää merkintä kuvan mukaisesti:

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

Voimme käyttää muita vaihtoehtoja julkaisuavainsanan kanssa tunnistaaksemme tarkemmin paketin, johon käytämme Pin-prioriteettia. Nämä avainsanat ovat:

  1. a -> Arkistoi
  2. c -> Komponentti
  3. o -> Alkuperä
  4. l -> Etiketti
  5. n -> Arkkitehtuuri

Kuten :

Pin: release o=Debian,a=Experimental

Tarkoittaa mainitun paketin nostamista Debian-paketin kokeellisesta arkistosta.

Pakettipäivitykset mustalle listalle käyttämällä APT Autoremove -tiedostoa

Toinen tapa lisätä paketti asennuksen mustalle listalle on päivittää sen merkintä johonkin hakemiston /etc/apt/apt.conf.d/ tiedostoista, joka on 01autoremove.

Esimerkkitiedosto näkyy alla:

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

Jos haluat lisätä minkä tahansa paketin mustalle listalle, kirjoita sen nimi kohtaan Never-MarkAuto-Sections. Kirjoita vain paketin nimi Never-MarkAuto-Section-kohdan loppuun ja Tallenna ja sulje tiedosto. Tämä estäisi apt:n etsimästä paketin lisäpäivityksiä.

Jos haluat esimerkiksi lisätä paketin päivityksen mustalle listalle, lisää merkintä kuvan mukaisesti:

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

Mukautettu pakettivalinta päivitystä varten

Toinen vaihtoehto tälle on valita, mitä haluat päivittää. apt-työkalu antaa sinulle vapauden valita, mitä haluat päivittää, mutta tätä varten sinun tulee tietää, mitkä paketit ovat saatavilla päivitettäväksi.

Tällaisessa asiassa seuraavat komentosarjat voivat osoittautua hyödyllisiksi:

a. Listaa, mitkä paketit odottavat päivityksiä.

apt-get -u -V upgrade

b. Vain valikoitujen pakettien asentaminen.

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

Johtopäätös

Tässä artikkelissa olemme selittäneet muutamia tapoja poistaa/estää pakettien päivitykset tai lisätä ne mustalle listalle käyttämällä APT-tapaa. Jos tiedät jonkin muun suositellun tavan, kerro siitä meille kommenttien kautta tai jos etsit yum-komentoa paketin päivityksen poistamiseksi/lukitsemiseksi, lue sitten tämä alla oleva artikkeli.