Einführung in die RPM/YUM -Paketverwaltung

Einführung in die RPM/YUM -Paketverwaltung
Red Hat Package Manager ist das Standard-Dienstprogramm für Open-Source-Paketverwaltung, das im Rahmen der allgemeinen öffentlichen Lizenz (GPU) erstellt wurde. Das Paketverwaltungssystem ist für alle Red Hat-basierten Linux-Derivate wie Fedora, Rhel und CentOS gilt. RPM erleichtert Systemadministratoren die fünf grundlegenden Modi der Paketverwaltungsvorgänge: Installieren, Aktualisieren, Entfernen, Abfragen und Überprüfen von Paketen.

Darüber hinaus soll Yellowdog Updater modifiziert (YUM), welches APT -Paket -Management -Tool für DPKG -Dienstprogramm im Debian -Verpackungssystem ist. In diesem Leitfaden werden wir yum kurz vorstellen. Während wir eine detaillierte Einführung und einen detaillierten Hintergrund zum RPM-Verpackungssystem für Red Hat Linux-Verteilungen haben.

Hintergrund

In den früheren Tagen der Linux wurden Software/Programme in das System aufgenommen, indem der Quellcode in runnable Binärdateien zusammengestellt wurde. Manchmal wurden sie in Form eines Pakets zusammengestellt, das als Tarballs mit mehreren Dateien bekannt ist. Nach der Software -Installation von einem Tarball würden sich alle ausführbaren Dateien, Dokumente, Konfigurationsdateien und Bibliotheken über das System in relevanten Verzeichnissen ausbreiten.

Diese Art der Anwendungseinbeziehung hat jedoch seine Grenzen:

  • Die Unfähigkeit des Benutzers, Programmdokumente und Konfigurationsdateien zu finden.
  • Schwierigkeiten, die erforderlichen Abhängigkeiten des Programms zu finden.
  • Erfordert der Benutzer, jede Programmdatei einzeln zu lokalisieren und zu entfernen.
  • Hielt keine Metadaten: Daher waren die Benutzer nach der Installation die Programmversion und andere Details nicht bewusst.

Seitdem haben Linux -Verteilungen einen langen Weg behandelt, indem sie Software in komplexe vorgefertigte Programme zur Verfügung gestellt haben, die als Pakete bezeichnet werden. Daher folgten alle Linux -Verteilungen zwei Hauptverpackungsformate, RPM und DEB. In diesem Artikel konzentrieren wir uns auf ein Drehzahlverpackungssystem.

Einstieg

Die RPM, YUM und DEB (für Debian Linux Distributionen) haben viele Ähnlichkeiten. Alle von ihnen können Pakete mit einer Befehlszeileneinrichtung aktualisieren, installieren, entfernen und aktualisieren.

Zum Zeitpunkt jeder Linux -Installation wird ebenfalls ein großer Teil der Pakete installiert, was für die beabsichtigte Verwendung des Systems relevant ist. Zu einem bestimmten Zeitpunkt muss ein Benutzer jedoch neue Pakete hinzufügen, um zusätzliche Funktionen zu erhalten, aktuelle Pakete zu aktualisieren oder Pakete zu entfernen, die nicht in Red Hat-basierten Systemen erforderlich sind.

Lassen Sie uns herausfinden, wie die Paketmanager für Red Hat Linux -Verteilungen die oben genannten Aufgaben ausführen.

Drehzahl

Der RPM-Paket-Manager bietet den Hauptbefehl mit dem Namen RPM, mit dem mehrere Optionen möglich sind, damit der Benutzer alle paketbezogenen Informationen finden kann. Die Optionen Drehzahl Angebote sind in drei Hauptkategorien unterteilt:

  • Paketen installieren, aktualisieren und entfernen
  • Informationen zum Abfrieren von paketbezogenen Informationen und überprüfen Sie
  • Verschiedene Funktionen ausführen

In diesem Artikel werden wir die ersten beiden RPM -Befehlsoptionen diskutieren. Obwohl es die grundlegenden Aufgaben im Zusammenhang mit Paketverwaltungen ausführen kann, ist RPM das erste Tool, das sich mit RPM-Verpackungen befasst, und hat einige Hauptbeschränkungen:

Die Paketinstallation mit RPM schlägt fehl, wenn die Paketabhängigkeit nicht verfügbar ist. Es erfordert weiter, dass der Benutzer durch die Suche nach dem Paket die Komponente enthält, die selbst einige Abhängigkeiten hat. Außerdem erfordern die RPM -Befehle, dass der Benutzer den RPM -Dateispeicherort bestimmen kann.

Yum

Eine bequeme Lösung für die oben genannten Probleme ist YUM, das das Paketupdate und die Verwaltung des RPM -Systems automatisiert. Es bietet auch Abhängigkeitsmanagement, indem RPM -Pakete und nicht als einzelne Software, sondern als Teil eines Repository -Systems berücksichtigt werden.

Drehzahlverpackung

RPM -Paket ist die Kombination aus Konfigurationsdateien, Befehlen und Dokumenten, um eine Softwarefunktion bereitzustellen. Es enthält auch Metadaten, die Paketinhalte enthält, von wo aus sie stammen oder installiert wurden, Versionen und Abhängigkeitsdetails mit anderen Informationen.

Bevor der Paketname selbst weiter in RPM -Paketdateien eingeht, teilt er viele Details zur Software mit. Verwenden Sie das, um Details zu einem Paket zu finden, das bereits im System installiert ist Drehzahl Befehl mit dem -Qi Abfrageinformationsoption:

[Fedora@Fedora] $ sudo rpm -qi nmap | weniger
Name: NMAP
Epoche: 3
Version: 7.80
Veröffentlichung: 11.FC34
Architektur: x86_64
Installation Datum: Di 29 Jun 2021 12:45:34 PM EDT
Gruppe: nicht spezifiziert
Größe: 24743073

Quelldrehzahl: NMAP-7.80-11.FC34.src.Drehzahl
Erstellung Datum: Do 11. März 2021 12:34:34 Uhr Est
Build Host: Buildvm-X86-27.IAD2.Fedoraproject.Org
Packager: Fedora -Projekt

Die Ausgabe des oben genannten Befehls teilt Details aus, von denen das Programm direkt aus dem Yum -Repository oder einem Installationsmedium heruntergeladen wurde. In ähnlicher Weise teilt es auch Details in der Zeit, als das Programm installiert wurde, wer es gebaut hat, seine Größe und die Installation.

Die Software für Linux-Verteilungen stammt aus Open-Source-Projekten, die als Upstream-Softwareanbieter bezeichnet werden. Sie stellen die Software mit Lizenzbedingungen zur Verfügung. Die Verteilungen erstellen den Quellcode in Binärdateien und konsolidieren sie mit anderen relevanten Komponenten in ein Paket.

Das konsolidierte RPM -Paket wird unterzeichnet, um seine Integrität zu überprüfen, und dem Repository in Übereinstimmung mit Verteilung und Architektur hinzugefügt. Alle RPM -Pakete stammen aus den Yum -Repositories, die in einem Verzeichnis am Webserver, einem lokalen Maschinenverzeichnis oder einem Medium wie CD oder DVD oder einem FTP -Server verfügbar sind.

Paketort

Der Speicherort von Repository -Dateien ist im Benutzer des Benutzers im Inneren verfügbar /etc/yum.Repos.D/ Verzeichnis, es ist der Standardort zum Speichern von Repository -Informationen. Benutzer können diese Positionen jedoch auch in der Konfigurationsdatei des Hauptrücks finden oder angeben /etc/yum.Conf.

[Fedora@Fedora] $ cat /etc /yum.Repo.D/Fedora.Repo | weniger

Eine Repository -Datei enthält mehrere Kopien von Verteilungspaketen, die an verschiedenen Orten verfügbar sind, auch als Spiegel bezeichnet. Daher informiert es Yum über den nächstgelegenen Spiegelort für den schnellsten Download. Die Repository -Datei enthält drei Abschnitte, die Informationen über die Normal-, Debug- und zuletzt Quellpakete enthalten.

Genau wie bei der Debian -Verpackung erhalten RPM und Yum Details zu den installierten Paketen aus der lokalen Datenbank. Die Paketmanager holen Metadaten ab (von /var/cache/yum Verzeichnis) über die Pakete in der lokalen Datenbank aus aktivierten Repositories.

Laden Sie RPMs von Yum Repository herunter

Um RPMS-Inhalte zu untersuchen oder sie in einer nicht-networkierten Umgebung zu installieren, muss ein Benutzer das Paket herunterladen müssen. Es kann mit Hilfe des Befehls yumdownloader ermöglicht werden. Verwenden Sie den Befehl yumdownloader mit dem Paketnamen, um ihn im aktuellen Verzeichnis herunterzuladen. Laden Sie beispielsweise den VIM-Text-Editor wie folgt herunter:

[Fedora@Fedora] $ yumdownloader vim

Oder verwenden Sie die Option -resolve, um die erforderlichen Abhängigkeiten für das Paket herunterzuladen.

[Fedora@Fedora] $ yumdownloader -Resolve vim

(4/6): vim-minimal-8.2.3046-1.FC34.x86_64.Drehzahl 208 kb/s | 698 KB 00:03
(5/6): vim-common-8.2.3046-1.FC34.x86_64.Drehzahl 727 kb/s | 6.6 MB 00:09

RPMS -Installation

Obwohl die Drehzahl Der Befehl kann grundlegende Installation und Upgrades durchführen. Benutzer verwenden sie nur dann, wenn sich die Programmdateien bereits im aktuellen Verzeichnis befinden und installiert sind. Da VIM bereits im aktuellen Verzeichnis erhältlich ist, installieren Sie es über Drehzahl Befehl mit an -ich Option mit dem gesamten Paketnamen wie folgt:

[Fedora@Fedora] $ yumdownloader-Resolve NMAP-7.80-11.FC34.x86_64.Drehzahl
[Fedora@Fedora] $ sudo rpm -i nmap -7.80-11.FC34.x86_64.Drehzahl

Benutze die -U Option zum Upgrade des Pakets mit a -hv Option zum Drucken der Hash -Zeichen und der detaillierten ausführlichen Ausgabe. Beachten Sie, dass die Option -u das ZSH -Paket installiert, auch wenn es bereits installiert ist.

[Fedora@Fedora] $ sudo rpm -UHV NMAP -7.80-11.FC34.x86_64.Drehzahl
Überprüfung… ################################################################################################################################################# [100%]
Zubereitung… ################################## [100%]

Der Drehzahl Der Befehl bietet eine andere Art von Installation mit dem -F (Erfrischung) Optionen, die ein Paket nur installieren, wenn eine frühere Version dieses Pakets vorhanden ist. Es ist in einem Szenario hilfreich, wenn der Benutzer alle installierten RPMs in einem aktuellen Verzeichnis aktualisieren möchte.

[Fedora@Fedora] $ rpm -fhv *.Drehzahl

Benutzer können den Installationsoptionen weitere Optionen hinzufügen, z. B -Ersetzen Die Option ermöglicht die Neuinstallation eines Pakets, wenn eine Komponente davon fälschlicherweise gelöscht wird. Ähnlich, -Oldpackage Die Option ermöglicht die Installation einer älteren Version des Pakets.

[Fedora@Fedora] $ sudo rpm -UHV-Replacepkgs emacs-common-24.4-3.FC21.x86_64.Drehzahl
[Fedora@Fedora] $ sudo rpm -UHV --oldpackage ZSH -4.3.10-7.EL6.x86_64.Drehzahl

Drehzahlentfernung

Verwenden Sie die RPM -Pakete zum Entfernen von RPM -Paketen -e Option des RPM -Befehls mit nur einem Paketbasisnamen. Die Ausgabe des folgenden Befehls zeigt an, dass im Gegensatz zum Paketentfernung im Debian -Verpackungssystem keine Abhängigkeiten angezeigt werden, die im Vorgang entfernt wurden.

[Fedora@Fedora] $ sudo rpm -e nmap

Beachte. Wenn das Paket jedoch eine Abhängigkeit für ein anderes Programm ist, erhält der Benutzer eine Fehlermeldung, da der RPM -Befehl es nicht entfernen kann.

Abfragen von Drehzahlinformationen

In diesem Abschnitt werden wir verschiedene Möglichkeiten erörtern, Informationen über die abzufragen Drehzahl Befehl. Im Abschnitt RPM -Verpackung lernen wir, Informationen über ein bereits installiertes Paket anzeigen -Qi Information. In ähnlicher Weise ermöglicht der Befehl rpm auch die Anzeige von Dateien, Konfigurationsdateien und anderer Dokumentation mit Hilfe von -Ql, -QC, Und -Qd Optionen wie folgt:

[Fedora@Fedora] $ rpm -ql nmap
/usr/bin/nmap
/usr/bin/nping
/usr/lib/.Build-id
/usr/lib/.Build-id/4e

[Fedora@Fedora] $ rpm -qc nmap
[Fedora@Fedora] $ rpm -qd nmap
/usr/share/doc/nmap/readme
/usr/share/doc/nmap/nmap.Verwendung.txt
/usr/share/mAN/DE/MAN1/NMAP.1.gz
/usr/share/Man/es/Man1/NMAP.1.gz

RPM -Pakete enthalten eine Vielzahl von Informationen, die mit verschiedenen Flaggen abgerufen werden können. Ein Benutzer kann beispielsweise die Option für die Erfassung verwenden, um Voraussetzungsprogramme oder Dateien zu finden, um ein EMAC -Common -Programm zu installieren.

[Fedora@Fedora] $ rpm -q -fordert Emacs -Common
Fragen Sie die Informationen zu Skripten vor und nach der Drehzahlinstallation oder Entfernung mit Hilfe des --Skripte Möglichkeit.
[CC Lang = "Text" width = "100%" Height = "100%" entkommen = "True" thema = "Blackboard" nowrap = "0"]
[Fedora@Fedora] $ rpm -q --Skripts httpd

Ein weiteres wichtiges Merkmal, das Drehzahl Angebote ist a -QueryFormat Option, mit der wir Informationen wie Tags abfragen und in einem beliebigen Format ausgeben können, den der Benutzer bevorzugt. Führen Sie den folgenden Befehl aus, um alle verfügbaren Tags anzuzeigen:

[Fedora@Fedora] $ RPM -Querytags | weniger
BOGEN
Archivieren
Grundnamen
Bugurl
Buildarchen
Buildhost
BAUZEIT

Zum Beispiel, um den Namen, die Größe und die Freigabennummer des Tags anzuzeigen Binutils, Verwenden Sie den folgenden Befehl:

[fedora@fedora] $ rpm -q binutils -queryFormat "Das Paket ist %Name, \ und seine Größe ist %Größe \ n".

Das Paket ist Binutils, seine Größe beträgt 31814958 und die Veröffentlichung beträgt 41.FC34

Zuletzt fügen Sie die hinzu -P Magen Sie an der Abfrageoption, um die von jemandem geteilten RPMs vor der Installation zu untersuchen.

[Fedora@Fedora] $ yumdownloader emac-common
[Fedora@Fedora] $ rpm -qip emacs-common-27.2-3.FC34.x86_64.Drehzahl

Dieses Paket enthält alle gängigen Dateien, die von EMACs, EMACS-Lucid oder EMACS-NOX benötigt werden.

Drehzahlüberprüfung

Die RPM -Datenbank enthält Fingerabdrücke für jede Paketdatei, mit der der Benutzer seine Integrität überprüfen kann. Der RPM -Befehl bietet a -V Feature, um alle Änderungen an installierten Paketkomponenten zu überprüfen. Es ist jedoch wichtig zu beachten.

Installieren Sie das EMAC-Common-Paket und ändern Sie seine Dateien. Aber denken Sie daran, das Paket nach dem Experimentieren zu entfernen und neu zu installieren.

[Fedora@Fedora] $ RPM -i ZSH -5.8-5.FC34.x86_64.Drehzahl
[Fedora@Fedora] $ sudo -i
[root@fedora ~]# echo fedora> /bin /zsh
[root@fedora ~]# rm /etc /zshrc
RM: Entfernen Sie die reguläre Datei '/etc/zshrc' '? y
[Fedora@Fedora] $ rpm -v vim
fehlt C /etc /zshrc
S.5… t. /usr/bin/zsh

Die obige Ausgabe zeigt Änderungen an, die in der / etc / Datei vorgenommen wurden, während die Datei / etc / entfernt wird. Die Buchstaben oder Zahlen in der obigen Ausgabe stellen alle Änderungen an den Paketdateien dar. Diese Buchstaben ersetzen die Punkte nach der Manipulation der Datei, einige der Indikatoren sind wie folgt:

  • S: Die Dateigröße unterscheidet sich
  • D: Geräte -Major/Nebennummernfehlanpassung
  • M: Der Dateimodus unterscheidet sich
  • P: Fähigkeiten unterscheiden sich
  • U: Benutzerbesitz unterscheidet sich
  • 5: MD5 -Summe unterscheidet sich
  • T: Änderungszeit

Weitere Details zu Überprüfungsanzeigen aus der offiziellen Dokumentation finden Sie in der offiziellen Dokumentation.

Die obige Ausgabe hilft dabei. Der Drehzahl Befehlsangebote a -Ersetzen Option zur Wiederherstellung des Paketstatus. Überprüfen Sie erneut mit der Option Überprüfung: Keine Ausgabe zeigt keine Änderungen an.

[Fedora@Fedora] $ rpm -i -Replacepkgs ZSH -5.0.2-7.EL7.x86_64.Drehzahl
[Fedora@Fedora] $ rpm -v vim

Die ideale Praxis ist es, die Datenbank zu sichern /var/lib/rpm zu einem schreibgeschützten Medium. Es hilft bei der Überprüfung der Paketintegrität mit der Bürgschaft, dass sie nicht mit einer temperierten/rissigen Datenbank überprüft wird.

Abschluss

Der Artikel beschreibt die Geschichte und Entwicklung des Verpackungssystems für Red Hat Linux -Verteilung. Es enthält auch Details zur RPM -Verpackung und dessen Standort im System. Zuletzt enthält der Artikel eingehende Details zu den fünf Grundvorgängen von Drehzahlen.