GNU/Linux >> Tutoriales Linux >  >> Linux

10 ejemplos de exclusión de Yum para omitir paquetes para la actualización de Yum de Linux (cómo excluir actualizaciones del kernel de Yum)

Cuando realice la actualización de yum, descargará la última versión de todos los paquetes que están instalados en su sistema, y actualícelos a la última versión.

Es posible que se encuentre en una situación en la que no desee que yum actualice automáticamente uno (o más) paquetes específicos.

En esas situaciones, use la opción de exclusión de yum como se muestra en los ejemplos a continuación.

1. Excluir un paquete único usando la opción -x

Por ejemplo, en este sistema, estamos usando PHP 5.1, y la aplicación php personalizada que se ejecuta en este sistema aún no se ha probado con ninguna otra versión nueva de PHP.

# rpm -q php
php-5.1.0-27.el6_5.x86_64

Entonces, en este caso, cuando hacemos una actualización, queremos excluir solo un paquete específico, que es php. Como vemos a continuación, lo siguiente indica que el paquete php se actualizará a la versión 5.3.3 cuando ejecutemos el comando 'yum update'.

# yum check-update php
php.x86_64    5.3.3-40.el6_6      updates

Lo siguiente excluirá solo un paquete (php) durante la actualización de yum.

# yum -x php update

2. Excluir paquetes múltiples usando la opción -x

Puede excluir varios paquetes especificando varias opciones -x como se muestra a continuación:

yum -x php -x httpd update

También puede excluir más de un paquete especificando la lista de paquetes separados por comas. Lo siguiente se comportará exactamente igual que el anterior.

yum -x php,httpd update

3. Excluir paquetes múltiples (p. ej., paquetes del kernel) usando comodines

En la mayoría de las situaciones, es posible que no desee que la actualización de yum actualice automáticamente el kernel.

Antes de realizar la actualización real de yum, puede realizar la actualización de verificación de yum, que mostrará todos los paquetes que se actualizarán durante la actualización de yum.

Como puede ver a continuación, en este ejemplo, hay tres paquetes relacionados con el kernel que se actualizarán con yum update.

# yum check-update | grep -i kernel
kernel.x86_64            2.6.32-504.1.3.el6  updates
kernel-firmware.noarch   2.6.32-504.1.3.el6  updates
kernel-headers.x86_64    2.6.32-504.1.3.el6  updates

En lugar de especificar todos los nombres de paquetes individuales en la lista de exclusión -x, simplemente podemos usar los comodines de shell glob como se muestra a continuación. Lo siguiente excluirá todos los paquetes relacionados con el kernel que comiencen a actualizarse durante la actualización de yum.

yum -x kernel* update

4. Múltiples listas de comodines en la opción -x

También puede especificar varias listas de comodines en la opción -x.

Como puede ver a continuación, lo siguiente indica que hay varios paquetes php que se actualizarán durante la próxima actualización de yum.

# yum check-update | grep -i php
php.x86_64         5.3.3-40.el6_6   updates
php-cli.x86_64     5.3.3-40.el6_6   updates
php-common.x86_64  5.3.3-40.el6_6   updates
php-xml.x86_64     5.3.3-40.el6_6   updates

Si desea excluir todos los paquetes relacionados con php y kernel durante la próxima actualización de yum, puede usar lo siguiente. Tenga en cuenta que debe usar " " en este ejemplo.

yum -x 'php*' -x 'kernel*' update

5. Usando –exclude en lugar de -x

También puede usar –exclude en lugar de -x como se muestra a continuación:

yum --exclude php update
yum --exclude httpd update
yum --exclude kernel update

yum -exclude php*,httpd*,kernel* update

6. Excluir paquetes usando el archivo yum.conf

En lugar de especificar los paquetes que se excluirán en la línea de comandos, puede especificarlos en el archivo /etc/yum.conf.

Por ejemplo, para excluir todos los paquetes de php, httpd y kernel de la actualización de yum, agregue la siguiente línea:

exclude=php* httpd* kernel*

O bien, ejecute el siguiente comando:

echo "exclude=php* httpd* kernel*" >> /etc/yum.conf

7. Usar lista separada por comas

También puede excluir más de un paquete especificando la lista de paquetes comodín separados por comas. Lo siguiente se comportará exactamente igual que el anterior.

yum -x php*,kernel* update

Para ser coherente con la forma en que mostramos los otros ejemplos usando la opción -x anterior, también puede usar una coma (en lugar de solo un espacio) para separar los paquetes múltiples como se muestra a continuación:

# vi /etc/yum.conf
exclude=php*,httpd*,kernel*

8. Excluir parámetro dentro del archivo de repositorio personalizado

En lugar de especificar el parámetro de exclusión en el archivo principal yum.conf, también puede especificarlo en el archivo de repositorio individual.

Por ejemplo, si ha instalado mongodb, tendrá mongodb.repo en el directorio /etc/yum.repos.d. Puede especificar la lista de paquetes excluidos para el repositorio mongodb dentro de este archivo mongodb.repo.

# vi /etc/yum.repos.d/mongodb.repo
exclude=mongo*

9. Simule la verificación de exclusión de Yum usando la actualización de verificación (Dry-run -x)

También puede especificar la opción -x junto con la actualización de verificación. Esto le ayuda a verificar si la opción -x que especificó en la línea de comando o en el archivo yum.conf funciona como se esperaba.

Por ejemplo, lo siguiente indica que el kernel se actualizará durante la actualización de yum.

# yum check-update | grep -i kernel
kernel.x86_64                        2.6.32-504.1.3.el6                  updates
kernel-firmware.noarch               2.6.32-504.1.3.el6                  updates
kernel-headers.x86_64                2.6.32-504.1.3.el6                  updates

Lo siguiente indica que el indicador -x funcionará como se esperaba ya que no devolvió nada en el resultado.

# yum -x kernel* check-update | grep -i kernel

Por ejemplo, digamos que la siguiente línea de exclusión está presente en el archivo yum.conf.

# grep exclude /etc/yum.conf
exclude=php*,httpd*,kernel*

Luego, lo siguiente indica que la lista de exclusión especificada en /etc/yum.conf anterior funcionará como se esperaba, ya que la actualización de verificación no mostró esos paquetes (incluido el kernel) en el siguiente resultado.

# yum check-update | egrep 'php|httpd|kernel'

10. Ignorar la exclusión del archivo yum.conf

Si desea deshabilitar las exclusiones mencionadas en el archivo yum.conf. es decir, si no desea que la actualización de yum considere la lista de exclusión que se especifica en el archivo yum.conf, puede usar la opción –disableexcludes desde la línea de comando.

En nuestro ejemplo anterior, hemos excluido los paquetes de php, httpd y kernel para ser actualizados por la actualización de yum.

Pero, si desea que yum ignore esa lista de exclusión (es decir, deshabilite la exclusión) y continúe actualizando php, httpd y kernel como parte del comando de actualización regular de yum, ejecute lo siguiente:

yum --disableexcludes=all update

Los siguientes son los tres valores posibles que puede especificar para disabledexcludes

  • all Deshabilitar todas las exclusiones
  • principal Deshabilitar exclusiones especificadas en la sección principal del archivo yum.conf
  • repoid Desactivar exclusiones especificadas para el ID de repositorio dado

Si desea deshabilitar las exclusiones solo para un repositorio personalizado específico, puede especificar la identificación del repositorio (que es la primera columna en el comando yum repolist como se muestra a continuación).

# yum repolist
repo id   repo name           status
mongodb   MongoDB Repository    240
base      CentOS-6 - Base     6,518
extras    CentOS-6 - Extras      35
updates   CentOS-6 - Updates    315

Lo siguiente deshabilitará (ignorará) la lista de exclusión especificada en el archivo mongodb.repo en el directorio /etc/yum.repos.d.

yum --disableexcludes=mongodb update

Linux
  1. Linux:¿cómo habilitar los espacios de nombres de usuario en el kernel? (para `no compartir` sin privilegios.)?

  2. Más de 15 ejemplos para el comando de actualización de yum

  3. Cómo usar kdump para el análisis de fallas del kernel de Linux

  4. Cómo excluir un repositorio específico para la actualización de Yum en CentOS/Red Hat

  5. CentOS/RHEL:Exclusión con Yum para actualizaciones del kernel

Cómo instalar actualizaciones en CentOS 7

Cómo configurar actualizaciones automáticas del kernel en Linux

Diferentes formas de actualizar el kernel de Linux para Ubuntu

Cómo configurar actualizaciones automáticas del kernel en Linux

15 ejemplos de comandos Yum de Linux:instalar, desinstalar, actualizar paquetes

¿Cómo puedo generar cobertura de código para paquetes Swift en Linux u OS X?