You are on page 1of 9

Introduccin.

Acerca de YUM.
YUM (Yellow Dog Updater, Modified) es una herramienta , escrita en Python, diseada para gestin
de paquetes en distribuciones de GNU/Linux que utilizan RPM. Fue desarrollado por Seth Vidal y otros
colaboradores y es mantenido actualmente como parte del proyecto Linux@DUKE de la Universidad
de Duke. Desde que Seth Vidal trabaja en Red Hat, Inc., programadores de dicha compaa estn
implicados en el desarrollo de yum y han mejorado mucho su funcionalidad y desempeo.
Actualmente es el gestor de paquetes de facto de ALDOS, CentOS, Fedora y Red Hata Enterprise
Linux y otras distribuciones de GNU/Linux basadas sobre stas.
Actualizar el sistema aplicando los ms recientes parches de y correctivos, es hoy ms fcil gracias a
YUM. El infierno de resolver dependencias entre paquetes RPM termin hace muchos aos. A
continuacin, los procedimientos para utilizar yum y realizar fcilmente lo que algunos denominan
horrible, difcil y complicado.

Procedimientos
Listados.
Lo siguiente listar todos los paquetes en la base de datos yum disponibles para instalacin :
yum list available | less

Lo siguiente listar todos los paquetes instalados en el sistema:


yum list installed | less

Lo siguiente listar slo las versiones instaladas en el sistema del paquete kernel:
yum list installed kernel

Lo siguiente listar todos los paquetes instalados en el sistema y que pueden (y deben) actualizarse:
yum list updates | less

Lo siguiente listar todos los paquetes instalados, disponibles y actualizaciones:


yum list all | less

Lo siguiente listar slo los paquetes instalados, disponibles y actualizaciones cuyo nombre coincida
con la expresin regular *tools*:
yum list *tools*

Lo siguiente mostrar la lista de todos los grupos de paquetes disponibles en los almacenes YUM:
yum grouplist

Bsquedas.
Realizar una bsqueda de algn paquete o expresin regular en la base de datos en alguno de los
almacenes YUM configurados en el sistema:
yum search nombre-paquete

Ejemplo:
yum search cups

Consulta de informacin.
Consultar la informacin contenida en un paquete en particular::
yum info nombre-paquete

Ejemplo:
yum info cups

Consultar la lista de paquetes que conforman un grupo de paquetes en particular:


yum groupinfo "Nombre del Grupo"

El valor de Nombre del Grupo es de acuerdo a la lista mostrada por la ejecucin de yum grouplist.
Ejemplo:
yum groupinfo "Servidor Web"

Instalacin de paquetes.
Instalacin de paquetes con resolucin automtica de dependencias y a partir de los almacenes en lnea:
yum install nombre-paquete

Ejemplo:
yum install elinks

Instalacin de paquetes con resolucin automtica de dependencias, sin verificacin de firmas digitales
y a partir de los almacenes en lnea:
yum install --nogpgcheck nombre-paquete

Ejemplo:
yum install --nogpgcheck elinks

Instalacin de paquetes con resolucin automtica de dependencias, a partir de los almacenes en lnea y
sin dialogo de confirmacin:
yum -y install nombre-paquete

Ejemplo:
yum -y install elinks

Instalacin de paquetes con resolucin automtica de dependencias y localizados en el sistema de


archivos local:
yum localinstall ~/Descargas/paquete.rpm

Ejemplo:
yum localinstall google-talkplugin_current_x86_64.rpm

Instalacin de paquetes con resolucin automtica de dependencias, localizados en el sistema de


archivos local y sin dialogo de confirmacin:
yum -y localinstall ~/Descargas/paquete.rpm

Ejemplo:
yum -y localinstall google-talkplugin_current_x86_64.rpm

Instalacin de paquetes con resolucin automtica de dependencias, sin verificacin de firmas digitales
y localizados en el sistema de archivos local:
yum localinstall --nopgpcheck ~/Descargas/paquete.rpm

Ejemplo:
yum localinstall --nopgpcheck \
google-talkplugin_current_x86_64.rpm

Instalacin de grupos de paquetes


Instalacin de grupos de paquetes con resolucin automtica de dependencias:
yum groupinstall "Nombre del Grupo"

El valor de Nombre del Grupo es de acuerdo a la lista mostrada por la ejecucin de yum grouplist.
Ejemplo:
yum groupinstall "Servidor Web"

Instalacin de grupos de paquetes con resolucin automtica de dependencias y sin dialogo de


confirmacin:
yum -y groupinstall "Nombre del Grupo"

Ejemplo:
yum -y groupinstall "Servidor Web"

De modo predeterminado, la instalacin de grupos slo incluir los paquetes obligatorios y los
predeterminados. Para instalar los paquetes opcionales, algo poco recomendado, edite el archivo
/etc/yum.conf:
vim /etc/yum.conf

Aada la opcin group_package_types con los valores default, mandatory, optional. Ejemplo:
[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=3
group_package_types=default, mandatory, optional

# This is the default, if you make this bigger yum won't see if the metadata
# is newer on the remote and so you'll "gain" the bandwidth of not having to
# download the new metadata and "pay" for it by yum not having correct
# information.
# It is esp. important, to have correct metadata, for distributions like
# Fedora which don't keep old packages around. If you don't like this checking
# interupting your command line usage, it's much better to have something
# manually check the metadata once an hour (yum-updatesd will do this).
# metadata_expire=90m

# PUT YOUR REPOS HERE OR IN separate files named file.repo


# in /etc/yum.repos.d

Desinstalacin de paquetes.
Evite utilizar la opcin -y al desinstalar paquetes, a menos que se est seguro de las consecuencias.
Preferentemente siempre corrobore qu es lo que se va a desinstalar antes de responder Si o Yes.
Para llevar a cabo la desinstalacin de paquetes, junto con todo aquello que dependa de stos:
yum remove nombre-paquete

Ejemplo:
yum remove elinks

Para llevar a cabo la desinstalacin de grupos de paquetes con resolucin automtica de dependencias:
yum groupremove "Nombre del Grupo"

El valor de Nombre del Grupo es de acuerdo a la lista mostrada por la ejecucin de yum grouplist.
Ejemplo:
yum groupremove "Servidor Web"

Actualizar sistema.
Ejecute lo siguiente para actualizar el sistema:
yum update

Ejecute lo siguiente para actualizar el sistema sin dialogo de confirmacin:


yum -y update

Ejecute lo siguiente para actualizar el sistema omitiendo los paquetes con dependencias rotas:
yum --skip-broken update

Ejecute lo siguiente para actualizar slo un paquete en particular:


yum update nombre-paquete

Ejemplo:
yum update cups

Ejecute lo siguiente para actualizar slo un paquete en particular sin dialogo de confirmacin:
yum -y update nombre-paquete

Ejemplo:
yum -y update cups

La actualizacin de grupos de paquetes con resolucin automtica de dependencias utiliza la siguiente


sintaxis:
yum groupupdate "Nombre del Grupo"

El valor de Nombre del Grupo es de acuerdo a la lista mostrada por la ejecucin de yum grouplist.
Ejemplo:
yum groupupdate "Base de datos MySQL"

La sintaxis para la actualizacin de grupos de paquetes con resolucin automtica de dependencias y


sin dialogo de confirmacin corresponde a lo siguiente:
yum -y groupupdate "Nombre del Grupo"

Ejemplo:
yum -y groupupdate "Base de datos MySQL"

Limpieza de versiones anteriores del paquete kernel.


A diferencia de otros paquetes, los correspondientes a kernel jams se reemplazan ni eliminan al
actualizar el sistema. Conforme pasa el tiempo y se va actualizando el sistema, llegar un punto en el
cual habr varias versiones instaladas del paquete kernel. Si se permite se acumulen demasiadas, stas
mismas actualizaciones terminarn por llenar el espacio disponible de /boot e impedirn que se pueda
continuar actualizando el sistema. La mejor forma de realizar la limpieza de las versiones anteriores del
paquete kernel es utilizando la herramienta package-cleanup, incluida en el paquete yum-utils.
Instale el paquete yum-utils:
yum -y install yum-utils

El programa indicado para hacer la limpieza de paquetes kernel antiguos es package-cleanup. Ejecute
ste con la opcin --oldkernels para eliminar todos los paquetes kernel del sistema excepto las dos
versiones ms recientes:
package-cleanup --oldkernels

Si a lo anterior aade la opcin --count con el valor 1, se eliminarn todos los paquetes de kernel
excepto la versin ms reciente:
package-cleanup --oldkernels --count=1

Cabe sealar que yum y sus herramientas jams permitirn desinstalar paquetes de kernel cuyo ncleo
est en ejecucin. Si quiere realizar una limpieza eficiente de paquetes kernel, procure reiniciar primero
con la versin ms reciente.
Procure realizar la limpieza de paquetes kernel al menos una vez al mes. Siempre verifique que el
sistema funciona correctamente con la versin ms reciente del paquete kernel antes de realizar
la limpieza.

Limpieza del directorio de cache.


Yum deja como resultado de su uso metadatos y a veces de paquetes por transacciones canceladas
dentro del directorio /var/cache/yum/. Cuando se establece la opcin keepcache=1 en el archivo
/etc/yum.conf los paquetes RPM instalados prevalecen en el interior y pueden ocupar mucho espacio.
Ejecute lo siguiente para realizar la limpieza de todo el cache de YUM (metadatos, paquetes, etc.):
yum clean all

Ejecute lo siguiente para eliminar slo los metadatos:


yum clean metadata

Ejecute lo siguiente slo para eliminar paquetes descargados:


yum clean packages

Verificacin de la base de datos RPM.


Ejecute lo siguiente para verificar la base de datos de RPM en busca de dependencias rotas y otros
problemas:
yum check

Actualizacin automtica del sistema.


Es importante mantener actualizado el sistema. Las actualizaciones corrigen errores y problemas de
seguridad. Las actualizaciones en sistemas operativos para produccin jams aplican mejoras radicales,
tampoco cambian los ABI ni los API.

ALDOS, CentOS 6 y 7 y Red Hat Enterprise Linux 6 y 7.


Instale el paquete PackageKit-cron:
yum -y install PackageKit-cron

Edite el archivo /etc/sysconfig/packagekit-background:


vi /etc/sysconfig/packagekit-background

Active el servicio cambiando el valor de ENABLED a yes y habilite MAILTO=root para enviar a root
un reporte de las actualizaciones aplicadas:
# should we attempt to do this? (valid: yes|no)
ENABLED=yes

# don't install, just check (valid: yes|no)


CHECK_ONLY=no

# if MAILTO is set, the mail command is used to deliver PackageKit output


# by default MAILTO is unset, so crond mails the output by itself
MAILTO=root

# you may set SYSTEM_NAME if you want your PackageKit emails tagged
# differently default is output of hostname command
#SYSTEM_NAME=""

Reinicie el servicio crond:


service crond restart

CentOS 5 y Red Hat Enterprise Linux 5.


Instale el paquete yum-updatesd:
yum -y install yum-updatesd

Edite el archivo /etc/yum/yum-updatesd.conf:


vi /etc/yum/yum-updatesd.conf

Cambie los valores de do_update, do_download y do_download_deps a yes.


[main]
# how often to check for new updates (in seconds)
run_interval = 7200
# how often to allow checking on request (in seconds)
updaterefresh = 1200

# how to send notifications (valid: dbus, email, syslog)


emit_via = email
# should we listen via dbus to give out update information/check for
# new updates
dbus_listener = yes

# automatically install updates


do_update = yes
# automatically download updates
do_download = yes
# automatically download deps of updates
do_download_deps = yes

Active el servicio yum-updatesd.


chkconfig yum-updatesd on

Inicie el servicio yum-updatesd:


service yum-updatesd start

Reinicie el servicio crond:


service crond restart