GNU/Linux >> Tutoriales Linux >  >> Linux

Administrar paquetes en distribuciones basadas en RHEL

Este artículo describe cómo administrar paquetes con yum en distribuciones basadas en Red Hat® Enterprise Linux®.

Requisitos

Debe tener los siguientes requisitos previos:

  • Comprensión básica de Secure Shell (SSH)
  • Sudo o acceso administrativo a su servidor
  • Un servidor en la nube que ejecuta Red Hat Enterprise Linux 6 o posterior o CentOS 6 o posterior

Gestión de paquetes en Linux

El término gestión de paquetes en Linux describe la instalación, eliminación o actualización de software en su servidor Linux. Los paquetes se construyen usando código fuente que instala una pieza de software en su servidor. Los paquetes se compilan para permitir una fácil instalación en lugar de instalar cada componente desde la fuente.

Herramientas de paquetes en distribuciones RHEL

Las distribuciones basadas en RHEL® incluyen las siguientes dos formas de administración de paquetes:

  • rpm se considera una herramienta de bajo nivel utilizada para instalar, eliminar y recopilar información, así como para crear paquetes para instalar en un servidor basado en RHEL.

  • yum se considera una herramienta de alto nivel que tiene la misma funcionalidad que rpm pero también resuelve las dependencias para permitir una instalación más fluida de .rpm paquetes.

Nota :Rackspace no admite la instalación de paquetes desde el origen.

Usando yum

El yum es su herramienta principal para instalar y administrar el software en su servidor.

Recopilar información

Para ver los repositorios desde los que yum extrae paquetes, ejecute el siguiente comando:

yum repolist

Este comando enumera los repositorios disponibles en su servidor:

# yum repolist
Loaded plugins: langpacks, product-id, rhnplugin, search-disabled-repos, subscription-manager
This system is receiving updates from RHN Classic or Red Hat Satellite.
repo id                                           repo name                                                                    status
!drivesrvr                                        drivesrvr                                                                        20
epel/x86_64                                       Extra Packages for Enterprise Linux 7 - x86_64                               13,314
ius/x86_64                                        IUS for Enterprise Linux 7 - x86_64                                             609
rackspace                                         Rackspace Monitoring                                                              1
rhel-x86_64-server-7                              Red Hat Enterprise Linux Server (v. 7 for 64-bit x86_64)                     29,118
rhel-x86_64-server-optional-7                     RHEL Server Optional (v. 7 64-bit x86_64)                                    21,287
repolist: 64,3

Para buscar un paquete de sus repositorios, use el siguiente comando:

yum search <package name>

Nota :este comando localiza todas las instancias del <package name> que están disponibles en sus repositorios. Esta lista puede ser bastante detallada, así que use el nombre completo del paquete, si lo sabe, para restringir su búsqueda.

Para obtener más información sobre un paquete, utilice el siguiente comando:

yum info <package name> 

Este comando proporciona información sobre el paquete. Aquí hay un ejemplo de búsqueda de httpd paquete:

# yum info httpd  
Available Packages
Name         : httpd
Version      : 2.4.43
Release      : 1.fc31
Architecture : x86_64
Size         : 1.4 M
Source       : httpd-2.4.43-1.fc31.src.rpm
Repository   : updates
Summary      : Apache HTTP Server
URL          : https://httpd.apache.org/
License      : ASL 2.0
Description  : The Apache HTTP Server is a powerful, efficient, and extensible web server.

Para ver los paquetes actualmente instalados, ejecute el siguiente comando:

yum list installed

Este comando enumera todos los paquetes instalados en el sistema. Esta lista puede ser extensa. Si conoce el paquete que está buscando, puede usar grep para filtrar su búsqueda como se muestra en el siguiente ejemplo:

yum list installed | grep httpd

Este comando proporciona una lista más manejable:

# yum list installed | grep httpd
httpd.x86_64                       2.4.6-93.el7            @rhel-x86_64-server-7
httpd-tools.x86_64                 2.4.6-93.el7            @rhel-x86_64-server-

Instalar paquetes

Para instalar un paquete, use el siguiente comando:

yum install <package>

Este comando consulta sus repositorios y abre el paquete para instalar. Durante el proceso de instalación, yum intenta resolver las dependencias asociadas con el paquete que está instalando. Si yum puede resolver las dependencias, muestra la salida y le pide que confirme la instalación. El siguiente ejemplo muestra la resolución de dependencias:

# yum install httpd
Loaded plugins: langpacks, product-id, rhnplugin, search-disabled-repos, subscription-manager
This system is receiving updates from RHN Classic or Red Hat Satellite.
drivesrvr                                              | 2.9 kB  00:00:00     
Resolving Dependencies
--> Running transaction check
---> Package httpd.x86_64 0:2.4.6-93.el7 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

=========================================================================================================================
 Package                  Arch                Version                        Repository                           Size
=========================================================================================================================
Installing:
 httpd                 x86_64                2.4.6-93.el7                   rhel-x86_64-server-7                  1.2 M

Transaction Summary
=========================================================================================================================
Install  1 Package

Total download size: 1.2 M
Installed size: 3.7 M
Is this ok [y/d/N]:

Nota :Cuando instala httpd , no se requieren otras dependencias para instalar el paquete. En otras situaciones, puede haber dependencias adicionales requeridas para la instalación que yum necesita instalarse. Si yum no puede resolver las dependencias, la salida enumera los errores. Debe resolver estas dependencias para continuar con la instalación.

Paquetes de actualización

Para actualizar un paquete instalado, ejecute el siguiente comando:

yum update <package>

Este comando busca en el repositorio actualizaciones del paquete especificado, si está disponible.

Si hay una actualización disponible, el comando le muestra el cambio y solicita confirmación. En caso contrario, te informa que no hay nada que hacer:

# yum update httpd
Loaded plugins: langpacks, product-id, rhnplugin, search-disabled-repos, subscription-manager
This system is receiving updates from RHN Classic or Red Hat Satellite.
drivesrvr                                                                                     | 2.9 kB  00:00:00     
No packages marked for update 

También puede usar el siguiente comando para activar una actualización para todos los paquetes en el sistema:

yum update

Este comando consulta los repositorios en busca de actualizaciones de los paquetes instalados en su servidor.

Importante :Este proceso intenta actualizar todos los paquetes en el sistema. Asegúrese de haber revisado su entorno antes de continuar porque los cambios podrían causar problemas inesperados con las aplicaciones como resultado de las actualizaciones.

Eliminar paquetes

Para eliminar un paquete instalado, use el siguiente comando:

yum remove <package name>

Este comando verifica los paquetes instalados, proporciona resultados y le pide que confirme el cambio:

# yum remove httpd
Loaded plugins: langpacks, product-id, rhnplugin, search-disabled-repos, subscription-manager
This system is receiving updates from RHN Classic or Red Hat Satellite.
Resolving Dependencies
--> Running transaction check
---> Package httpd.x86_64 0:2.4.6-93.el7 will be erased
--> Processing Dependency: httpd-mmn = 20120211x8664 for package: mod_php73-7.3.18-1.el7.ius.x86_64
--> Running transaction check
---> Package mod_php73.x86_64 0:7.3.18-1.el7.ius will be erased
--> Finished Dependency Resolution
drivesrvr                                                                                      | 2.9 kB  00:00:00     

Dependencies Resolved

======================================================================================================================
 Package                    Arch              Version                        Repository                        Size
======================================================================================================================
Removing:
 httpd                      x86_64            2.4.6-93.el7                  @rhel-x86_64-server-7             3.7 M
Removing for dependencies:
 mod_php73                  x86_64            7.3.18-1.el7.ius              @ius                              4.8 M

Transaction Summary
=======================================================================================================================
Remove  1 Package (+1 Dependent package)

Installed size: 8.6 M
Is this ok [y/N]:

Nota :Cuando eliminas httpd , yum también elimina el mod_php73 paquete, que depende de httpd . Asegúrese de que la eliminación de un paquete no afecte negativamente a otras partes de su servidor.

Revisar historial y revertir cambios

En algunos casos, debe revisar las acciones realizadas con yum herramienta.

Para ver el historial de yum uso del comando, ejecute el siguiente comando:

yum history

Este comando proporciona una salida numerada que muestra las transacciones realizadas por yum .

# yum history
Loaded plugins: langpacks, product-id, rhnplugin, search-disabled-repos, subscription-manager
This system is receiving updates from RHN Classic or Red Hat Satellite.
ID     | Login user               | Date and time    | Action(s)      | Altered
-------------------------------------------------------------------------------
    19 |  <rack>                  | 2020-06-09 14:58 | Install        |    2   
    18 |  <rack>                  | 2020-06-09 14:57 | Erase          |    2   
    17 |  <rack>                  | 2020-06-09 14:56 | Install        |    1   
    16 |  <rack>                  | 2020-06-09 14:55 | Install        |    4   
    15 |  <rack>                  | 2020-06-09 14:55 | Erase          |    2   
    14 |  <rack>                  | 2020-06-09 14:54 | Erase          |    1   
    13 |  <rack>                  | 2020-06-09 14:50 | Install        |    1   
    12 |  <rack>                  | 2020-06-09 14:49 | Erase          |    2   
    11 | root <root>              | 2020-06-09 10:14 | I, U           |    2   
    10 | root <root>              | 2020-06-09 10:14 | Install        |    2 EE
     9 |  <rack>                  | 2020-06-09 10:14 | Install        |    4   
     8 | root <root>              | 2020-06-09 10:14 | Install        |    1 EE
     7 |  <rack>                  | 2020-06-09 10:14 | Install        |    5   
     6 | root <root>              | 2020-06-09 10:13 | Install        |    4   
     5 | root <root>              | 2020-06-09 10:13 | I, U           |   18  <
     4 | System <unset>           | 2020-01-15 13:02 | Install        |    1 > 
     3 | System <unset>           | 2020-01-15 13:02 | Install        |    1   
     2 | System <unset>           | 2020-01-15 13:02 | Erase          |    1   
     1 | System <unset>           | 2020-01-15 12:55 | Install        |  578   
history list

Esta lista proporciona solo la fecha, la acción y el número del paquete alterado. Para obtener más información sobre una acción específica, puede consultar el ID de la columna de la izquierda. Use el siguiente comando para ver información sobre la acción:

   yum history info <ID>

Ejecutar este comando proporciona más información sobre lo que ocurrió durante esta transacción:

# yum history info 18
Loaded plugins: langpacks, product-id, rhnplugin, search-disabled-repos, subscription-manager
This system is receiving updates from RHN Classic or Red Hat Satellite.
Transaction ID : 18
Begin time     : Tue Jun  9 14:57:12 2020
Begin rpmdb    : 609:12b0c5cdd97ae2f0a77a06403b7b16f3d404403c
End time       :            14:57:13 2020 (1 seconds)
End rpmdb      : 607:784f813e94127f71465085cd9437377514697243
User           :  <rack>
Return-Code    : Success
Command Line   : remove httpd
Transaction performed with:
    Installed     rpm-4.11.3-40.el7.x86_64                    @anaconda/7.7
    Installed     subscription-manager-1.24.13-3.el7_7.x86_64 @base/7.7
    Installed     yum-3.4.3-167.el7.noarch                    @rhel-x86_64-server-7
    Installed     yum-rhn-plugin-2.0.1-10.el7.noarch          @anaconda/7.7
Packages Altered:
    Erase httpd-2.4.6-93.el7.x86_64         @rhel-x86_64-server-7
    Erase mod_php73-7.3.18-1.el7.ius.x86_64 @ius
history info

Si necesita deshacer un cambio, debe usar el siguiente comando:

yum history undo <ID>

Este comando proporciona información sobre lo que cambia esta acción y solicita confirmación.

# yum history undo 13
Loaded plugins: langpacks, product-id, rhnplugin, search-disabled-repos, subscription-manager
This system is receiving updates from RHN Classic or Red Hat Satellite.
Undoing transaction 13, from Tue Jun  9 14:50:18 2020
    Install httpd-2.4.6-93.el7.x86_64 @rhel-x86_64-server-7
Resolving Dependencies
--> Running transaction check
---> Package httpd.x86_64 0:2.4.6-93.el7 will be erased
--> Processing Dependency: httpd-mmn = 20120211x8664 for package: mod_php73-7.3.18-1.el7.ius.x86_64
--> Running transaction check
---> Package mod_php73.x86_64 0:7.3.18-1.el7.ius will be erased
--> Finished Dependency Resolution
drivesrvr                                                                                        | 2.9 kB  00:00:00     

Dependencies Resolved

======================================================================================================================
 Package                    Arch               Version                        Repository                       Size
======================================================================================================================
Removing:
 httpd                      x86_64           2.4.6-93.el7                 @rhel-x86_64-server-7                3.7 M
Removing for dependencies:
 mod_php73                  x86_64           7.3.18-1.el7.ius             @ius                                 4.8 M

Transaction Summary
======================================================================================================================
Remove  1 Package (+1 Dependent package)

Installed size: 8.6 M
Is this ok [y/N]:

Si desea revertir todos los cambios en una transacción específica, use el siguiente comando:

yum history rollback <ID>

Este comando le muestra lo que cambia esta acción y solicita confirmación. Dependiendo de cuánto desee retroceder, esta lista puede ser extensa. El resultado es similar al siguiente ejemplo:

# yum history rollback 17
Loaded plugins: langpacks, product-id, rhnplugin, search-disabled-repos, subscription-manager
This system is receiving updates from RHN Classic or Red Hat Satellite.
Rollback to transaction 17, from Tue Jun  9 14:56:03 2020
  Undoing the following transactions: 18, 19
    Reinstall httpd-2.4.6-93.el7.x86_64         @rhel-x86_64-server-7
    Reinstall mod_php73-7.3.18-1.el7.ius.x86_64 @ius
drivesrvr                                                                             | 2.9 kB  00:00:00     
Resolving Dependencies
--> Running transaction check
---> Package httpd.x86_64 0:2.4.6-93.el7 will be reinstalled
---> Package mod_php73.x86_64 0:7.3.18-1.el7.ius will be reinstalled
--> Finished Dependency Resolution

Dependencies Resolved

=====================================================================================================================
 Package                 Arch               Version                        Repository                         Size
=====================================================================================================================
Reinstalling:
 httpd                  x86_64             2.4.6-93.el7                   rhel-x86_64-server-7                1.2 M
 mod_php73              x86_64             7.3.18-1.el7.ius               ius                                 1.6 M

Transaction Summary
=====================================================================================================================
Reinstall  2 Packages

Total download size: 2.8 M
Installed size: 8.6 M
Is this ok [y/d/N]:

Más información

Hay más opciones disponibles dentro de yum . Puede ver las diferentes banderas y opciones en Linuxman página para yum en este enlace:página man de yum

Porque el yum realiza cambios en el sistema, siempre debe asegurarse de haber probado su entorno antes de instalar o actualizar paquetes. Si es posible, asegúrese de tener una imagen utilizable para revertir en caso de problemas posteriores a la actualización.


Linux
  1. Apt obtener ejemplos de comandos para administrar paquetes en Ubuntu/Debian

  2. Cómo instalar y administrar software en CentOS 7

  3. 20 ejemplos de comandos Zypper para administrar paquetes en SUSE Linux

  4. Ejemplos de comandos YUM para instalar, eliminar y actualizar paquetes

  5. ¿Eliminar completamente todos los paquetes que instalé?

Comandos YUM

Paquetes de software

¿Cómo usar APT para administrar paquetes en Ubuntu?

¿Cómo administrar paquetes de hospedaje en WHM/cPanel?

Cómo instalar y administrar paquetes RPM en el sistema Ubuntu/Debian

15 ejemplos de comandos Yum de Linux:instalar, desinstalar, actualizar paquetes