Bienvenido(a) a Alcance Libre 28/09/2023, 21:14
Creative Commons Reconocimiento-NoComercial-CompartirIgual 2.1
© 1999-2016 Joel Barrios Dueñas. Usted es libre de copiar, distribuir y comunicar públicamente la obra y hacer obras derivadas bajo las condiciones siguientes: a) Debe reconocer y citar al autor original. b) No puede utilizar esta obra para fines comerciales (incluyendo su publicación, a través de cualquier medio, por entidades con fines de lucro). c) Si altera o transforma esta obra o genera una obra derivada, sólo puede distribuir la obra generada bajo una licencia idéntica a ésta. Al reutilizar o distribuir la obra, tiene que dejar bien claro los términos de la licencia de esta obra. Alguna de estas condiciones puede no aplicarse si se obtiene el permiso del titular de los derechos de autor. Los derechos derivados de usos legítimos u otras limitaciones no se ven afectados por lo anterior. Licencia completa en castellano. La información contenida en este documento y los derivados de éste se proporcionan tal cual son y los autores no asumirán responsabilidad alguna si el usuario o lector hace mal uso de éstos.
YUM (Yellow Dog Updater, Modified) es una herramienta libre, escrita en Python, diseñada para gestión 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 compañía están implicados en el desarrollo de yum y han mejorado mucho su funcionalidad y desempeño.
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 más recientes parches de seguridad y correctivos, es hoy más fácil gracias a YUM. El infierno de resolver dependencias entre paquetes RPM terminó hace muchos años. A continuación, los procedimientos para utilizar yum y realizar fácilmente lo que algunos denominan «horrible, difícil y complicado.»
Lo siguiente listará todos los paquetes en la base de datos yum disponibles para instalación :
yum list available | less |
Lo siguiente listará todos los paquetes instalados en el sistema:
yum list installed | less |
Lo siguiente listará sólo 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á sólo los paquetes instalados, disponibles y actualizaciones cuyo nombre coincida con la expresión regular «*tools*»:
yum list *tools* |
Lo siguiente mostrará la lista de todos los grupos de paquetes disponibles en los almacenes YUM:
yum grouplist |
Realizar una búsqueda de algún paquete o expresión regular en la base de datos en alguno de los almacenes YUM configurados en el sistema:
yum search nombre-paquete |
Ejemplo:
yum search cups |
Consultar la información 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 ejecución de yum grouplist.
Ejemplo:
yum groupinfo "Servidor Web" |
Instalación de paquetes con resolución automática de dependencias y a partir de los almacenes en línea:
yum install nombre-paquete |
Ejemplo:
yum install elinks |
Instalación de paquetes con resolución automática de dependencias, sin verificación de firmas digitales y a partir de los almacenes en línea:
yum install --nogpgcheck nombre-paquete |
Ejemplo:
yum install --nogpgcheck elinks |
Instalación de paquetes con resolución automática de dependencias, a partir de los almacenes en línea y sin dialogo de confirmación:
yum -y install nombre-paquete |
Ejemplo:
yum -y install elinks |
Instalación de paquetes con resolución automática de dependencias y localizados en el sistema de archivos local:
yum localinstall ~/Descargas/paquete.rpm |
Ejemplo:
yum localinstall google-talkplugin_current_x86_64.rpm |
Instalación de paquetes con resolución automática de dependencias, localizados en el sistema de archivos local y sin dialogo de confirmación:
yum -y localinstall ~/Descargas/paquete.rpm |
Ejemplo:
yum -y localinstall google-talkplugin_current_x86_64.rpm |
Instalación de paquetes con resolución automática de dependencias, sin verificación de firmas digitales y localizados en el sistema de archivos local:
yum localinstall --nopgpcheck ~/Descargas/paquete.rpm |
Ejemplo:
yum localinstall --nopgpcheck \ |
Instalación de grupos de paquetes con resolución automática de dependencias:
yum groupinstall "Nombre del Grupo" |
El valor de «Nombre del Grupo» es de acuerdo a la lista mostrada por la ejecución de yum grouplist.
Ejemplo:
yum groupinstall "Servidor Web" |
Instalación de grupos de paquetes con resolución automática de dependencias y sin dialogo de confirmación:
yum -y groupinstall "Nombre del Grupo" |
Ejemplo:
yum -y groupinstall "Servidor Web" |
De modo predeterminado, la instalación de grupos sólo 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 |
Añada la opción 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
|
Evite utilizar la opción -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 desinstalación de paquetes, junto con todo aquello que dependa de éstos:
yum remove nombre-paquete |
Ejemplo:
yum remove elinks |
Para llevar a cabo la desinstalación de grupos de paquetes con resolución automática de dependencias:
yum groupremove "Nombre del Grupo" |
El valor de «Nombre del Grupo» es de acuerdo a la lista mostrada por la ejecución de yum grouplist.
Ejemplo:
yum groupremove "Servidor Web" |
Ejecute lo siguiente para actualizar el sistema:
yum update |
Ejecute lo siguiente para actualizar el sistema sin dialogo de confirmación:
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 sólo un paquete en particular:
yum update nombre-paquete |
Ejemplo:
yum update cups |
Ejecute lo siguiente para actualizar sólo un paquete en particular sin dialogo de confirmación:
yum -y update nombre-paquete |
Ejemplo:
yum -y update cups |
La actualización de grupos de paquetes con resolución automática 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 ejecución de yum grouplist.
Ejemplo:
yum groupupdate "Base de datos MySQL" |
La sintaxis para la actualización de grupos de paquetes con resolución automática de dependencias y sin dialogo de confirmación corresponde a lo siguiente:
yum -y groupupdate "Nombre del Grupo" |
Ejemplo:
yum -y groupupdate "Base de datos MySQL" |
A diferencia de otros paquetes, los correspondientes a kernel jamás 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 terminarán por llenar el espacio disponible de /boot e impedirán 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 opción --oldkernels para eliminar todos los paquetes kernel del sistema excepto las dos versiones más recientes:
package-cleanup --oldkernels |
Si a lo anterior añade la opción --count con el valor 1, se eliminarán todos los paquetes de kernel excepto la versión más reciente:
package-cleanup --oldkernels --count=1 |
Cabe señalar que yum y sus herramientas jamás permitirán desinstalar paquetes de kernel cuyo núcleo esté en ejecución. Si quiere realizar una limpieza eficiente de paquetes kernel, procure reiniciar primero con la versión más reciente.
Procure realizar la limpieza de paquetes kernel al menos una vez al mes. Siempre verifique que el sistema funciona correctamente con la versión más reciente del paquete kernel antes de realizar la limpieza.
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 opción 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 sólo los metadatos:
yum clean metadata |
Ejecute lo siguiente sólo para eliminar paquetes descargados:
yum clean packages |
Ejecute lo siguiente para verificar la base de datos de RPM en busca de dependencias rotas y otros problemas:
yum check |
Es importante mantener actualizado el sistema. Las actualizaciones corrigen errores y problemas de seguridad. Las actualizaciones en sistemas operativos para producción jamás aplican mejoras radicales, tampoco cambian los ABI ni los API.
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 |
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 |
Última Edición: 13/09/2016, 10:05| Hits: 103,116