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 APTDnf 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:
- Instalando software nuevo desde el repositorio.
- Resuelva las dependencias del software instalando esas dependencias antes de instalar el software.
- Mantenimiento de base de datos de dependencias de cada software.
- Versión anterior de cualquier software existente.
- Actualizando la versión del kernel.
- 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:
- Dominar el comando Yum con estos 20 ejemplos prácticos
- 27 Comandos DNF para Administrar Paquetes en Fedora 22+ Versiones
- 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
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
-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
--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
.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
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.