LINUX

Comandos RPM en Linux con ejemplos

Comandos RPM Linux

RPM (Redhat Package Manager) es una utilidad de gestión de paquetes de línea de comandos que se utiliza para instalar, desinstalar, actualizar, consultar y verificar paquetes de software.

En este tutorial explicaré algunos de los comandos rpm de Linux más comunes para un administrador de sistema. Algunas de las distribuciones de Linux basadas en RPM son Redhat, Centos, Fedora y OpenSuse. Yum y DNF son interfaces para RPM Management que tienen más funciones y podrían superar las limitaciones que tiene.

Cómo obtener paquetes RPM

Hay varios métodos disponibles para obtener paquetes RPM como se muestra a continuación.

  1. CD / DVD de software
  2. Espejo CentOS
  3. RedHat (Necesita una cuenta)
  4. Cualquier sitio web de repositorio abierto

Modos básicos para el comando RPM

  • Instalar en pc : Se utiliza para instalar cualquier paquete RPM.
  • Eliminar : Se utiliza para borrar, eliminar o desinstalar cualquier paquete RPM.
  • Mejora : Se utiliza para actualizar el paquete RPM existente.
  • Consulta : Se utiliza para consultar cualquier paquete RPM.
  • Verificar : Se utiliza para verificar paquetes RPM.

Ejemplos de paquete RPM

Aplicación GeoIP GeoIP-1.5.0-11.el7.x86_64.rpm es una biblioteca de paquetes RPM para el país / ciudad / organización para la asignación de direcciones IP o nombres de host. GeoIP es el nombre del paquete, la versión es 1.5.0-11.el7, la liberación es 7 y arquitectura .x86_64.

Instalar en pc

1) Cómo conocer la información del paquete RPM sin instalar

Después de haber descargado un paquete y queremos saber la información de un paquete antes de instalarlo. Nosotros podemos usar -qipopción (consultar paquete de información) para enumerar la información de un paquete.

$ sudo rpm -qip GeoIP-1.5.0-11.el7.x86_64.rpm
output
Name        : GeoIP
Version     : 1.5.0
Release     : 11.el7
Architecture: x86_64
Install Date: (not installed)
Group       : Development/Libraries
Size        : 2905020
License     : LGPLv2+ and GPLv2+ and CC-BY-SA
Signature   : RSA/SHA256, Sun 20 Nov 2016 05:49:19 PM UTC, Key ID 24c6a8a7f4a80eb5
Source RPM  : GeoIP-1.5.0-11.el7.src.rpm
Build Date  : Sat 05 Nov 2016 08:29:17 PM UTC
Build Host  : worker1.bsys.centos.org
Relocations : (not relocatable)
Packager    : CentOS BuildSystem 
Vendor      : CentOS
URL         : http://www.maxmind.com/app/c
Summary     : Library for country/city/organization to IP address or hostname mapping
Description :
GeoIP is a C library that enables the user to find the country that any IP
address or hostname originates from. It uses a file based database that is
accurate as of June 2007 and can optionally be updated on a weekly
basis by installing the GeoIP-update package. This database simply contains IP
blocks as keys, and countries as values. This database should be more complete
and accurate than using reverse DNS lookups.

This package includes GeoLite data created by MaxMind, available from
http://www.maxmind.com/

2) Cómo instalar el paquete RPM

Nosotros podemos usar -ivh parámetros para instalar un paquete en particular como se muestra a continuación.

$ sudo rpm -ivh GeoIP-1.5.0-11.el7.x86_64.rpm
    Output
    Preparing...                          ################################# [100%]
        package GeoIP-1.5.0-11.el7.x86_64 is already installed

3) Cómo comprobar un paquete RPM instalado

Nosotros podemos usar -q opción con el nombre del paquete, mostrará si un paquete rpm está instalado o no.

$ sudo rpm -q GeoIP
output
GeoIP-1.5.0-11.el7.x86_64

4) Cómo enumerar todos los archivos para un paquete RPM particular instalado

Podemos listar todos los archivos de un paquete rpm instalado, usando el -ql opción con comando rpm.

$ sudo rpm -ql GeoIP
output
/etc/GeoIP.conf
/etc/GeoIP.conf.default
/usr/bin/geoiplookup
/usr/bin/geoiplookup6
/usr/bin/geoipupdate
/usr/lib64/libGeoIP.so.1
/usr/lib64/libGeoIP.so.1.5.0
/usr/lib64/libGeoIPUpdate.so.0
/usr/lib64/libGeoIPUpdate.so.0.0.0
/usr/share/GeoIP
/usr/share/GeoIP/GeoIP-initial.dat
/usr/share/GeoIP/GeoIP.dat
/usr/share/GeoIP/GeoIPASNum.dat
/usr/share/GeoIP/GeoIPASNumv6.dat
/usr/share/GeoIP/GeoIPCity.dat
/usr/share/GeoIP/GeoIPCityv6.dat
/usr/share/GeoIP/GeoIPCountry.dat
/usr/share/GeoIP/GeoIPCountryv6.dat
/usr/share/GeoIP/GeoIPv6-initial.dat
...

5) Cómo enumerar los paquetes RPM instalados recientemente

Nosotros podemos usar -qa opción con --last, Enumerará todos los paquetes rpm instalados recientemente.

$ sudo rpm -qa --last
output
GeoIP-1.5.0-11.el7.x86_64                     Sat 01 Sep 2018 11:34:09 AM UTC
wget-1.14-15.el7_4.1.x86_64                   Sun 26 Aug 2018 03:21:02 PM UTC
iwl7265-firmware-22.0.7.0-62.2.el7_5.noarch   Thu 16 Aug 2018 02:10:18 PM UTC
libgomp-4.8.5-28.el7_5.1.x86_64               Thu 16 Aug 2018 02:10:15 PM UTC
iwl2030-firmware-18.168.6.1-62.2.el7_5.noarch Thu 16 Aug 2018 02:10:15 PM UTC
iptables-1.4.21-24.1.el7_5.x86_64             Thu 16 Aug 2018 02:10:15 PM UTC
yum-plugin-fastestmirror-1.1.31-46.el7_5.noarch Thu 16 Aug 2018 02:10:14 PM UTC
iwl6000-firmware-9.221.4.1-62.2.el7_5.noarch  Thu 16 Aug 2018 02:10:14 PM UTC
iwl4965-firmware-228.61.2.24-62.2.el7_5.noarch Thu 16 Aug 2018 02:10:14 PM UTC
iwl105-firmware-18.168.6.1-62.2.el7_5.noarch  Thu 16 Aug 2018 02:10:14 PM UTC
iwl100-firmware-39.31.5.1-62.2.el7_5.noarch   Thu 16 Aug 2018 02:10:13 PM UTC
iwl1000-firmware-39.31.5.1-62.2.el7_5.noarch  Thu 16 Aug 2018 02:10:13 PM UTC
ca-certificates-2018.2.22-70.0.el7_5.noarch   Thu 16 Aug 2018 02:10:13 PM UTC
iwl6000g2b-firmware-17.168.5.2-62.2.el7_5.noarch Thu 16 Aug 2018 02:10:12 PM UTC
...

6) Cómo instalar el paquete RPM sin dependencias

Nosotros podemos usar -ivh parámetros con --nodeps significa sin verificación de dependencias, para instalar un paquete en particular sin dependencias, como se muestra a continuación.

$ sudo rpm -ivh --nodeps GeoIP-1.5.0-11.el7.x86_64.rpm
    Output
    Preparing...                          ################################# [100%]
        package GeoIP-1.5.0-11.el7.x86_64 is already installed

7) Cómo reemplazar el paquete RPM instalado

Nosotros podemos usar -ivh --replacepkgs parámetros para reemplazar un paquete en particular instalado como se muestra a continuación.

$ sudo rpm -ivh --replacepkgs GeoIP-1.5.0-11.el7.x86_64.rpm
    Output
    Preparing...                          ################################# [100%]
    Updating / installing...
      1:GeoIP-1.5.0-11.el7               ################################# [100%]

Eliminar

8) Cómo desinstalar el paquete RPM

Nosotros podemos usar -e parámetros para desinstalar un paquete en particular instalado sin dependencias (no verifique las dependencias) como se muestra a continuación.

$ sudo  rpm -e --nodeps GeoIP

Ahora escriba el comando a continuación para asegurarse de que GeoIP no esté instalado.

$ sudo rpm -q GeoIP
    Output
    package GeoIP is not installed

Mejora

9) Cómo actualizar el paquete RPM instalado

Nosotros podemos usar -Uvh parámetros para actualizar un paquete en particular instalado como se muestra a continuación.

$ sudo rpm -Uvh GeoIP-1.5.0-11.el7.x86_64.rpm
    Output
    Preparing...                          ################################# [100%]
        package GeoIP-1.5.0-11.el7.x86_64 is already installed

Consulta

10) Cómo consultar todos los paquetes instalados

Nosotros podemos usar -a parámetros junto con q para consultar todos los paquetes instalados en el servidor como se muestra a continuación.

$ sudo rpm -qa
    Output
    python-firewall-0.4.4.4-14.el7.noarch
    ncurses-base-5.9-14.20130511.el7_4.noarch
    plymouth-0.8.9-0.31.20140113.el7.centos.x86_64
    kbd-misc-1.15.5-13.el7.noarch
    vim-common-7.4.160-4.el7.x86_64
    bash-4.2.46-30.el7.x86_64
    dmidecode-3.0-5.el7.x86_64
    filesystem-3.2-25.el7.x86_64
    kbd-1.15.5-13.el7.x86_64
    vim-enhanced-7.4.160-4.el7.x86_64
    firewalld-0.4.4.4-14.el7.noarch
    ....

11) Cómo consultar un paquete en particular

Nosotros podemos usar grep El comando para buscar acerca de un paquete en particular está instalado o no como se muestra a continuación.

$ sudo rpm -qa | grep GeoIP
    Output
    GeoIP-1.5.0-11.el7.x86_64

12) Cómo consultar un archivo que pertenece a qué paquete RPM

En el ejemplo número 9 escribimos comando para listar todos los archivos de un paquete RPM instalado, ahora queremos saber /usr/lib64/libGeoIP.so.1.5.0 pertenece a qué paquete RPM.

$ sudo rpm -qf /usr/lib64/libGeoIP.so.1.5.0
output
GeoIP-1.5.0-11.el7.x86_64

Verificar

13) Cómo obtener información para un paquete en particular

Nosotros podemos usar -i parámetros junto con q para obtener información de un paquete en particular, como se muestra a continuación.

$ sudo rpm -qi GeoIP
Output
Name        : GeoIP
Version     : 1.5.0
Release     : 11.el7
Architecture: x86_64
Install Date: Thu 16 Aug 2018 02:04:09 PM UTC
Group       : Development/Libraries
Size        : 2905020
License     : LGPLv2+ and GPLv2+ and CC-BY-SA
Signature   : RSA/SHA256, Sun 20 Nov 2016 05:49:19 PM UTC, Key ID 24c6a8a7f4a80eb5
Source RPM  : GeoIP-1.5.0-11.el7.src.rpm
Build Date  : Sat 05 Nov 2016 08:29:17 PM UTC
Build Host  : worker1.bsys.centos.org
Relocations : (not relocatable)
Packager    : CentOS BuildSystem
Vendor      : CentOS
URL         : http://www.maxmind.com/app/c
Summary     : Library for country/city/organization to IP address or hostname mapping
Description :
GeoIP is a C library that enables the user to find the country that any IP
address or hostname originates from. It uses a file based database that is
accurate as of June 2007 and can optionally be updated on a weekly
basis by installing the GeoIP-update package. This database simply contains IP
blocks as keys, and countries as values. This database should be more complete
and accurate than using reverse DNS lookups.

This package includes GeoLite data created by MaxMind, available from http://www.maxmind.com/

14) Cómo verificar un paquete RPM

Podemos verificar un paquete comparando la información de los archivos instalados del paquete con la base de datos rpm, usando -Vp opción (verificar paquete).

$ sudo rpm -Vp GeoIP-1.5.0-11.el7.x86_64.rpm

15) Cómo verificar todos los paquetes RPM

Podemos verificar todos los paquetes rpm instalados, usando -Va opción (verificar todo).

$ sudo rpm -Va
output
S.5....T.  c /etc/sysconfig/authconfig
S.5....T.  c /etc/yum.repos.d/CentOS-Base.repo
.M.......  c /etc/machine-id
.M.......  g /etc/udev/hwdb.bin
.M.......  g /var/lib/systemd/random-seed
.M.......  c /etc/shadow
S.5....T.  c /etc/ssh/sshd_config
.M.......  c /etc/audit/rules.d/audit.rules
S.5....T.  c /etc/NetworkManager/NetworkManager.conf
....L....  c /etc/pam.d/fingerprint-auth
....L....  c /etc/pam.d/password-auth
....L....  c /etc/pam.d/postlogin
...

Leer también:

Un paquete rpm consta de archivos de programa, archivos de configuración y una lista de programas de software compilados y bibliotecas que necesitan los paquetes (dependencias). Esta utilidad rpm solo funciona con paquetes que se basan en el formato ‘.rpm’.

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba
Cerrar