Normalerweise installiert ein Benutzer Pakete mit dem Befehlszeilendienstprogramm yum. Die offiziellen CentOS-Repositorys enthalten Tausende von RPM-Paketen, aber in einigen Fällen stoßen Sie möglicherweise auf eine RPM-Datei, die sich in keinem Repository befindet.
Einige Softwareautoren bieten nur herunterladbare RPM-Dateien für die Installation an, und deshalb sind RPM-Dateien so konzipiert, dass sie unabhängig außerhalb eines Software-Repositorys heruntergeladen und installiert werden können.
In diesem Tutorial lernen wir, wie Sie eine .rpm-Datei in Ihrer Linux-CentOS-Distribution installieren.
Was ist der RPM-Paketmanager
Red Hat Package Manager ist ein kostenloses Open-Source-Paketverwaltungssystem zum Installieren, Deinstallieren und Verwalten von Softwarepaketen in Red Hat und seinen Derivaten wie CentOS und Fedora.
Voraussetzungen
Bevor wir beginnen, müssen Sie sicherstellen, dass Sie über sudo-Berechtigungen verfügen und einige der RPM-, DNF- und YUM-Paketmanager (alle standardmäßig enthalten) auf Ihrem System installiert haben.
Stellen Sie außerdem sicher, dass das RPM-Paket, das Sie installieren möchten, für Ihre Systemarchitektur und Ihre CentOS-Version erstellt wurde.
Für dieses Tutorial werden wir das Slack-RPM-Paket auf CentOS 8 herunterladen und installieren.
RPM-Installationspaket herunterladen
Normalerweise wird ein Webbrowser verwendet, um eine .rpm-Datei zu finden und herunterzuladen, aber Sie können auch Befehlszeilentools wie den Befehl wget oder curl verwenden.
Zum Beispiel werden wir den Befehl wget verwenden, um das Slack-Paket (rpm) wie folgt in das aktuelle Verzeichnis herunterzuladen (ich lade nach /tmp herunter):
$ 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]
Zur Überprüfung können Sie den Befehl ls verwenden, um die RPM-Datei im Verzeichnis „/tmp“ aufzulisten:
$ ls /tmp/
slack-4.3.2-0.1.fc21.x86_64.rpm
Installieren der RPM-Datei mit dem RPM-Befehl
Sie können das RPM-Paket mit zwei Methoden installieren. Der erste verwendet den RPM-Befehl, der andere den Yum-Paketmanager.
Im folgenden Befehl verwenden wir -i
Option zum Installieren des Download-RPM-Pakets:
$ 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
Aus der obigen Ausgabe können wir ersehen, dass die Installation aufgrund fehlender Abhängigkeitspakete fehlgeschlagen ist. Also müssen wir nach RPM-Abhängigkeitspaketen suchen und sie manuell installieren.
RPM-Abhängigkeiten prüfen
Um nach den Paketabhängigkeiten zu suchen, haben wir zwei RPM-Optionen. Sie können -qpR
verwenden RPM-Datei abzufragen und -qR
nach Paketnamen abzufragen.
rpm -qpR .rpm-file
rpm -qR package-name
Lassen Sie uns beispielsweise eine .rpm-Datei (wir verwenden Slack RPM, die wir bereits zuvor heruntergeladen haben) abfragen, um alle erforderlichen Abhängigkeitspakete zu finden:
$ 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
Installation von RPM-Paketen mit yum
Jetzt kommt das praktische Tool namens yum
wo wir uns keine Gedanken über Abhängigkeiten machen müssen. Dieser Yum-Paketmanager kann alle erforderlichen Abhängigkeiten abrufen und für uns einrichten.
Wir werden jetzt den Yum-Paketmanager verwenden, um unser heruntergeladenes Paket mit dem folgenden Befehl zu installieren:
$ 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]:
Nach der Eingabe von y
es installiert alle Abhängigkeiten und unser Paket:
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!
RPM-Paket wird entfernt
Um das RPM-Paket zu entfernen, weisen wir RPM an, die Software mit -e
zu löschen Option.
Im folgenden Beispiel werden wir das Slack-Paket deinstallieren (entfernen):
$ sudo rpm -e slack-4.3.2-0.1.fc21.x86_64
Schlussfolgerung
In diesem Tutorial haben wir Ihnen gezeigt, wie Sie RPM-Pakete unter CentOS installieren und entfernen. Sie sollten lieber yum als rpm verwenden, da es automatisch alle Abhängigkeiten für Sie auflöst. Yum macht es einfach, Installationen, Updates und Voraussetzungen zu verfolgen.