GNU/Linux >> Tutoriels Linux >  >> Linux

Commandes RPM sous Linux avec exemples

RPM (Redhat Package Manager) est un utilitaire de gestion de packages en ligne de commande utilisé pour installer, désinstaller, mettre à jour, interroger et vérifier des packages logiciels.

Dans ce didacticiel, j'expliquerai certaines des commandes rpm Linux les plus courantes pour un administrateur système. Certaines des distributions Linux basées sur RPM sont Redhat, Centos, Fedora et OpenSuse. Yum et DNF sont des frontaux pour la gestion des RPM qui ont plus de fonctionnalités et pourraient surmonter les limitations dont ils disposent.

Comment obtenir des packages RPM

Il existe plusieurs méthodes disponibles pour obtenir des packages RPM, comme indiqué ci-dessous.

  1. CD/DVD du logiciel
  2. Miroir CentOS
  3. RedHat (besoin d'un compte)
  4. Tous les sites Web de référentiels ouverts

Modes de base pour la commande RPM

  • Install :Il est utilisé pour installer n'importe quel package RPM.
  • Supprimer :il est utilisé pour effacer, supprimer ou désinstaller tout package RPM.
  • Mise à jour :Il est utilisé pour mettre à jour le package RPM existant.
  • Query :Il est utilisé pour interroger n'importe quel package RPM.
  • Verify :Il est utilisé pour vérifier les packages RPM.

Exemples de package RPM

Application GéoIP GeoIP-1.5.0-11.el7.x86_64.rpm est une bibliothèque de packages RPM pour le pays/la ville/l'organisation vers l'adresse IP ou le mappage du nom d'hôte. GeoIP est le nom du package, la version est 1.5.0-11.el7 , la version est 7 et architecture .x86_64 .

Installer

1. Comment connaître les informations du package RPM sans l'installer

Après avoir téléchargé un package et nous voulons connaître les informations d'un package avant de l'installer. Nous pouvons utiliser -qip option (query info package) pour lister les informations d'un package.

$ 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. Comment installer le package RPM

Nous pouvons utiliser -ivh paramètres pour installer un package particulier comme indiqué ci-dessous.

$ 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. Comment vérifier un package RPM installé

Nous pouvons utiliser -q option avec le nom du package, il montrera si un package rpm est installé ou non.

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

4. Comment répertorier tous les fichiers d'un package RPM installé particulier

Nous pouvons lister tous les fichiers d'un paquet rpm installé, en utilisant le -ql option avec la commande 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. Comment répertorier les packages RPM récemment installés

Nous pouvons utiliser -qa option avec --last , Il listera tous les packages RPM récemment installés.

$ 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. Comment installer le package RPM sans dépendances

Nous pouvons utiliser -ivh paramètres avec --nodeps signifie aucune vérification des dépendances, pour installer un package particulier sans dépendances, comme indiqué ci-dessous.

$ 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. Comment remplacer le package RPM installé

Nous pouvons utiliser -ivh --replacepkgs paramètres pour remplacer un package particulier installé comme indiqué ci-dessous.

$ 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%]

Supprimer

8. Comment désinstaller le package RPM

Nous pouvons utiliser -e paramètres pour désinstaller un package particulier installé sans dépendances (ne pas vérifier les dépendances) comme indiqué ci-dessous.

$ sudo  rpm -e --nodeps GeoIP

Tapez maintenant la commande ci-dessous pour vous assurer que GeoIP n'est pas installé.

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

Mettre à jour

9. Comment mettre à jour le package RPM installé

Nous pouvons utiliser -Uvh paramètres pour mettre à niveau un package particulier installé comme indiqué ci-dessous.

$ 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

Requête

10. Comment interroger tous les packages installés

Nous pouvons utiliser -a paramètres avec q pour interroger tous les packages installés sur le serveur, comme indiqué ci-dessous.

$ 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. Comment interroger un package particulier

Nous pouvons utiliser grep commande pour trouver un paquet particulier est installé ou non comme indiqué ci-dessous.

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

12. Comment interroger un fichier qui appartient à quel package RPM

Dans l'exemple numéro 9, nous tapons la commande pour lister tous les fichiers d'un package RPM installé, maintenant nous voulons savoir /usr/lib64/libGeoIP.so.1.5.0 le fichier appartient à quel package RPM.

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

Vérifier

13. Comment obtenir des informations sur un package particulier

Nous pouvons utiliser -i paramètres avec q pour obtenir des informations sur un package particulier, comme indiqué ci-dessous.

$ 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. Comment vérifier un package RPM

Nous pouvons vérifier un paquet en comparant les informations des fichiers installés du paquet à la base de données rpm, en utilisant -Vp option (vérifier le paquet).

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

15. Comment vérifier tous les packages RPM

Nous pouvons vérifier tous les packages rpm installés, en utilisant -Va option (tout vérifier).

$ 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
...

Lire aussi :

  • Comment télécharger des packages sans les installer sur des distributions RPM
  • 21 commandes DNF pour gérer les distributions Linux basées sur RPM
  • Comment interroger des packages à l'aide de la commande Linux RPM

Un package rpm se compose de fichiers de programme, de fichiers de configuration et d'une liste de programmes logiciels compilés et de bibliothèques nécessaires aux packages (dépendances). Cet utilitaire rpm ne fonctionne qu'avec les packages construits au format '.rpm'.


Linux
  1. Commandes tête et queue sous Linux expliquées avec des exemples

  2. 10+ commandes Linux VI avec des exemples

  3. Linux RPM Command avec 10 exemples utiles

  4. Commandes RPM

  5. Commande JQ sous Linux avec exemples

Comment utiliser la commande RPM (avec exemples)

15 Commande Linux ps avec exemples

Commandes Nmap avec exemples

Commandes RPM sous Linux avec exemples

Commandes SSH sous Linux avec exemples d'utilisation

Gestion des packages Linux avec YUM et RPM