Cómo instalar RPM en CentOS

Por lo general, un usuario instala paquetes utilizando la utilidad de línea de comandos yum. Los repositorios oficiales de CentOS contienen miles de paquetes RPM, pero en algunos casos, puede encontrar un archivo RPM que no se encuentra en ningún repositorio.
Algunos autores de software proporcionan solo archivos RPM descargables para la instalación, y es por eso que los archivos RPM están diseñados para descargarse e instalarse de forma independiente, fuera de un repositorio de software.
En este tutorial, aprenderemos cómo instalar un archivo .rpm en su distribución de Linux CentOS.
¿Qué es el administrador de paquetes RPM?
Red Hat Package Manager es un sistema de administración de paquetes de código abierto y gratuito para instalar, desinstalar y administrar paquetes de software en Red Hat y sus derivados, como CentOS y Fedora.
Prerrequisitos
Antes de comenzar, debe asegurarse de tener privilegios de sudo y de haber instalado en su sistema algunos de los administradores de paquetes RPM, DNF y YUM (todos incluidos de forma predeterminada).
Además, asegúrese de que el paquete RPM que desea instalar esté construido para la arquitectura de su sistema y su versión de CentOS.
Para el propósito de este tutorial, descargaremos e instalaremos el paquete Slack RPM en CentOS 8.
Descargar el paquete de instalación de RPM
Normalmente, se utiliza un navegador web para localizar y descargar un archivo .rpm, pero también puede utilizar herramientas de línea de comandos como wget o curl.
Por ejemplo, usaremos el comando wget para descargar el paquete slack (rpm) al directorio actual (lo estoy descargando en / tmp) de la siguiente manera:
$ wget https://downloads.slack-edge.com/linux_releases/slack-4.3.2-0.1.fc21.x86_64.rpm --2020-02-15 23:11:20-- https://downloads.slack-edge.com/linux_releases/slack-4.3.2-0.1.fc21.x86_64.rpm Resolving downloads.slack-edge.com (downloads.slack-edge.com)... 99.86.243.67, 99.86.243.88, 99.86.243.60, ... Connecting to downloads.slack-edge.com (downloads.slack-edge.com)|99.86.243.67|:443... connected. HTTP request sent, awaiting response... 200 OK Length: 60768380 (58M) [application/octet-stream] Saving to: ‘slack-4.3.2-0.1.fc21.x86_64.rpm’ slack-4.3.2-0.1.fc21.x86_6 100%[========================================>] 57.95M 584KB/s in 2m 19s 2020-02-15 23:13:40 (427 KB/s) - ‘slack-4.3.2-0.1.fc21.x86_64.rpm’ saved [60768380/60768380]
Para verificar, puede usar el comando ls para listar el archivo rpm en el directorio ‘/ tmp’:
$ ls /tmp/ slack-4.3.2-0.1.fc21.x86_64.rpm
Instalación del archivo RPM usando el comando RPM
Puede instalar el paquete RPM utilizando dos métodos. Primero está usando el comando RPM, el otro está usando el administrador de paquetes yum.
En el siguiente comando usamos -i opción para instalar el paquete rpm de descarga:
$ sudo rpm -i /tmp/slack-4.3.2-0.1.fc21.x86_64.rpm warning: ./slack-4.3.2-0.1.fc21.x86_64.rpm: Header V4 RSA/SHA1 Signature, key ID 8e6c9578: NOKEY error: Failed dependencies: libXScrnSaver is needed by slack-4.3.2-0.1.fc21.x86_64 libappindicator-gtk3 is needed by slack-4.3.2-0.1.fc21.x86_64
De la salida anterior, podemos ver que la instalación falló debido a la falta de paquetes de dependencias. Así que tenemos que comprobar los paquetes de dependencia de rpm e instalarlos manualmente.
Verifique las dependencias de RPM
Para verificar las dependencias del paquete, tenemos dos opciones de rpm. Puedes usar -qpR para consultar el archivo rpm y -qR para consultar por nombre de paquete.
rpm -qpR .rpm-file
rpm -qR package-name
Por ejemplo, consultemos un archivo .rpm (usamos slack rpm, que ya descargamos antes) para encontrar todos los paquetes de dependencia requeridos:
$ sudo rpm -qpR /tmp/slack-4.3.2-0.1.fc21.x86_64.rpm warning: slack-4.3.2-0.1.fc21.x86_64.rpm: Header V4 RSA/SHA1 Signature, key ID 8e6c9578: NOKEY libXScrnSaver libappindicator-gtk3 libsecret-1.so.0()(64bit) rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 rpmlib(PayloadIsXz) <= 5.2-1
Instalación de paquetes RPM con yum
Ahora viene la práctica herramienta llamada yum donde no tenemos que preocuparnos por las dependencias. Este administrador de paquetes de yum puede extraer todas las dependencias necesarias y configurarlas para nosotros.
Ahora usaremos el administrador de paquetes yum para instalar nuestro paquete descargado con el siguiente comando:
$ sudo yum localinstall /tmp/slack-4.3.2-0.1.fc21.x86_64.rpm CentOS-8 - AppStream 6.4 kB/s | 4.3 kB 00:00 CentOS-8 - Base 5.2 kB/s | 3.8 kB 00:00 CentOS-8 - Extras 2.7 kB/s | 1.5 kB 00:00 Extra Packages for Enterprise Linux Modular 8 - x86_6 26 kB/s | 27 kB 00:01 Extra Packages for Enterprise Linux 8 - x86_64 20 kB/s | 29 kB 00:01 Dependencies resolved. ====================================================================================== Package Architecture Version Repository Size ====================================================================================== Installing: slack x86_64 4.3.2-0.1.fc21 @commandline 58 M Transaction Summary ====================================================================================== Install 1 Package Total size: 58 M Installed size: 185 M Is this ok [y/N]:
Después de escribir y instalará todas las dependencias y nuestro paquete:
Downloading Packages: Running transaction check Transaction check succeeded. Running transaction test Transaction test succeeded. Running transaction Preparing : 1/1 Installing : slack-4.3.2-0.1.fc21.x86_64 1/1 Running scriptlet: slack-4.3.2-0.1.fc21.x86_64 1/1 Verifying : slack-4.3.2-0.1.fc21.x86_64 1/1 Installed: slack-4.3.2-0.1.fc21.x86_64 Complete!
Eliminando el paquete RPM
Para eliminar el paquete RPM, le indicamos a RPM que borre el software con -e opción.
En el siguiente ejemplo, desinstalaremos (eliminaremos) el paquete slack:
$ sudo rpm -e slack-4.3.2-0.1.fc21.x86_64
Conclusión
En este tutorial, le mostramos cómo instalar y eliminar paquetes RPM en CentOS. Debería preferir usar yum sobre rpm, ya que resuelve automáticamente todas las dependencias. Yum simplifica el seguimiento de las instalaciones, las actualizaciones y los requisitos previos.