LINUX

Cómo excluir ciertos paquetes de Yum Update

En este artículo, le mostraremos cómo excluir ciertos paquetes de la actualización mediante el administrador de paquetes de Yum. Periódicamente, es posible que desee actualizar su sistema CentOS o RHEL, pero omita ciertos paquetes, especialmente si es probable que las actualizaciones interfieran con ciertas aplicaciones importantes en el sistema.

Ver también : Cómo excluir un paquete específico de apt-get Upgrade

Excluir ciertos paquetes de la actualización

Comenzamos por verificar primero qué paquetes deben actualizarse utilizando el administrador de paquetes Yum en Centos 7, como se muestra a continuación.

yum list updates | cat -n

Salida de muestra

 1 Loaded plugins: amazon-id, rhui-lb, search-disabled-repos
 2 Updated Packages
 3 bind-libs-lite.x86_64 32:9.9.4-51.el7_4.2 rhui-REGION-rhel-server-releases
 4 bind-license.noarch 32:9.9.4-51.el7_4.2 rhui-REGION-rhel-server-releases
 5 binutils.x86_64 2.25.1-32.base.el7_4.2 rhui-REGION-rhel-server-releases
 6 cloud-init.x86_64 0.7.9-9.el7_4.2 rhui-REGION-rhel-server-releases
 7 dhclient.x86_64 12:4.2.5-58.el7_4.1 rhui-REGION-rhel-server-releases
 8 dhcp-common.x86_64 12:4.2.5-58.el7_4.1 rhui-REGION-rhel-server-releases
 9 dhcp-libs.x86_64 12:4.2.5-58.el7_4.1 rhui-REGION-rhel-server-releases
 10 glibc.x86_64 2.17-196.el7_4.2 rhui-REGION-rhel-server-releases
 11 glibc-common.x86_64 2.17-196.el7_4.2 rhui-REGION-rhel-server-releases
 12 initscripts.x86_64 9.49.39-1.el7_4.1 rhui-REGION-rhel-server-releases
 13 iwl7265-firmware.noarch 22.0.7.0-58.el7_4 rhui-REGION-rhel-server-releases
 14 kernel.x86_64 3.10.0-693.17.1.el7 rhui-REGION-rhel-server-releases
 15 kernel-tools.x86_64 3.10.0-693.17.1.el7 rhui-REGION-rhel-server-releases
 16 kernel-tools-libs.x86_64 3.10.0-693.17.1.el7 rhui-REGION-rhel-server-releases

Para excluir la actualización de un paquete en particular, la sintaxis sería la siguiente

yum --exclude=packagename* update

Por ejemplo, si desea excluir el paquete glibc que es el número 10 en nuestra lista, ejecute

# yum --exclude=glibc* update

Salida de muestra

Loaded plugins: amazon-id, rhui-lb, search-disabled-repos
Resolving Dependencies
--> Running transaction check
---> Package bind-libs-lite.x86_64 32:9.9.4-51.el7_4.1 will be updated
---> Package bind-libs-lite.x86_64 32:9.9.4-51.el7_4.2 will be an update
---> Package bind-license.noarch 32:9.9.4-51.el7_4.1 will be updated
---> Package bind-license.noarch 32:9.9.4-51.el7_4.2 will be an update
---> Package binutils.x86_64 0:2.25.1-32.base.el7_4.1 will be updated
---> Package binutils.x86_64 0:2.25.1-32.base.el7_4.2 will be an update
---> Package cloud-init.x86_64 0:0.7.9-9.el7_4.1 will be updated
---> Package cloud-init.x86_64 0:0.7.9-9.el7_4.2 will be an update
---> Package dhclient.x86_64 12:4.2.5-58.el7 will be updated
---> Package dhclient.x86_64 12:4.2.5-58.el7_4.1 will be an update
---> Package dhcp-common.x86_64 12:4.2.5-58.el7 will be updated
---> Package dhcp-common.x86_64 12:4.2.5-58.el7_4.1 will be an update
---> Package dhcp-libs.x86_64 12:4.2.5-58.el7 will be updated
---> Package dhcp-libs.x86_64 12:4.2.5-58.el7_4.1 will be an update
---> Package initscripts.x86_64 0:9.49.39-1.el7 will be updated
---> Package initscripts.x86_64 0:9.49.39-1.el7_4.1 will be an update

Como habrá notado, el paquete glibc no está en nuestra lista porque lo excluimos de nuestro pedido.

Para excluir una lista de paquetes, ejecute

# yum --exclude=glibc* --exclude=cloud-init* update

Alternativamente, puede usar el siguiente comando para lograr el mismo objetivo.

yum -x 'packagename*' update

Para excluir más de un paquete con el mismo comando, ejecute el siguiente comando

yum -x 'packageName1*' -x 'packageName2*' update

Deshabilite permanentemente ciertos paquetes de la actualización en Yum

Para deshabilitar ciertos paquetes para que no reciban actualizaciones, abra el siguiente archivo de configuración con un editor de texto de su elección

/etc/yum.conf
excluir ciertos paquetes de la actualización en yum

Al final del archivo de configuración, agregue lo siguiente

exclude=samba httpd mariadb php

Lo anterior excluye la actualización de los paquetes samba, httpd, MariaDB, PHP.

Para excluir paquetes de 32 bits

excluir=*.i?86 *.i686

Ahora, si intenta actualizar cada uno de los paquetes individuales, obtendrá el mensaje «No hay paquetes marcados para actualizar».

Salida de muestra

[root@ip-172-31-16-136 ec2-user]# yum update httpd
Loaded plugins: amazon-id, rhui-lb, search-disabled-repos
rhui-REGION-client-config-server-7                                                                                                               | 2.9 kB  00:00:00
rhui-REGION-rhel-server-releases                                                                                                                 | 3.5 kB  00:00:00
rhui-REGION-rhel-server-rh-common                                                                                                                | 3.8 kB  00:00:00
No packages marked for update
[root@ip-172-31-16-136 ec2-user]# yum update samba
Loaded plugins: amazon-id, rhui-lb, search-disabled-repos
No packages marked for update
[root@ip-172-31-16-136 ec2-user]# yum update mariadb
Loaded plugins: amazon-id, rhui-lb, search-disabled-repos
No packages marked for update
[root@ip-172-31-16-136 ec2-user]# yum update php
Loaded plugins: amazon-id, rhui-lb, search-disabled-repos
No packages marked for update

Excluir un repositorio de la actualización

Primero, es posible que desee echar un vistazo a los repositorios disponibles en su sistema para lograr esto, ejecute el siguiente comando

yum repolist

Salida

repo id                                       repo name                                                                          status
Webmin                                        Webmin Distribution Neutral                                                           111
base/7/x86_64                                 CentOS-7 - Base                                                                     9,591
epel/x86_64                                   Extra Packages for Enterprise Linux 7 - x86_64                                     12,382
extras/7/x86_64                               CentOS-7 - Extras                                                                     392
filebeat/x86_64                               Filebeat for ELK clients                                                               44
google-chrome                                 google-chrome                                                                           3
ius/x86_64                                    IUS Community Packages for Enterprise Linux 7 - x86_64                                468
kibana-5.x                                    Kibana repository for 5.x packages                                                    338
logstash-5.x                                  Elastic repository for 5.x packages                                                   338
nux-dextop/x86_64                             Nux.Ro RPMs for general desktop use                                                 2,575
updates/7/x86_64                              CentOS-7 - Updates                                                                  1,962
repolist: 28,204

Para deshabilitar la actualización de un repositorio, usamos la opción «–disablerepo=reponame» con el comando de actualización yum.

yum --disablerepo=reponame update

Alternativamente, el comando «actualizar» puede preceder a la opción «disablerepo=reponame», como se muestra

yum update -disablerepo=reponame

En el ejemplo anterior, si quiero deshabilitar kibana-5.x de la actualización, ejecutaré

yum --disablerepo=kibana-5.x update

Para excluir múltiples repositorios en una sola línea, separe los repositorios usando una coma como se muestra a continuación

yum update--disablerepo=kibana-5.x,logstash-5.x

Lo que esto hace es que actualizará el resto de los repositorios pero excluirá kibana-5.x

Exclusión de la actualización de un repositorio mediante parámetros habilitados

En lugar de deshabilitar la actualización del repositorio en el comando de actualización de yum, puede establecer el parámetro «habilitado» en 0 en el archivo de configuración del repositorio.
El archivo de configuración del repositorio se encuentra en /etc/yum.repos.d como se muestra

[root@epicenter ~]# ls -l /etc/yum.repos.d/
total 84
-rw-r--r--. 1 root root 1664 Aug 30  2017 CentOS-Base.repo
-rw-r--r--. 1 root root 1309 Aug 30  2017 CentOS-CR.repo
-rw-r--r--. 1 root root  649 Aug 30  2017 CentOS-Debuginfo.repo
-rw-r--r--. 1 root root  314 Aug 30  2017 CentOS-fasttrack.repo
-rw-r--r--. 1 root root  630 Aug 30  2017 CentOS-Media.repo
-rw-r--r--. 1 root root 1331 Aug 30  2017 CentOS-Sources.repo
-rw-r--r--. 1 root root 3830 Aug 30  2017 CentOS-Vault.repo
-rw-r--r--  1 root root  390 Jan 28 20:05 decathorpe-elementary-stable-fedora-25.repo
-rw-r--r--  1 root root  391 Jan 28 21:03 decathorpe-elementary-stable.repo
-rw-r--r--  1 root root  951 Oct  2 20:44 epel.repo
-rw-r--r--  1 root root 1050 Oct  2 20:44 epel-testing.repo
-rw-r--r--. 1 root root  178 Oct  4 13:01 filebeat.repo
-rw-r--r--  1 root root  173 Jan 10 12:54 google-chrome.repo
-rw-r--r--  1 root root 1150 Feb 23  2017 ius-archive.repo
-rw-r--r--  1 root root 1131 Feb 23  2017 ius-dev.repo
-rw-r--r--  1 root root 1073 Feb 23  2017 ius.repo
-rw-r--r--  1 root root 1150 Feb 23  2017 ius-testing.repo
-rw-r--r--. 1 root root  212 Oct  3 12:05 kibana.repo
-rw-r--r--. 1 root root  216 Oct  3 14:01 logstash.repo
-rw-r--r--  1 root root  477 Jul 31  2014 nux-dextop.repo
-rw-r--r--. 1 root root  163 Oct  3 11:23 webmin.repo

Para excluir el repositorio kibana-5.x, abra el archivo de configuración con un editor de texto y configure la opción «habilitado» en 0 como se muestra a continuación.

vim /etc/yum.repos.d/kibana.repo
excluir paquetes de la actualización en yum

Si ejecuta yum repolist, el repositorio no aparecerá en los resultados como se muestra

repo id                                       repo name                                                                          status
Webmin                                        Webmin Distribution Neutral                                                           111
base/7/x86_64                                 CentOS-7 - Base                                                                     9,591
epel/x86_64                                   Extra Packages for Enterprise Linux 7 - x86_64                                     12,382
extras/7/x86_64                               CentOS-7 - Extras                                                                     392
filebeat/x86_64                               Filebeat for ELK clients                                                               44
google-chrome                                 google-chrome                                                                           3
ius/x86_64                                    IUS Community Packages for Enterprise Linux 7 - x86_64                                468
logstash-5.x                                  Elastic repository for 5.x packages                                                   338
nux-dextop/x86_64                             Nux.Ro RPMs for general desktop use                                                 2,575
updates/7/x86_64                              CentOS-7 - Updates                                                                  1,962
repolist: 27,866

Esto implica que cualquier paquete en el repositorio de kibana no se actualizará cuando se ejecute el comando de actualización de yum.

Gracias por tu tiempo en este tutorial. Esperamos haber resuelto el problema de cómo puede deshabilitar ciertos paquetes en Yum. Siéntase libre de tratar de volver a nosotros con sus comentarios.

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba
Cerrar