Búsqueda de sitios web

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.