20 Comandos YUM para la gestión de paquetes de Linux
En este artículo, aprenderemos cómo instalar, actualizar, eliminar, encontrar paquetes, administrar paquetes y repositorios en sistemas Linux utilizando la herramienta YUM (Yellowdog Updater Modified) desarrollada por RedHat. Los comandos de ejemplo que se muestran en este artículo están prácticamente probados en nuestro servidor CentOS 6.3, puede usar este material para fines de estudio, certificaciones o simplemente para explorar formas de instalar nuevos paquetes y mantener su sistema actualizado. El requisito básico de este artículo es que debe tener un conocimiento básico de los comandos y un sistema operativo Linux en funcionamiento, donde pueda explorar y practicar todos los comandos que se enumeran a continuación.

¿Qué es YUM?
YUM ( Yellowdog Updater Modificado ) es una línea de comandos de código abierto así como una herramienta de gestión de paquetes basada en gráficos para RPM ( RedHat Package Administrador de sistemas basados en Linux. Permite a los usuarios y al administrador del sistema instalar, actualizar, eliminar o buscar fácilmente paquetes de software en un sistema. Fue desarrollado y publicado por Seth Vidal bajo GPL ( General Public License ) como código abierto, significa que cualquier persona puede descargar y acceder a la Código para corregir errores y desarrollar paquetes personalizados. YUM utiliza numerosos repositorios de terceros para instalar paquetes automáticamente al resolver sus problemas de dependencias.
Para instalar un paquete llamado Firefox 14, simplemente ejecute el siguiente comando para encontrar e instalar automáticamente todas las dependencias necesarias para Firefox.
# yum install firefox Loaded plugins: fastestmirror Dependencies Resolved ================================================================================================ Package Arch Version Repository Size ================================================================================================ Updating: firefox i686 10.0.6-1.el6.centos updates 20 M Updating for dependencies: xulrunner i686 10.0.6-1.el6.centos updates 12 M Transaction Summary ================================================================================================ Install 0 Package(s) Upgrade 2 Package(s) Total download size: 32 M Is this ok [y/N]: y Downloading Packages: (1/2): firefox-10.0.6-1.el6.centos.i686.rpm | 20 MB 01:10 (2/2): xulrunner-10.0.6-1.el6.centos.i686.rpm | 12 MB 00:52 ------------------------------------------------------------------------------------------------ Total 63 kB/s | 32 MB 02:04 Updated: firefox.i686 0:10.0.6-1.el6.centos Dependency Updated: xulrunner.i686 0:10.0.6-1.el6.centos Complete!
El comando anterior le pedirá confirmación antes de instalar cualquier paquete en su sistema. Si desea instalar paquetes automáticamente sin pedir confirmación, use la opción Para eliminar un paquete completamente con todas sus dependencias, simplemente ejecute el siguiente comando como se muestra a continuación. De la misma manera, el comando anterior solicitará confirmación antes de eliminar un paquete. Para deshabilitar el mensaje de confirmación, simplemente agregue la opción -y como se muestra a continuación. Digamos que tiene una versión desactualizada del paquete MySQL y desea actualizarla a la última versión estable. Simplemente ejecute el siguiente comando, resolverá automáticamente todos los problemas de dependencias e instalarlos. Use el Para que su búsqueda sea más precisa, defina el nombre del paquete con su versión, en caso de que lo sepa. Por ejemplo, para buscar una versión específica openssh-4.3p2 del paquete, use el comando. Si no recuerdas el nombre exacto del paquete, usa Digamos que le gustaría conocer la información de un paquete antes de instalarlo. Para obtener información de un paquete, simplemente emita el siguiente comando. Para enumerar todos los paquetes disponibles en la base de datos de Yum, use el siguiente comando. Para enumerar todos los paquetes instalados en un sistema, solo emita el siguiente comando, se mostrarán todos los paquetes instalados. Yum Para encontrar cuántos paquetes instalados en su sistema tienen actualizaciones disponibles, para verificar, use el siguiente comando. Para mantener su sistema actualizado con todas las actualizaciones de paquetes binarios y de seguridad, ejecute el siguiente comando. Instalará todos los últimos parches y actualizaciones de seguridad en su sistema. En Linux, la cantidad de paquetes se incluye en un grupo particular. En lugar de instalar paquetes individuales con yum, puede instalar un grupo particular que instalará todos los paquetes relacionados que pertenecen al grupo. Por ejemplo, para enumerar todos los grupos disponibles, simplemente emita el siguiente comando. Para instalar un grupo de paquetes en particular, usamos la opción como instalación de grupo . Por ejemplo, para instalar " Base de datos MySQL ", simplemente ejecute el siguiente comando. Para actualizar cualquier paquete de grupo instalado existente, simplemente ejecute el siguiente comando como se muestra a continuación. Para eliminar o eliminar cualquier grupo instalado existente del sistema, simplemente use el siguiente comando. Para listar todos los repositorios de Yum habilitados en su sistema, use la siguiente opción. El siguiente comando mostrará todos los repositorios de yum habilitados y deshabilitados en el sistema. Para instalar un paquete particular desde un repositorio habilitado o deshabilitado específico, debe usar la opción –enablerepo en su comando yum. Por ejemplo, para instalar el paquete PhpMyAdmin 3.5.2, simplemente ejecute el comando. La utilidad Yum proporciona un shell personalizado donde puede ejecutar varios comandos. De forma predeterminada, yum mantiene todos los datos del paquete habilitado en el repositorio en /var/cache/yum/ con cada subdirectorio, para limpiar todos los archivos en caché del repositorio habilitado, debe ejecutar el siguiente comando regularmente para limpiar sube toda la memoria caché y asegúrate de que no haya nada innecesario que esté usando el espacio. No queremos dar el resultado del siguiente comando, porque nos gusta mantener los datos en caché tal como están. Para ver todas las transacciones pasadas del comando yum, solo use el siguiente comando. Hemos tratado de cubrir todo lo básico para avanzar los comandos de yum con sus ejemplos. Si algo relacionado con los comandos de yum puede haberse perdido. Por favor, actualízanos a través de nuestro cuadro de comentarios. Por lo tanto, seguimos actualizando el mismo en función de los comentarios recibidos.# yum -y install firefox
# yum remove firefox
Loaded plugins: fastestmirror
Setting up Remove Process
Resolving Dependencies
--> Running transaction check
---> Package firefox.i686 0:10.0.6-1.el6.centos set to be erased
--> Finished Dependency Resolution
Dependencies Resolved
====================================================================================================
Package Arch Version Repository Size
====================================================================================================
Removing:
firefox i686 10.0.6-1.el6.centos @updates 23 M
Transaction Summary
====================================================================================================
Remove 1 Package(s)
Reinstall 0 Package(s)
Downgrade 0 Package(s)
Is this ok [y/N]: y
Downloading Packages:
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
Erasing : firefox-10.0.6-1.el6.centos.i686 1/1
Removed:
firefox.i686 0:10.0.6-1.el6.centos
Complete!
# yum -y remove firefox
# yum update mysql
Loaded plugins: fastestmirror
Dependencies Resolved
============================================================================================================
Package Arch Version Repository Size
============================================================================================================
Updating:
vsftpd i386 2.0.5-24.el5_8.1 updates 144 k
Transaction Summary
============================================================================================================
Install 0 Package(s)
Upgrade 1 Package(s)
Total size: 144 k
Is this ok [y/N]: y
Downloading Packages:
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
Updating : vsftpd 1/2
Cleanup : vsftpd 2/2
Updated:
vsftpd.i386 0:2.0.5-24.el5_8.1
Complete!
# yum list openssh
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: mirror.neu.edu.cn
* epel: mirror.neu.edu.cn
* extras: mirror.neu.edu.cn
* rpmforge: mirror.nl.leaseweb.net
* updates: mirror.nus.edu.sg
Installed Packages
openssh.i386 4.3p2-72.el5_6.3 installed
Available Packages 4.3p2-82.el5 base
# yum list openssh-4.3p2
# yum search vsftpd
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: mirror.neu.edu.cn
* epel: mirror.neu.edu.cn
* extras: mirror.neu.edu.cn
* rpmforge: mirror.nl.leaseweb.net
* updates: ftp.iitm.ac.in
============================== Matched: vsftpd ========================
ccze.i386 : A robust log colorizer
pure-ftpd-selinux.i386 : SELinux support for Pure-FTPD
vsftpd.i386 : vsftpd - Very Secure Ftp Daemon
# yum info firefox
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: mirror.neu.edu.cn
* epel: mirror.neu.edu.cn
* extras: mirror.neu.edu.cn
* rpmforge: mirror.nl.leaseweb.net
* updates: ftp.iitm.ac.in
Available Packages
Name : firefox
Arch : i386
Version : 10.0.6
Release : 1.el5.centos
Size : 20 M
Repo : updates
Summary : Mozilla Firefox Web browser
URL : http://www.mozilla.org/projects/firefox/
License : MPLv1.1 or GPLv2+ or LGPLv2+
Description: Mozilla Firefox is an open-source web browser, designed for standards
: compliance, performance and portability.
# yum list | less
# yum list installed | less
# yum provides /etc/httpd/conf/httpd.conf
Loaded plugins: fastestmirror
httpd-2.2.3-63.el5.centos.i386 : Apache HTTP Server
Repo : base
Matched from:
Filename : /etc/httpd/conf/httpd.conf
httpd-2.2.3-63.el5.centos.1.i386 : Apache HTTP Server
Repo : updates
Matched from:
Filename : /etc/httpd/conf/httpd.conf
httpd-2.2.3-65.el5.centos.i386 : Apache HTTP Server
Repo : updates
Matched from:
Filename : /etc/httpd/conf/httpd.conf
httpd-2.2.3-53.el5.centos.1.i386 : Apache HTTP Server
Repo : installed
Matched from:
Other : Provides-match: /etc/httpd/conf/httpd.conf
# yum check-update
# yum update
# yum grouplist
Installed Groups:
Administration Tools
DNS Name Server
Dialup Networking Support
Editors
Engineering and Scientific
FTP Server
Graphics
Java Development
Legacy Network Server
Available Groups:
Authoring and Publishing
Base
Beagle
Cluster Storage
Clustering
Development Libraries
Development Tools
Eclipse
Educational Software
KDE (K Desktop Environment)
KDE Software Development
# yum groupinstall 'MySQL Database'
Dependencies Resolved
=================================================================================================
Package Arch Version Repository Size
=================================================================================================
Updating:
unixODBC i386 2.2.11-10.el5 base 290 k
Installing for dependencies:
unixODBC-libs i386 2.2.11-10.el5 base 551 k
Transaction Summary
=================================================================================================
Install 1 Package(s)
Upgrade 1 Package(s)
Total size: 841 k
Is this ok [y/N]: y
Downloading Packages:
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
Installing : unixODBC-libs 1/3
Updating : unixODBC 2/3
Cleanup : unixODBC 3/3
Dependency Installed:
unixODBC-libs.i386 0:2.2.11-10.el5
Updated:
unixODBC.i386 0:2.2.11-10.el5
Complete!
# yum groupupdate 'DNS Name Server'
Dependencies Resolved
================================================================================================================
Package Arch Version Repository Size
================================================================================================================
Updating:
bind i386 30:9.3.6-20.P1.el5_8.2 updates 981 k
bind-chroot i386 30:9.3.6-20.P1.el5_8.2 updates 47 k
Updating for dependencies:
bind-libs i386 30:9.3.6-20.P1.el5_8.2 updates 864 k
bind-utils i386 30:9.3.6-20.P1.el5_8.2 updates 174 k
Transaction Summary
================================================================================================================
Install 0 Package(s)
Upgrade 4 Package(s)
Total size: 2.0 M
Is this ok [y/N]: y
Downloading Packages:
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
Updating : bind-libs 1/8
Updating : bind 2/8
Updating : bind-chroot 3/8
Updating : bind-utils 4/8
Cleanup : bind 5/8
Cleanup : bind-chroot 6/8
Cleanup : bind-utils 7/8
Cleanup : bind-libs 8/8
Updated:
bind.i386 30:9.3.6-20.P1.el5_8.2 bind-chroot.i386 30:9.3.6-20.P1.el5_8.2
Dependency Updated:
bind-libs.i386 30:9.3.6-20.P1.el5_8.2 bind-utils.i386 30:9.3.6-20.P1.el5_8.2
Complete!
# yum groupremove 'DNS Name Server'
Dependencies Resolved
===========================================================================================================
Package Arch Version Repository Size
===========================================================================================================
Removing:
bind i386 30:9.3.6-20.P1.el5_8.2 installed 2.1 M
bind-chroot i386 30:9.3.6-20.P1.el5_8.2 installed 0.0
Transaction Summary
===========================================================================================================
Remove 2 Package(s)
Reinstall 0 Package(s)
Downgrade 0 Package(s)
Is this ok [y/N]: y
Downloading Packages:
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
Erasing : bind 1/2
warning: /etc/sysconfig/named saved as /etc/sysconfig/named.rpmsave
Erasing : bind-chroot 2/2
Removed:
bind.i386 30:9.3.6-20.P1.el5_8.2 bind-chroot.i386 30:9.3.6-20.P1.el5_8.2
Complete!
# yum repolist
repo id repo name status
base CentOS-5 - Base enabled: 2,725
epel Extra Packages for Enterprise Linux 5 - i386 enabled: 5,783
extras CentOS-5 - Extras enabled: 282
mod-pagespeed mod-pagespeed enabled: 1
rpmforge RHEL 5 - RPMforge.net - dag enabled: 11,290
updates CentOS-5 - Updates enabled: 743
repolist: 20,824
# yum repolist all
repo id repo name status
C5.0-base CentOS-5.0 - Base disabled
C5.0-centosplus CentOS-5.0 - Plus disabled
C5.0-extras CentOS-5.0 - Extras disabled
base CentOS-5 - Base enabled: 2,725
epel Extra Packages for Enterprise Linux 5 - i386 enabled: 5,783
extras CentOS-5 - Extras enabled: 282
repolist: 20,824
# yum --enablerepo=epel install phpmyadmin
Dependencies Resolved
=============================================================================================
Package Arch Version Repository Size
=============================================================================================
Installing:
phpMyAdmin noarch 3.5.1-1.el6 epel 4.2 M
Transaction Summary
=============================================================================================
Install 1 Package(s)
Total download size: 4.2 M
Installed size: 17 M
Is this ok [y/N]: y
Downloading Packages:
phpMyAdmin-3.5.1-1.el6.noarch.rpm | 4.2 MB 00:25
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
Installing : phpMyAdmin-3.5.1-1.el6.noarch 1/1
Verifying : phpMyAdmin-3.5.1-1.el6.noarch 1/1
Installed:
phpMyAdmin.noarch 0:3.5.1-1.el6
Complete!
# yum shell
Loaded plugins: fastestmirror
Setting up Yum Shell
> update httpd
Loading mirror speeds from cached hostfile
* base: mirrors.sin3.sg.voxel.net
* epel: ftp.riken.jp
* extras: mirrors.sin3.sg.voxel.net
* updates: mirrors.sin3.sg.voxel.net
Setting up Update Process
>
# yum clean all
# yum history
Loaded plugins: fastestmirror
ID | Login user | Date and time | Action(s) | Altered
-------------------------------------------------------------------------------
10 | root | 2012-08-11 15:19 | Install | 3
9 | root | 2012-08-11 15:11 | Install | 1
8 | root | 2012-08-11 15:10 | Erase | 1 EE
7 | root | 2012-08-10 17:44 | Install | 1
6 | root | 2012-08-10 12:19 | Install | 2
5 | root | 2012-08-10 12:14 | Install | 3
4 | root | 2012-08-10 12:12 | I, U | 13 E<
3 | root | 2012-08-09 13:01 | Install | 1 >
2 | root | 2012-08-08 20:13 | I, U | 292 EE
1 | System | 2012-08-08 17:15 | Install | 560
history list