Pakettipäivitysten poistaminen käytöstä/lukitseminen tai mustalle listalle käyttäminen Apt-työkalulla


APT tarkoittaa Advanced Packaging Tool -ohjelmaa, joka on toinen Linux-pohjaisista järjestelmistä löydetty paketinhallintaohjelma. Alun perin suunniteltu käyttöliittymäksi dpkg: lle .deb-pakettien kanssa, apt on onnistunut osoittamaan näkyvyytensä Mac OS: ssä, Open Solarisissa jne.

Haluatko oppia ja hallita APT- ja DPKG-komentoja Debianin paketinhallinnan hallitsemiseksi, käytä sitten perusteellisia artikkeleitamme, jotka kattavat yli 30 esimerkkiä molemmista työkaluista.

Tässä artikkelissa näemme erilaisia tekniikoita paketin asentamisen, päivittämisen ja poistamisen estämiseksi/lukitsemiseksi Debian Linuxissa ja sen johdannaisissa, kuten Ubuntu ja Linux Mint.

1. Poista/lukitse paketti käyttämällä ”apt-mark” -näppäintä pitämällä/poista -vaihtoehdolla

Komento apt-mark merkitsee ohjelmistopaketin automaattisen asennuksen tai poistaa sen merkinnän, ja sitä käytetään vaihtoehdon pito tai pidättäminen kanssa.

  1. pidä - tämä vaihtoehto merkitsee paketin pidätetyksi, mikä estää paketin asentamisen, päivittämisen tai poistamisen.
  2. pidättämättä - tätä vaihtoehtoa käytetään poistamaan aiemmin asetettu paketin pidätys ja sallimaan paketin asentaminen, päivittäminen ja poistaminen.

Esimerkiksi jos haluat paketin sanoa, että apache2 ei ole käytettävissä asennusta, päivittämistä tai asennuksen poistamista varten, voit käyttää terminaalissa seuraavaa komentoa root-oikeuksilla:

# apt-mark hold apache2

Jotta tämä paketti olisi saatavana päivitettäväksi, korvaa vain "hold" sanalla "unhold".

# apt-mark unhold apache2

Pakettipäivitysten estäminen APT-asetustiedoston avulla

Toinen tapa estää tietyn paketin päivitykset on lisätä sen merkintä kohtaan /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äärittelemän prioriteetin mukaan.

Paketin estämiseksi sinun on vain annettava sen nimi, lisäominaisuus ja prioriteetti, johon haluat ottaa 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>

Voit esimerkiksi estää paketin apache2 päivitykset lisäämällä merkinnän kuvan osoittamalla tavalla:

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

Voimme käyttää muita avainsanavaihtoehtoja tunnistamaan tarkemmin paketin, johon käytämme Pin-prioriteettia. Nämä avainsanat ovat:

  1. a -> Arkistoi
  2. c -> komponentti
  3. o -> alkuperä
  4. l -> Tunniste
  5. n -> arkkitehtuuri

Kuten:

Pin: release o=Debian,a=Experimental

Tarkoittaisi ilmoitetun paketin vetämistä Debian-paketin kokeellisesta arkistosta.

Mustalle listalle pakettipäivitys APT Autoremove File -sovelluksella

Toinen tapa paketin mustalle listalle asennuksesta on päivittää sen merkintä tiedostoon, joka on hakemistossa /etc/apt/apt.conf.d/ , 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ä paketin mustalle listalle, sinun on vain syötettävä sen nimi kohtaan Never-MarkAuto-Sections . Kirjoita vain paketin nimi kohtaan Never-MarkAuto-Section ja Tallenna ja sulje tiedosto. Tämä estäisi apt: n etsimään paketin muita päivityksiä.

Voit esimerkiksi lisätä paketin mustalle listalle päivityksestä seuraavasti:

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 päivitettävä. Apt-työkalu antaa sinulle vapauden valita päivitettävät, mutta tätä varten sinulla on oltava tieto siitä, mitä kaikkia paketteja on saatavana päivitykseen.

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

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

# apt-get -u -V upgrade

b. Asentaa vain valikoivia paketteja.

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

Johtopäätös

Tässä artikkelissa olemme selittäneet muutamia tapoja poistaa/estää tai mustalle listalle pakettipäivitykset APT-tavalla. Jos tiedät jotain muuta suositeltavaa tapaa, ilmoita siitä meille kommenttien kautta tai jos etsit yum-komentoa paketin päivityksen poistamiseksi käytöstä/lukitsemisesta, lue tämä alla oleva artikkeli.