GNU/Linux >> LINUX-Kenntnisse >  >> Linux

RPM-Befehle in Linux mit Beispielen

RPM (Redhat Package Manager) ist ein Paketverwaltungsprogramm für die Befehlszeile, das zum Installieren, Deinstallieren, Aktualisieren, Abfragen und Überprüfen von Softwarepaketen verwendet wird.

In diesem Tutorial werde ich einige der häufigsten Linux-RPM-Befehle für einen Systemadministrator erklären. Einige der RPM-basierten Linux-Distributionen sind Redhat, Centos, Fedora und OpenSuse. Yum und DNF sind Frontends für das RPM-Management, die mehr Funktionen haben und die Einschränkungen überwinden könnten, die sie haben.

So erhalten Sie RPM-Pakete

Es gibt mehrere Methoden, um RPM-Pakete zu erhalten, wie unten gezeigt.

  1. Software-CD/DVD
  2. CentOS-Mirror
  3. RedHat (Konto erforderlich)
  4. Alle offenen Repository-Websites

Grundlegende Modi für RPM-Befehl

  • Installieren:Es wird verwendet, um ein beliebiges RPM-Paket zu installieren.
  • Entfernen :Wird verwendet, um RPM-Pakete zu löschen, zu entfernen oder zu deinstallieren.
  • Upgrade :Es wird verwendet, um das vorhandene RPM-Paket zu aktualisieren.
  • Abfrage :Wird verwendet, um ein beliebiges RPM-Paket abzufragen.
  • Verify :Wird verwendet, um RPM-Pakete zu verifizieren.

Beispiele für RPM-Pakete

GeoIP-Anwendung GeoIP-1.5.0-11.el7.x86_64.rpm ist eine RPM-Paketbibliothek für die Zuordnung von Land/Stadt/Organisation zu IP-Adressen oder Hostnamen. GeoIP ist der Paketname, Version ist 1.5.0-11.el7 , Release ist 7 und Architektur .x86_64 .

Installieren

1. Informationen zum RPM-Paket erhalten, ohne es zu installieren

Nachdem wir ein Paket heruntergeladen haben und vor der Installation die Informationen eines Pakets wissen möchten. Wir können -qip verwenden Option (Infopaket abfragen), um die Informationen eines Pakets aufzulisten.

$ 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. So installieren Sie das RPM-Paket

Wir können -ivh verwenden Parameter, um ein bestimmtes Paket wie unten gezeigt zu installieren.

$ 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. So überprüfen Sie ein installiertes RPM-Paket

Wir können -q verwenden Option mit Paketnamen, es wird angezeigt, ob ein RPM-Paket installiert ist oder nicht.

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

4. So listen Sie alle Dateien für ein bestimmtes installiertes RPM-Paket auf

Wir können alle Dateien eines installierten RPM-Pakets auflisten, indem wir den -ql verwenden Option mit rpm-Befehl.

$ 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. So listen Sie kürzlich installierte RPM-Pakete auf

Wir können -qa verwenden Option mit --last , Es listet alle kürzlich installierten RPM-Pakete auf.

$ 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. So installieren Sie das RPM-Paket ohne Abhängigkeiten

Wir können -ivh verwenden Parameter mit --nodeps steht für keine Abhängigkeitsprüfung, um ein bestimmtes Paket ohne Abhängigkeiten zu installieren, wie unten gezeigt.

$ 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. So ersetzen Sie das installierte RPM-Paket

Wir können -ivh --replacepkgs verwenden Parameter, um ein bestimmtes installiertes Paket wie unten gezeigt zu ersetzen.

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

Entfernen

8. So deinstallieren Sie das RPM-Paket

Wir können -e verwenden Parameter, um ein bestimmtes Paket zu deinstallieren, das ohne Abhängigkeiten installiert wurde (Abhängigkeiten nicht überprüfen), wie unten gezeigt.

$ sudo  rpm -e --nodeps GeoIP

Geben Sie nun den folgenden Befehl ein, um sicherzustellen, dass GeoIP nicht installiert ist.

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

Upgrade

9. So aktualisieren Sie das installierte RPM-Paket

Wir können -Uvh verwenden Parameter, um ein bestimmtes installiertes Paket wie unten gezeigt zu aktualisieren.

$ 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

Abfrage

10. Wie man alle installierten Pakete abfragt

Wir können -a verwenden Parameter zusammen mit q um alle installierten Pakete auf dem Server wie unten gezeigt abzufragen.

$ 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. Wie man ein bestimmtes Paket abfragt

Wir können grep verwenden Befehl, um nach einem bestimmten Paket zu suchen, installiert ist oder nicht, wie unten gezeigt.

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

12. Wie man eine Datei abfragt, die zu welchem ​​RPM-Paket gehört

In Beispiel Nummer 9 geben wir den Befehl ein, um alle Dateien eines installierten RPM-Pakets aufzulisten. Jetzt wollen wir /usr/lib64/libGeoIP.so.1.5.0 wissen Datei gehört zu welchem ​​RPM-Paket.

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

Bestätigen

13. So erhalten Sie Informationen zu einem bestimmten Paket

Wir können -i verwenden Parameter zusammen mit q um Informationen für ein bestimmtes Paket wie unten gezeigt zu erhalten.

$ 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. So verifizieren Sie ein RPM-Paket

Wir können ein Paket verifizieren, indem wir die Informationen der installierten Dateien des Pakets mit der RPM-Datenbank vergleichen, indem wir -Vp verwenden Option (Paket überprüfen).

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

15. So überprüfen Sie alle RPM-Pakete

Wir können alle installierten RPM-Pakete überprüfen, indem wir -Va verwenden Option (alle bestätigen).

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

Lesen Sie auch:

  • Wie man Pakete herunterlädt, ohne sie auf RPM-Distributionen zu installieren
  • 21 DNF-Befehle zum Verwalten von RPM-basierten Linux-Distributionen
  • Abfragen von Paketen mit dem Linux-RPM-Befehl

Ein RPM-Paket besteht aus Programmdateien, Konfigurationsdateien und einer Liste kompilierter Softwareprogramme und Bibliotheken, die von den Paketen (Abhängigkeiten) benötigt werden. Dieses RPM-Dienstprogramm funktioniert nur mit Paketen, die im '.rpm'-Format erstellt wurden.


Linux
  1. Head- und Tail-Befehle in Linux mit Beispielen erklärt

  2. Mehr als 10 Linux-VI-Befehle mit Beispielen

  3. Linux-RPM-Befehl mit 10 nützlichen Beispielen

  4. RPM-Befehle

  5. Die einfachsten Linux-Befehle mit 10 Beispielen

Verwendung des RPM-Befehls (mit Beispielen)

15 Linux-PS-Befehl mit Beispielen

Nmap-Befehle mit Beispielen

RPM-Befehle in Linux mit Beispielen

SSH-Befehle in Linux mit Verwendungsbeispielen

Linux-Paketverwaltung mit YUM und RPM