Einführung
RPM und YUM sind Paketverwaltungssysteme, die für Red Hat-basierte Linux-Distributionen entwickelt wurden. Ein Paketverwaltungssystem ist eine Sammlung von Tools zur Automatisierung der Paketinstallation, -aktualisierung und -entfernung.
Obwohl die beiden Paketmanager Ähnlichkeiten aufweisen, unterscheiden sie sich hauptsächlich in der Funktionalität.
In diesem Artikel lernen Sie den Unterschied zwischen RPM und YUM kennen.
Was ist RPM
RPM ist ein Befehlszeilen-Paketmanager, der 1995 von Red Hat entwickelt wurde. Der Paketmanager wurde entwickelt, um auf Red Hat-basierten Systemen zu funktionieren. Heute ist RPM die Kernkomponente vieler Linux-Distributionen, darunter CentOS, Fedora, Oracle Linux, openSUSE, Mageia usw.
Mit dem RPM-Paketmanager können Benutzer Pakete abfragen, überprüfen, installieren, aktualisieren und entfernen. Der Hauptnachteil ist, dass Paketabhängigkeiten oder automatische Paketaktualisierungen nicht aufgelöst werden.
Was ist YUM
JUM (J ellow Hund U pdater, M odified) ist eine Open-Source-Linux-Paketverwaltungsanwendung, die den RPM-Paketmanager verwendet. Mit diesem Front-End-RPM-Tool können Benutzer offizielle und Drittanbieter-Repositories durchsuchen und Pakete vom System installieren, aktualisieren oder entfernen.
YUM arbeitet mit Online-Repositorys, die in /etc/yum.repos.d/*.repo aufgelistet sind Datei. Darüber hinaus ermöglicht das Tool Benutzern, ihre eigene *.repo hinzuzufügen Dateien.
Die Vorteile von YUM gegenüber RPM sind automatische Updates, einfache Paketverwaltung und Abhängigkeitsverwaltung.
RPM vs. YUM
Sowohl RPM als auch YUM installieren Pakete, speichern die Informationen in einer Datenbank und bieten grundlegende Befehlszeilenfunktionen. Es gibt jedoch einige Unterschiede zwischen den beiden Paketmanagern.
Die folgende Tabelle gibt einen Überblick über die wichtigsten Unterschiede zwischen RPM und YUM :
Parameter | RPM (Red Hat Package Manager) | YUM (Yellow Dog Updater, modifiziert) |
---|---|---|
Ursprung | 1997 von Red Hat eingeführt. | 2003 von YUP auf YUM aktualisiert. |
Definition | Ein Low-Level-Paketmanager mit grundlegenden Funktionen. | Ein Top-Level-Front-End-Paketmanager mit erweiterten Funktionen. |
Abhängigkeiten | Löst keine Abhängigkeiten auf. | Löst und installiert Paketabhängigkeiten automatisch. |
Paketinstallation | Ermöglicht die Installation mehrerer Paketversionen. Es ist jedoch immer nur eine einzelne Paketinstallation möglich. | Erlaubt nicht, dass mehrere Paketversionen installiert werden. Unterstützt nur im Repository verfügbare Pakete und zeigt die bereits installierten Pakete an. Andererseits kann YUM mehrere Pakete gleichzeitig installieren. |
Upgrades | RPM unterstützt keine automatischen Upgrades. | YUM ermöglicht automatische Upgrades auf die neueste verfügbare Version. |
Repository-Unterstützung | RPM verwendet kein Online-Repository für die Paketinstallation. Stattdessen benötigt es die exakte lokale .rpm Paketpfad, um die Installation abzuschließen. | YUM ist für die Installation von Paketen auf ein Online-Repository angewiesen. Das Dienstprogramm benötigt nur den Paketnamen. |
Autonomie | RPM ist autonom und verwendet seine eigene Datenbank, um Informationen über die Pakete auf dem System zu speichern. | YUM ist ein Front-End-Dienstprogramm, das den RPM-Paketmanager für die Paketverwaltung verwendet. Das Dienstprogramm verwendet auch die RPM-Datenbank im Backend. |
Benutzerfreundlichkeit | Die Verwaltung und Handhabung von RPM-Paketen wird manchmal kompliziert. | Es ist der einfachste Weg, RPM-Pakete zu verwalten. |
Rollback | RPM unterstützt kein Rollback von Änderungen. | YUM ermöglicht das Zurücksetzen aller Änderungen. |
Abhängigkeiten
Die höchste RPM Nachteil ist, dass es die erforderlichen Paketabhängigkeiten nicht abruft Während der Installation. Da es Pakete mit den darin enthaltenen Informationen und ohne Verwendung von Repositories installiert, kann RPM keine Abhängigkeiten auflösen. Daher müssen Benutzer die Paketabhängigkeiten manuell herausfinden.
Da RPM keine Informationen über automatisch hinzugefügte Pakete speichert, gibt es keine Möglichkeit herauszufinden, welche Abhängigkeiten entfernt werden müssen, wenn ein Paket mit RPM gelöscht wird.
Außerdem gibt es vor dem Entfernen von Paketen keine Eingabeaufforderung, außer wenn ein Paket entfernt wird, das für ein anderes Programm erforderlich ist. In diesem Fall gibt RPM eine Fehlermeldung aus und verhindert das Entfernen.
Lecker kann einen Paketabhängigkeitsbaum automatisch scannen, erkennen und auflösen . Das bedeutet, dass YUM automatisch alle zusätzlichen Pakete holt, die für ein ordnungsgemäßes Funktionieren eines Programms erforderlich sind. YUM löst Abhängigkeiten mit einem depsolver
auf , eine Bibliothek zur Verwaltung von Paketabhängigkeiten. Mit diesem Tool ruft es die Abhängigkeiten aus Online-Repositories ab und installiert die erforderlichen Pakete.
Paketinstallation
Lecker ist eine viel bessere Option als RPM, wenn Sie eine Stapelinstallation durchführen. Da YUM Online-Repositorys verwendet, sind nur die Paketnamen erforderlich. YUM installiert die Pakete und die notwendigen Abhängigkeiten automatisch .
Installieren Sie beispielsweise einen MySQL-Server auf CentOS 8 mit yum
benötigt nur den Paketnamen:
Das Dienstprogramm installiert den MySQL-Server und löst alle Abhängigkeiten automatisch auf.
Der Nachteil von YUM ist, dass es nicht erlaubt, mehrere Paketversionen zu installieren. Außerdem werden nur Pakete unterstützt, die im Repository verfügbar sind.
Drehzahl ermöglicht die Installation mehrerer Pakete und Versionen, erfordert jedoch den vollständigen Dateinamen mit der .rpm Verlängerung. Dennoch löst es nicht die Abhängigkeiten für die installierten Pakete.
Zum Beispiel:
RPM installiert das angegebene Paket und gibt einen Fehler aus, der besagt, dass es Abhängigkeiten gibt, die nicht installiert wurden.
Upgrades
Paket-Upgrades bringen normalerweise mehr Funktionalität, Fehlerbehebungen oder das Entfernen unnötiger Funktionen. RPM kann Paket-Upgrades nicht automatisch handhaben und erfordert individuelle Upgrades für jedes Paket. Der RPM-Upgrade-Prozess umfasst das Herunterladen der RPM-Dateien, was der Installation neuer Pakete ähnelt.
Andererseits scannt YUM die installierten Pakete und benachrichtigt den Benutzer, wenn Upgrades verfügbar sind. YUM aktualisiert Pakete automatisch mithilfe von Online-Repositories.
Repository-Unterstützung
Da RPM keine Repositories unterstützt , erfordert die Installation eines Pakets den vollständigen Dateinamen und Speicherort des Pakets. RPM führt eine interne Datenbank der installierten Pakete und ermöglicht es Ihnen, die installierten Pakete später unter Verwendung des Paketnamens zu verwalten.
Andererseits erfordert die Installation eines Pakets mit YUM nur den Paketnamen und nicht den Paketspeicherort. Das Tool durchsucht die Repositories, die in den Repo-Dateien aus /etc/yum.repos.d/ aufgeführt sind Verzeichnis und installiert die neueste verfügbare Paketversion.
Autonomie
RPM ist ein eigenständiger Paketmanager das alle Informationen enthält, die für eine ordnungsgemäße Paketinstallation oder -entfernung erforderlich sind:die Dateilisten, die Berechtigungen, die Skripte usw. Die Daten sind in einer RPM-Python-Bibliothek enthalten.
Andererseits verwendet YUM die RPM-Python-Bibliothek für die meisten seiner lokalen Operationen und kann ohne sie nicht funktionieren . Das bedeutet, dass YUM kein eigenständiger Paketmanager ist, aber zusätzlich zu RPM zusätzliche Funktionen bietet.