meta data de esta página
  •  

¡Esta es una revisión vieja del documento!


Yum

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

Instalar únicamente actualizaciones de seguridad

Artículo original de http://rm-rf.es/6-trucos-utiles-del-gestor-de-paquetes-yum/

  1. Instalamos el paquete yum-security
    yum install yum-security
  2. Lanzamos una consulta para ver las actualizaciones de seguridad pendientes en el sistema:
     yum list-security
  3. Instalamos dichas actualizaciones
     yum update --security

Script para actualizaciones automáticas

Creamos el siguiente script para cron.

  • Si queremos que se ejecute cada día → /etc/cron.daily/yumupdate.sh
  • Si queremos que sea una vez en semana → /etc/cron.weekly/yumupdate.sh

#!/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

Donde:

  • La primera línea actualiza yum
  • la segunda línea actualiza el sistema
  • la opción -R indica el tiempo máxima de espera antes de ejecutar el comando
  • -e establece el nivel de error. 0 es que sólo nos informa de errores críticos
  • -d establece el nivel de debug
no hay que olvidarse de darle los permisos de ejecución al fichero de script

Ver los paquetes instalados en el sistema

yum list installed 

Buscar paquete

Por ejemplo para buscar paquetes que el nombre contenga php

yum list installed | grep -i php 

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

Deshacer cambios o Rool back

Con el comando

yum  history
Obtenemos un histórico de los cambios.
[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
Podemos obtener más información sobre un determinado cambio con yum history info ID
yum history info 29
que daría como salida
 
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

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

yum history undo 29

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

yum history rollback 22

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.

 yum install --downloadonly --downloaddir=/root/paquetes httpd

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

http_caching=packages

Ejecutamos entonces un

yum clean metadata
o bien
yum clean all
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
yum clean all
yum update

Referencias