Cómo deshabilitar las actualizaciones de paquetes usando YUM/DNF en Rhel Linux

Cómo deshabilitar las actualizaciones de paquetes usando YUM/DNF en Rhel Linux

El DNF (Dandified YUM) es la versión de próxima generación del YUM (YellowDog Updater, modificado), es un administrador de paquetes predeterminado de código abierto para distribuciones de Linux basadas en Red Hat, que se utiliza para obtener, instalar, actualizar, eliminar, y consultas de paquetes de los repositorios de software oficiales y repositorios de terceros.

Al actualizar el sistema, a veces, no actualizamos ciertos paquetes como Servidor apache (Http), Mysql, Php, o cualquier otra aplicación importante, porque la actualización de dicho software puede romper las aplicaciones web actualmente en un servidor y causar problemas importantes. Se recomienda detener las actualizaciones de dicho software hasta que la aplicación se parquee con nuevas actualizaciones.

En este artículo, le mostraremos cómo podemos excluir (deshabilitar) ciertas actualizaciones de paquetes utilizando el Beque y DNF Administrador de paquetes en distribuciones basadas en RPM como Rhel, Cento, Fedora, Rocky Linux, y Almalinux. También podemos excluir o deshabilitar ciertas actualizaciones de paquetes de cualquier repositorio de terceros.

La sintaxis de exclusión sería la siguiente.

excluir = paquete paquete1 paquetes* 

Lo anterior excluir la directiva se define en /etc/yum.confusión o /etc/dnf/dnf.confusión Archivo de configuración con la lista de paquetes para excluir de actualizaciones o instalaciones.

La sintaxis anterior excluirá "paquete","paquete1", Y lista de"paquete"Actualizaciones o instalaciones. Cada palabra clave debe separarse con espacio para la exclusión de los paquetes.

Cómo excluir los paquetes en YUM o DNF

Para excluir (deshabilitar) actualizaciones específicas de paquetes, abra el archivo llamado /etc/yum.confusión o /etc/dnf/dnf.confusión con tu elección de editor.

# vi /etc /yum.conf o # vi/etc/dnf/dnf.confusión

Agregue la siguiente línea en la parte inferior del archivo con excluir Palabra clave como se muestra a continuación.

[Main] Cachedir =/Var/Cache/Yum/$ Basearch/$ Releasever KeepCache = 0 DebugLevel = 2 logFile =/var/log/yum.LOG EXIGACH = 1 obsoletes = 1 gpgcheck = 1 complementos = 1 instalación_limit = 5 bugtracker_url = http: // bugs.cento.org/set_project.php?Project_id = 16 & ref = http: // bugs.cento.org/bug_report_page.php?categoría = yum distroverpkg = centos-libe # Este es el valor predeterminado, si hace este yum más grande, no verá si los metadatos # son más nuevos en el control remoto y, por lo tanto, "ganará" el ancho de banda de no tener que # descargar el Nuevos metadatos y "pagar" por YUM sin tener información correcta #. # Es ESP. importante, tener metadatos correctos, para distribuciones como # Fedora que no mantienen paquetes viejos alrededor. Si no le gusta esta verificación # que interponga el uso de su línea de comando, es mucho mejor tener algo # revisar manualmente los metadatos una vez por hora (Yum-Upsctatesd hará esto). # Metadata_EXPIRE = 90M # Pon sus repositorios aquí o en archivos separados con nombre de archivo.Repo # en /etc /yum.repositar.d ## excluir las siguientes actualizaciones de paquetes ## excluir = httpd php mysql

En el ejemplo anterior, la línea excluir deshabilitará las actualizaciones para "httpd""php" y "mysql"Paquetes. Intentemos instalar o actualizar uno de ellos usando el Beque Comando como se muestra a continuación.

# yum actualización httpd o # dnf actualización httpd 
Salida de muestra
Plugins cargados: velocidades de espejo de carga más rápida de la carga del archivo host en caché * Base: Centos.01link.HK * Extras: Centos.01link.HK * Actualizaciones: espejos.HNS.neto.en la base | 3.7 KB 00:00 Extras | 3.0 KB 00:00 Actualizaciones | 3.5 KB 00:00 Actualizaciones/Primary_DB | 2.7 MB 00:16 Configuración del proceso de actualización No hay paquetes marcados para la actualización

Cómo excluir paquetes de Epel Repo

Para excluir las instalaciones o actualizaciones de los paquetes de Epel repositorio, luego abra el archivo llamado /etc/yum.repositar.d/epel.repositorio.

# vi /etc /yum.repositar.d/epel.repositorio

Agregue la línea de exclusión especificando los paquetes para ser excluidos de las actualizaciones.

[Epel] Nombre = paquetes adicionales para Enterprise Linux 6 - $ Basearch #baseurl = http: // Descargar.federaproject.org/pub/epel/6/$ Basearch MirrorList = https: // espejos.federaproject.org/metalink?Repo = Epel-6 & Arch = $ Basearch WaaloverMethod = Priority habilitado = 1 gpgcheck = 1 gpgkey = file: /// etc/pki/rpm-gpg/rpm-gpg-keyke-epel-6 ## excluir las siguientes actualizaciones de paquetes ## excluir = perl python

Ahora intente actualizar los archivos especificados anteriormente desde el Epel repositorio utilizando el yum/dnf comando como se muestra.

# DNF Update Perl Php Python o # Yum Update Perl Php Python
Salida de muestra
Últimos metadatos Verificación de vencimiento: 0:00:37 Hace el miércoles 17 de noviembre de 2021 03:41:28 AM EST. Paquete perl disponible, pero no instalado. Sin partido para el argumento: Perl No coinciden para el argumento: PHP No coinciden para el argumento: Python Error: no hay paquetes marcados para la actualización. 

También puedes usar el yum/dnf Opción de línea de comandos para excluir los paquetes sin agregarlos a los archivos del repositorio.

# yum --exclude = httpd actualización o # dnf --exclude = httpd actualización 

Para excluir una lista de paquetes, use el comando de la siguiente manera.

# yum --exclude = mysql \* --exclude = httpd \* update o # dnf --exclude = mysql \* --exclude = httpd \* Update 

De esta manera, puede excluir actualizaciones para cualquier paquete que desee. Hay muchas otras formas en que puede hacerlo, por ejemplo, recientemente hemos compilado un artículo sobre 4 formas útiles de bloquear/deshabilitar o bloquear ciertos paquetes utilizando el comando yum En Linux.