Sådan deaktiveres/låses eller sortlistes pakkeopdateringer ved hjælp af Apt Tool


APT betyder, at Advanced Packaging Tool er en anden pakkehåndtering, der findes på Linux-baserede systemer. Oprindeligt designet som en front-end for dpkg til at arbejde med .deb-pakker, er apt lykkedes at vise sin synlighed på Mac OS, Open Solaris osv.

Vil du lære og mestre om APT- og DPKG-kommandoer til at styre Debian-pakkehåndtering, så brug vores dybtgående artikler, der dækker mere end 30+ eksempler på begge værktøjer.

I denne artikel vil vi se forskellige teknikker til at deaktivere/låse pakke fra installation, opgradering og fjernelse i Debian Linux og dets derivater såsom Ubuntu og Linux Mint.

1. Deaktiver/lås pakke ved hjælp af 'apt-mark' med hold/unhold-valgmulighed

Kommandoen apt-mark vil markere eller fjerne markeringen af en softwarepakke som automatisk installeret, og den bruges med valgmulighed hold eller nede.

  1. hold - denne mulighed bruges til at markere en pakke som tilbageholdt, hvilket blokerer for pakken fra at blive installeret, opgraderet eller fjernet.
  2. fjern - denne mulighed bruges til at fjerne et tidligere indstillet hold på en pakke og tillade at installere, opgradere og fjerne pakken.

For eksempel, for at få en pakke til at sige apache2 utilgængelig til installation, opgradering eller afinstallation, kan du bruge følgende kommando på terminalen med root-rettigheder:

# apt-mark hold apache2

For at gøre denne pakke tilgængelig til opdatering skal du bare erstatte 'hold' med 'unhold'.

# apt-mark unhold apache2

Blokering af pakkeopdateringer ved hjælp af APT-indstillingsfil

En anden måde at blokere opdateringer af en bestemt pakke på er at tilføje dens post i /etc/apt/præferencer eller /etc/apt/preferences.d/official-package-repositories.pref fil. Denne fil har ansvaret for at opdatere eller blokere visse pakkeopdateringer i henhold til den prioritet, der er angivet af brugeren.

For at blokere pakken skal du bare indtaste dens navn, yderligere funktion og hvilken prioritet du vil tage den til. Her vil prioritet <1 blokere pakken.

For at blokere enhver pakke skal du bare indtaste dens detaljer i filen /etc/apt/præferencer som denne:

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

For eksempel for at blokere opdateringer til pakke apache2 tilføj posten som vist:

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

Vi kan bruge andre muligheder med frigivelsesnøgleord for yderligere at identificere den pakke, som vi anvender Pin Priority på. Disse nøgleord er:

  1. a -> Arkiv
  2. c -> Komponent
  3. o -> Oprindelse
  4. l -> Etiket
  5. n -> Arkitektur

synes godt om:

Pin: release o=Debian,a=Experimental

Ville betyde at trække den angivne pakke fra Debian-pakkeeksperimentelle arkiv.

Sortliste en pakkeopdatering ved hjælp af APT Autoremove File

En anden måde at sortliste en pakke fra installationen er at opdatere dens post i en af filerne i /etc/apt/apt.conf.d/ -mappen, der er 01autoremove.

Eksempelfil vises nedenfor:

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

For at sortliste enhver pakke skal du bare indtaste navnet i Never-MarkAuto-Sections . Indtast bare navnet på pakken i slutningen i Never-MarkAuto-Section , og gem og luk filen. Dette vil blokere apt til at søge efter yderligere opdateringer af den pakke.

For eksempel for at sortliste en pakke fra opdatering skal du tilføje posten som vist:

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

Valg af tilpasset pakke til opdatering

Et andet alternativ til dette er at vælge, hvad du vil opdatere. Apt-værktøjet giver dig frihed til at vælge, hvad du vil opdatere, men til dette skal du have viden om, hvad alle pakker er tilgængelige til opgradering.

For sådan en ting kan følgende sæt kommandoer vise sig at være nyttige:

en. For at liste, hvilke pakker der er opdateringer afventende.

# apt-get -u -V upgrade

b. For kun at installere selektive pakker.

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

Konklusion

I denne artikel har vi forklaret få måder at deaktivere/blokere eller sortliste pakkeopdateringer ved hjælp af APT-måde. Hvis du kender en anden foretrukken måde, så lad os det vide via kommentarer, eller hvis du ledte efter yum-kommando for at deaktivere/låse pakkeopdatering, så læs denne nedenstående artikel.