Por lo general, un usuario instala paquetes usando la utilidad de línea de comando yum. Los repositorios oficiales de CentOS contienen miles de paquetes RPM, pero en algunos casos, puede encontrar un archivo RPM que no está en ningún repositorio.
Algunos autores de software solo proporcionan 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 a 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 gratuito y de código abierto para instalar, desinstalar y administrar paquetes de software en Red Hat y sus derivados, como CentOS y Fedora.
Requisitos
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 manera predeterminada).
Además, asegúrese de que el paquete RPM que desea instalar esté diseñado para la arquitectura de su sistema y su versión de CentOS.
A los efectos de este tutorial, descargaremos e instalaremos el paquete RPM de Slack en CentOS 8.
Descargar paquete de instalación de RPM
Por lo general, se usa un navegador web para ubicar y descargar un archivo .rpm, pero también puede usar 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 (estoy descargando a /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
Del resultado anterior, podemos ver que la instalación falló debido a la falta de paquetes de dependencias. Así que tenemos que buscar paquetes de dependencia de rpm e instalarlos manualmente.
Comprueba las dependencias de RPM
Para verificar las dependencias del paquete, tenemos dos opciones de rpm. Puede 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 necesarios:
$ 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 requeridas 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!
Eliminación del 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 de holgura:
$ 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 automáticamente resuelve todas las dependencias por usted. Yum simplifica el seguimiento de instalaciones, actualizaciones y requisitos previos.