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.
- hold - denne mulighed bruges til at markere en pakke som tilbageholdt, hvilket blokerer for pakken fra at blive installeret, opgraderet eller fjernet.
- 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:
- a -> Arkiv
- c -> Komponent
- o -> Oprindelse
- l -> Etiket
- 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.