GNU/Linux >> Tutoriales Linux >  >> Linux

4 formas de deshabilitar/bloquear ciertas actualizaciones de paquetes usando el comando Yum

Administrador de paquetes es un software que permite a un usuario en caso de instalación de software nuevo, actualización del sistema o actualización de cualquier software específico y ese tipo de cosas. En el caso de los sistemas basados ​​en Linux en los que un software tiene muchas dependencias que deben estar presentes en el sistema para una instalación completa de ese software, el administrador de paquetes de dicho software se convierte en una herramienta muy necesaria en todos los sistemas.

Cada distribución de Linux se envía con su administrador de paquetes predeterminado para las funcionalidades mencionadas anteriormente, pero de todas estas, las más encontradas son:yum en RHEL y Fedora sistemas (donde se está reemplazando actualmente con DNF de Fedora 22+ en adelante) y apto de Debian.

Si estás buscando APT herramienta para bloquear o deshabilitar ciertas actualizaciones de paquetes específicos, entonces debería leer este artículo.

Deshabilitar/bloquear o incluir en la lista negra la actualización de paquetes de Certian mediante APT

Dnf o Danificado yum reemplaza a yum en Fedora sistemas que es otro en nuestra lista. Si se explora correctamente, estos administradores de paquetes se pueden usar para las siguientes funcionalidades:

  1. Instalando software nuevo desde el repositorio.
  2. Resuelva las dependencias del software instalando esas dependencias antes de instalar el software.
  3. Mantenimiento de base de datos de dependencias de cada software.
  4. Versión anterior de cualquier software existente.
  5. Actualizando la versión del kernel.
  6. Lista de paquetes disponibles para la instalación.

Ya hemos cubierto artículos detallados por separado sobre cada administrador de paquetes individual con ejemplos prácticos, debe leerlos para controlar y administrar la administración de paquetes en sus respectivas distribuciones de Linux.

Lea también:

  1. Dominar el comando Yum con estos 20 ejemplos prácticos
  2. 27 Comandos DNF para Administrar Paquetes en Fedora 22+ Versiones
  3. Aprenda 25 comandos APT para administrar paquetes de Ubuntu

En el artículo, veremos cómo bloquear/deshabilitar ciertas actualizaciones de paquetes usando el administrador de paquetes Yum en sistemas RHEL/CentOS y Fedora (aplicable hasta Fedora 21 , la versión más reciente de Fedora viene con dnf como administrador de paquetes predeterminado).

Deshabilitar/bloquear actualizaciones de paquetes usando Yum

Actualizador de perros amarillos, modificado (mmm ) es una herramienta de gestión de paquetes en distribuciones basadas en RedHat como CentOS y Fedora. Varias estrategias utilizadas para bloquear/deshabilitar actualizaciones de paquetes mediante Yum se analizan a continuación:

1. Deshabilitar permanentemente el paquete para instalarlo o actualizarlo

1. Abra y edite el yum.conf archivo, que se encuentra en /etc/yum.conf o en /etc/yum/yum.conf .

Se ve a continuación:

[main]
cachedir=/var/cache/yum/$basearch/$releasever
keepcache=0
debuglevel=2
logfile=/var/log/yum.log
exactarch=1
obsoletes=1
gpgcheck=1
plugins=1
installonly_limit=5
bugtracker_url=http://bugs.centos.org/set_project.php?project_id=23&ref=http://bugs.centos.org/bug_report_page.php?category=yum
distroverpkg=centos-release
...

Aquí, para excluir cierto paquete de la instalación o actualización, solo necesita agregar la variable de exclusión junto con el nombre del paquete que desea excluir. Por ejemplo, si quiero excluir todos los python-3 los paquetes se actualicen, simplemente agregaré la siguiente línea a yum.conf :

exclude=python-3*

Para excluir más de un paquete, simplemente separe sus nombres por espacios.

exclude=httpd php 
[main]
cachedir=/var/cache/yum/$basearch/$releasever
keepcache=0
debuglevel=2
logfile=/var/log/yum.log
exactarch=1
obsoletes=1
gpgcheck=1
plugins=1
installonly_limit=5
bugtracker_url=http://bugs.centos.org/set_project.php?project_id=23&ref=http://bugs.centos.org/bug_report_page.php?category=yum
distroverpkg=centos-release
exclude=python-3*        [Exclude Single Package]
exclude=httpd php        [Exclude Multiple Packages]
...

Nota :para incluir estos paquetes, ignorando las entradas en yum.conf , use “-disableexcludes ” y configúrelo en all|main|repoid , donde 'principal' son los ingresados ​​en yum.conf y 'repoide' son aquellos cuya exclusión se especifica en repos.d directorio, como se explica más adelante.

Ahora intentemos instalar o actualizar los paquetes especificados y veamos que el comando yum los deshabilitará para instalarlos o actualizarlos.

# yum install httpd php

Loaded plugins: fastestmirror, langpacks, versionlock
Loading mirror speeds from cached hostfile
 * base: mirror.nbrc.ac.in
 * epel: mirror.wanxp.id
 * extras: mirror.nbrc.ac.in
 * updates: mirror.nbrc.ac.in
Nothing to do
# yum update httpd php

Loaded plugins: fastestmirror, langpacks, versionlock
Loading mirror speeds from cached hostfile
 * base: mirror.nbrc.ac.in
 * epel: mirror.wanxp.id
 * extras: mirror.nbrc.ac.in
 * updates: mirror.nbrc.ac.in
No packages marked for update

2. Deshabilitar temporalmente el paquete para instalarlo o actualizarlo

2. Arriba había una solución permanente para excluir un paquete, ya que a menos que se edite el archivo, ese paquete no se actualizará. Aquí hay una solución temporal para esto también. Justo en el momento en que busca cualquier actualización, use -x cambie el comando yum para excluir el paquete que no desea actualizar, como:

# yum -x python-3 update

El comando anterior actualizará todos los paquetes cuyas actualizaciones estén disponibles, excepto python-3 en su sistema.

Aquí, para excluir múltiples paquetes, use -x varias veces, o separe los nombres de los paquetes con ',' en un solo cambio.

# yum -x httpd -x php update
OR
# yum -x httpd,php update

3. Usando --exclude el interruptor funciona igual que -x , solo necesita reemplazar -x con –excluir y pasar ',' lista separada de nombres de paquetes.

# yum --exclude httpd,php

3. Deshabilitar actualizaciones de paquetes usando el repositorio

4. Para cualquier paquete instalado desde cualquier fuente externa mediante la adición de un repositorio, hay otra forma de detener su actualización en el futuro. Esto se puede hacer editando su .repo archivo que se crea en /etc/yum/repos.d/ o /etc/yum.repos.d directorio.

Agregue la opción de exclusión con el nombre del paquete en el repo . Me gusta:para excluir cualquier paquete, diga vino de repositorio de epel , agregue la siguiente línea en epel.repo archivo:

[epel]
name=Extra Packages for Enterprise Linux 7 - $basearch
#baseurl=http://download.fedoraproject.org/pub/epel/7/$basearch
mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-7&arch=$basearch
failovermethod=priority
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
exclude=wine

Ahora intente actualizar el vino paquete, obtendrá un error como el que se muestra a continuación:

# yum update wine

Loaded plugins: fastestmirror, langpacks, versionlock
epel/x86_64/metalink                                    | 5.6 kB     00:00     
Loading mirror speeds from cached hostfile
 * base: mirror.nbrc.ac.in
 * epel: mirror.wanxp.id
 * extras: mirror.nbrc.ac.in
 * updates: mirror.nbrc.ac.in
No Match for argument: wine
No package wine available.
No packages marked for update

4. Deshabilitar la actualización del paquete mediante la opción de bloqueo de versión

5. Otra forma en yum de enmascarar la versión de cualquier paquete, por lo que no está disponible para la actualización, es usar versionlock opción de yum, pero para hacer esto, debe yum-plugin-versionlock paquete instalado en el sistema.

# yum -y install yum-versionlock

Por ejemplo, para bloquear la versión del paquete, diga httpd a 2.4.6 solo, solo escribe el siguiente comando como root.

# yum versionlock add httpd
Salida de muestra
Loaded plugins: fastestmirror, langpacks, versionlock
Adding versionlock on: 0:httpd-2.4.6-40.el7.centos
versionlock added: 1

Para ver los paquetes bloqueados, utilice el siguiente comando que mostrará una lista de los paquetes cuya versión ha sido bloqueada.

# yum versionlock list httpd
Salida de muestra
Loaded plugins: fastestmirror, langpacks, versionlock
0:httpd-2.4.6-40.el7.centos.*
versionlock list done

Conclusión

Estos son algunos consejos que lo ayudarán a deshabilitar/bloquear las actualizaciones de paquetes usando el administrador de paquetes yum. Si tienes otros trucos para hacer lo mismo, puedes comentarlos con nosotros.


Linux
  1. Cómo deshabilitar/bloquear o incluir en la lista negra las actualizaciones de paquetes con la herramienta Apt

  2. Degradación de un paquete rpm a una versión inferior (usando el comando "rpm")

  3. Ejemplos de comandos YUM para instalar, eliminar y actualizar paquetes

  4. Ejemplos de comandos yum en Linux

  5. Deshabilite la verificación de transacciones de yum para conflictos de archivos

Comandos YUM

Los 50 mejores ejemplos de comandos YUM para usuarios de RHEL o CentOS

4 formas de comprobar la versión de CentOS en la línea de comandos de Linux

Usando el comando Watch en Linux

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

Comando Yum:utilidad de gestión de paquetes basada en RPM