20 comandos YUM para la gestión de paquetes de Linux
En este artículo, aprenderemos cómo instalar, actualizar, eliminar, buscar paquetes, administrar paquetes y repositorios en sistemas Linux usando la herramienta YUM (Yellowdog Updater Modified) desarrollada por < fuerte>RedHat.
Los comandos de ejemplo que se muestran en este artículo se prueban prácticamente en nuestro servidor RHEL 8; puede utilizar estos materiales con fines de estudio, certificaciones de RHEL 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 que funcione, donde pueda explorar y practicar todos los comandos que se enumeran a continuación.
¿Qué es ñam?
YUM (Yellowdog Updater Modified) es una línea de comandos de código abierto y una herramienta de administración de paquetes basada en gráficos para RPM ( RedHat Package Manager) sistemas Linux basados.
Permite a los usuarios y administradores de sistemas instalar, actualizar, eliminar o buscar fácilmente paquetes de software en un sistema. Fue desarrollado y lanzado por Seth Vidal bajo GPL (Licencia Pública General) como código abierto, lo que significa que cualquiera puede descargarlo. y acceder al código para corregir errores y desarrollar paquetes personalizados.
YUM utiliza numerosos repositorios de terceros para instalar paquetes automáticamente resolviendo sus problemas de dependencias.
Actualización: el comando yum se reemplaza por el comando dnf, que es una versión de próxima generación de yum y se considera el reemplazo de YUM en la mayoría de las distribuciones basadas en RPM más nuevas.
1. Instalar un paquete con YUM
Para instalar un paquete llamado Firefox, simplemente ejecute el siguiente comando y automáticamente encontrará e instalará 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 -y
como se muestra a continuación.
yum -y install firefox
2. Eliminar un paquete con YUM
Para eliminar un paquete por completo con todas las dependencias, simplemente ejecute el siguiente comando como se muestra a continuación.
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!
De la misma forma, el comando anterior solicitará confirmación antes de eliminar un paquete. Para desactivar el mensaje de confirmación, simplemente agregue la opción -y
como se muestra a continuación.
yum -y remove firefox
3. Actualizar un paquete usando YUM
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 y los instalará.
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!
4. Enumere un paquete usando YUM
Utilice la función lista para buscar el paquete específico con un nombre. Por ejemplo, para buscar un paquete llamado OpenSSH, utilice el comando.
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
Para que su búsqueda sea más precisa, defina los nombres de los paquetes con su versión, en caso de que lo sepa. Por ejemplo, para buscar una versión específica OpenSSH-4.3p2 del paquete, utilice el comando.
yum list openssh-4.3p2
5. Busque un paquete usando YUM
Si no recuerda el nombre exacto del paquete, utilice la función buscar para buscar todos los paquetes disponibles que coincidan con el nombre del paquete que especificó. Por ejemplo, para buscar todos los paquetes que coincidan con la palabra.
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
6. Obtener información sobre un paquete usando YUM
Digamos que le gustaría conocer la información sobre un paquete antes de instalarlo. Para obtener información sobre un paquete, simplemente ejecute el siguiente comando.
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.
7. Enumere todos los paquetes disponibles usando YUM
Para enumerar todos los paquetes disponibles en la base de datos de Yum, utilice el siguiente comando.
yum list | less
8. Enumere todos los paquetes instalados usando YUM
Para enumerar todos los paquetes instalados en un sistema, simplemente ejecute el siguiente comando y mostrará todos los paquetes instalados.
yum list installed | less
9. Yum proporciona función
La función Yum proporciona se utiliza para encontrar a qué paquete pertenece un archivo específico. Por ejemplo, si desea saber el nombre del paquete que tiene el archivo /etc/httpd/conf/httpd.conf.
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
10. Verifique las actualizaciones disponibles usando Yum
Para saber cuántos paquetes instalados en su sistema tienen actualizaciones disponibles, verifique usar el siguiente comando.
yum check-update
11. Actualizar el sistema usando Yum
Para mantener su sistema actualizado con todas las actualizaciones de paquetes binarios y de seguridad, ejecute el siguiente comando. Instalará los últimos parches y actualizaciones de seguridad en su sistema.
yum update
12. Enumere todos los paquetes grupales disponibles
En Linux, varios paquetes se agrupan 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.
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
13. Instalar paquetes grupales
Para instalar un grupo de paquetes en particular, usamos la opción groupinstall. Por ejemplo, para instalar "Base de datos MySQL", simplemente ejecute el siguiente comando.
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!
14. Actualizar paquetes grupales
Para actualizar cualquier paquete de grupo instalado existente, simplemente ejecute el siguiente comando como se muestra a continuación.
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!
15. Eliminar paquetes grupales
Para eliminar o eliminar cualquier grupo instalado existente del sistema, simplemente use el siguiente comando.
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!
16. Lista de repositorios Yum habilitados
Para enumerar todos los repositorios de Yum habilitados en su sistema, use la siguiente opción.
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
16. Enumere todos los repositorios de Yum habilitados y deshabilitados
El siguiente comando mostrará todos los repositorios yum habilitados y deshabilitados en el sistema.
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
17. Instalar un paquete desde un repositorio específico
Para instalar un paquete en particular desde un repositorio específico habilitado o deshabilitado, debe usar --enablerepo
una opción en su comando yum. Por ejemplo, para instalar el paquete PhpMyAdmin, simplemente ejecute el comando.
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!
18. Yum Shell interactivo
La utilidad Yum proporciona un shell personalizado donde puedes ejecutar múltiples comandos.
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
>
19. Limpiar caché de Yum
De forma predeterminada, yum mantiene todos los datos del paquete habilitado para el repositorio en /var/cache/yum/ con cada subdirectorio. Para limpiar todos los archivos almacenados en caché del repositorio habilitado, debe ejecutar el siguiente comando con regularidad para limpie todo el caché y asegúrese de que no se esté utilizando nada de espacio innecesario. No queremos mostrar el resultado del siguiente comando porque nos gusta mantener los datos almacenados en caché tal como están.
yum clean all
20. Ver el historial de Yum
Para ver todas las transacciones pasadas del comando yum, simplemente use el siguiente comando.
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
Hemos intentado cubrir todos los comandos básicos para avanzar en yum con sus ejemplos. Si es posible que se haya perdido algo relacionado con los comandos yum. Por favor actualícenos a través de nuestro cuadro de comentarios. Por lo tanto, seguimos actualizando lo mismo en función de los comentarios recibidos.