Com desactivar/bloquejar o actualitzacions de paquets a la llista negra mitjançant l'eina Apt
APT significa Advanced Packaging Tool és un altre gestor de paquets que es troba als sistemes basats en Linux. Dissenyat inicialment com a interfície per a dpkg per treballar amb paquets .deb, apt ha aconseguit mostrar la seva visibilitat a Mac OS, Open Solaris, etc.
Voleu aprendre i dominar les ordres APT i DPKG per gestionar la gestió de paquets de Debian i, a continuació, utilitzeu els nostres articles en profunditat que inclouran més de 30 exemples sobre ambdues eines.
En aquest article veurem diverses tècniques per desactivar/bloquejar el paquet d'instal·lar, actualitzar i eliminar a Debian Linux i els seus derivats com Ubuntu i Linux Mint.
1. Desactivar/Bloquejar el paquet utilitzant 'apt-mark' amb l'opció de retenció/desactivació
L'ordre apt-mark marcarà o desmarcarà un paquet de programari com a instal·lat automàticament i s'utilitza amb l'opció hold o unhold.
- Retenir: aquesta opció s'utilitza per marcar un paquet com a retingut, cosa que bloquejarà la instal·lació, l'actualització o l'eliminació del paquet.
- unhold: aquesta opció s'utilitza per eliminar una retenció establerta prèviament en un paquet i permet instal·lar, actualitzar i eliminar el paquet.
Per exemple, per fer que un paquet digui que apache2
no estigui disponible per a la instal·lació, l'actualització o la desinstal·lació, podeu utilitzar l'ordre següent al terminal amb privilegis d'arrel:
# apt-mark hold apache2
Per fer que aquest paquet estigui disponible per a l'actualització, només cal que substituïu hold per unhold.
# apt-mark unhold apache2
Bloqueig d'actualitzacions de paquets mitjançant el fitxer de preferències APT
Una altra manera de bloquejar les actualitzacions d'un paquet específic és afegir la seva entrada a /etc/apt/preferences
o /etc/apt/preferences.d/official-package-repositories.pref
codi> fitxer. Aquest fitxer té la responsabilitat d'actualitzar o bloquejar determinades actualitzacions de paquets segons la prioritat especificada per l'usuari.
Per bloquejar el paquet, només cal que introduïu el seu nom, la funció addicional i a quina prioritat voleu portar-lo. Aquí, la prioritat < 1
bloquejaria el paquet.
Per bloquejar qualsevol paquet, només cal que introduïu els seus detalls al fitxer /etc/apt/preferences
com aquest:
Package: <package-name> (Here, '*' means all packages) Pin: release * Pin-Priority: <less than 0>
Per exemple, per bloquejar les actualitzacions del paquet apache2, afegiu l'entrada tal com es mostra:
Package: apache2 Pin: release o=Ubuntu Pin-Priority: 1
Podem utilitzar altres opcions amb la paraula clau de llançament per identificar més el paquet al qual estem aplicant la prioritat de pin. Aquestes paraules clau són:
- a -> Arxiu
- c -> Component
- o -> Origen
- l -> Etiqueta
- n -> Arquitectura
M'agrada:
Pin: release o=Debian,a=Experimental
Voldria dir treure el paquet indicat de l'arxiu experimental del paquet Debian.
Llista negra d'una actualització de paquets mitjançant APT Autoremove File
Una altra manera de posar a la llista negra un paquet des de la instal·lació és actualitzar la seva entrada en un dels fitxers continguts al directori /etc/apt/apt.conf.d/
que és 01autoremove.
A continuació es mostra un fitxer de mostra:
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"; }; };
Ara, per afegir qualsevol paquet a la llista negra, només cal que introduïu el seu nom a Never-MarkAuto-Sections
. Només cal que introduïu el nom del paquet al final a Never-MarkAuto-Section
i deseu i tanqueu el fitxer. Això bloquejaria apt per cercar més actualitzacions d'aquest paquet.
Per exemple, per afegir un paquet a la llista negra perquè s'actualitzi, afegiu l'entrada tal com es mostra:
Never-MarkAuto-Sections { "metapackages"; "restricted/metapackages"; "universe/metapackages"; "multiverse/metapackages"; "oldlibs"; "restricted/oldlibs"; "universe/oldlibs"; "multiverse/oldlibs"; "apache2*"; }; };
Selecció de paquets personalitzats per a l'actualització
Una altra alternativa per a això és triar el que voleu actualitzar. L'eina apt us dóna llibertat per triar què voleu actualitzar, però per això hauríeu de conèixer quins paquets estan disponibles per a l'actualització.
Per a això, el següent conjunt d'ordres pot resultar útil:
a. Per llistar quins paquets tenen actualitzacions pendents.
# apt-get -u -V upgrade
b. Per instal·lar només paquets selectius.
# apt-get --only-upgrade install <package-name>
Conclusió
En aquest article, hem explicat algunes maneres de desactivar/bloquejar o les actualitzacions de paquets a la llista negra mitjançant la manera APT. Si coneixeu alguna altra manera preferida, feu-nos-ho saber mitjançant comentaris o si cerqueu l'ordre yum per desactivar/bloquejar l'actualització del paquet, llegiu aquest article a continuació.