Tabla de Contenidos

,

Yum

Yum es la herramienta de Centos para la gestión de paquetes

Instalar únicamente actualizaciones de seguridad

En versiones anteriores había que instalar un plugin yum-security (para Centos 5) o yum-plugin-security (para Centos 6 y 7) Para comprobar si lo tenemos instalado <sxh>rpm -qa |grep -i yum-security</sxh>

Desafortunadamente, los repositorios por defecto de Centos no incluyen la información (metadatos) sobre parches de seguridad , por lo que el plugin sólo funciona para el repositorio EPEL. El resto de parches necesarios de otros repositorios no te aparece
En los repositorios de una distribución de Red Hat si que incluye dicha información por lo que en ella el plugin funcionará correctamente
La solución al problema está en utilizar un repositorio alternativo llamado Updateinfo que contiene las información de erratas (CESA, CEEA, CEBA)https://updateinfo.cefs.steve-meier.de/

Más info:

Instalación en Centos 6/7

<sxh>yum install yum-plugin-security</sxh>

Más información en https://linux.die.net/man/8/yum-security

Script para actualizaciones automáticas

Creamos el siguiente script para cron.

<sxh> #!/bin/bash YUM=/usr/bin/yum $YUM -y -R 100 -d 0 -e 0 update yum $YUM -y -R 10 -e 0 -d 0 update </sxh>

Donde:

no hay que olvidarse de darle los permisos de ejecución al fichero de script

Ver los paquetes instalados en el sistema

<sxh>yum list installed </sxh>

Buscar paquete

Por ejemplo para buscar paquetes que el nombre contenga php <sxh>yum list installed | grep -i php </sxh>

el -i es para que no distinga entre mayúsculas o minúsculas

Información sobre cuando se instaló

Listado de la fecha de instalación de todos los paquetes <sxh>rpm -qa -last</sxh>

Para saber cuándo se instaló un paquete en particular<sxh>rpm -q nombre_paquete -last</sxh>

Deshacer cambios o Rool back

Con el comando <sxh>yum history</sxh> Obtenemos un histórico de los cambios. <sxh bash> [root@]# yum history ID | Linea de comandos | Día y hora | Acción(es) | Modific


  29 | -y install php php-curl  | 2018-05-21 13:21 | Install        |    3
  28 | update                   | 2018-05-21 13:17 | I, U           |   10
  27 | install yum-utils        | 2018-05-21 13:14 | Install        |    4
  26 | install http://rpms.remi | 2018-05-21 13:00 | Install        |    1
  25 | install php-gd           | 2018-05-21 12:23 | Install        |   11
  24 | install wget             | 2018-05-21 11:52 | Install        |    1
  23 | install httpd            | 2018-05-21 11:46 | Install        |    5
  22 | update                   | 2018-05-21 11:43 | Update         |   27

</sxh> Podemos obtener más información sobre un determinado cambio con yum history info ID <sxh>yum history info 29</sxh> que daría como salida <sxh> ID de transacción : 29 Hora inicial : Mon May 21 13:21:47 2018 Rpmdb inicial : 403:f5122f693c232264926551793ecd11b87b85e057 Hora final : 13:21:49 2018 (2 segundos) Rpmdb final : 406:357a12e260ab03908297ee2c9985d509ae422f03 Usuario : root <root> Codigo-obtenido : Exito Línea de comando : -y install php php-curl php-cli php-gd Transacción realizada con:

  Instalado      rpm-4.11.3-32.el7.x86_64                      @base
  Instalado      yum-3.4.3-158.el7.centos.noarch               @base
  Instalado      yum-metadata-parser-1.1.4-10.el7.x86_64       @anaconda
  Instalado      yum-plugin-fastestmirror-1.1.31-45.el7.noarch @base

Paquetes modificados:

  Instalación de dependencias libargon2-20161029-2.el7.x86_64 @epel
  Instalar                    php-7.2.5-1.el7.remi.x86_64     @remi-php72
  Instalar                    php-cli-7.2.5-1.el7.remi.x86_64 @remi-php72

</sxh>

Para deshacer el cambio ejecutaríamos yum history undo <ID> <sxh>yum history undo 29</sxh>

Pero si hemos hecho varios cambios y queremos volver a un punto concreto ejecutaremos yum history roolback <ID> <sxh>yum history rollback 22</sxh>

Descargar paquetes sin instalarlos

A veces es útil descargar ciertos paquetes para luego poder copiarlos a un servidor que no tiene conexión a Internet. Para eso podemos usar yum de la siguiente forma yum install –downloadonly –downloaddir=/directorio_destino <paquete> Por ejemplo para descargar el servidor apache. <sxh> yum install –downloadonly –downloaddir=/root/paquetes httpd</sxh>

Una vez copiado los paquetes a la máquina destino, para instalarlos yum –nogpgcheck localinstall <paquete> <sxh> yum –nogpgcheck localinstall httpd-2.4.6-80.el7.centos.x86_64.rpm</sxh>

FAQ

Si al hacer un yum update obtenemos un error del tipo metadata file does no match checksum se soluciona añadiendo al fichero /etc/yum.con lo siguiente <sxh>http_caching=packages</sxh>

Ejecutamos entonces un <sxh>yum clean metadata</sxh> o bien <sxh>yum clean all</sxh> y ya podemos volver a ejecutar el yum update sin problemas.

HTTP Error 404

si al ejecutar yum update nos da un error HTTP Error 404 : Not found podemos ejecutar para solucionarlo <sxh>yum clean all</sxh> <sxh>yum update</sxh>

Referencias