Was ist der Unterschied zwischen DNF und Yum in CentOS8

yum und DNF sind im Wesentlichen Programme, die Abhängigkeiten und Software-Repositorys verwalten und anschließend RPM zum Installieren, Herunterladen und Entfernen von Paketen verwenden. DNF ist der Nachfolger von yum und unterscheidet sich hauptsächlich dadurch, dass es einige Bibliotheken aus dem Paketmanager ZYpp von openSUSE verwendet, um die Geschwindigkeit zu erhöhen und andere Aspekte zu verbessern.


Lassen Sie uns zunächst das RPM-Paket verstehen
RPM ist ein Paketformat und ein Low-Level-Paketmanager. Low-Level-Paketmanager übernehmen die grundlegenden Aufgaben: Sie installieren Pakete für Sie, deinstallieren aber ein von Ihnen angegebenes Paket nur, wenn alle Abhängigkeiten bereits installiert sind. Sie verwalten keine Abhängigkeiten und Repositories für Sie. RPM benötigt, wie andere Low-Level-Paketmanager wie Debians dpkg und Slackwares pkgtools, kein vorhandenes Repository. Wenn Sie also versuchen, ein Paket damit zu installieren, aber eine Abhängigkeit fehlt, wird diese nicht automatisch behoben, sondern Sie müssen sie manuell herunterladen und installieren. Sie müssen selbst nach dem RPM-Abhängigkeitspaket suchen und dann die Download-URL für das RPM angeben.
DNF erschien zum ersten Mal
Wenn Sie Fedora-Fan sind und auf Version 22 aktualisiert haben, ist Ihnen möglicherweise eine wesentliche Änderung aufgefallen. Die bekannte (und langjährige)Der Paketmanager ist verschwunden. An seiner Stelle steht das deutlich leistungsfähigere und intelligentere Dandified Yum (DNF).
Warum haben wir den DNF-Paketmanager als Ersatz für Yum eingeführt? Und wie verwendet man das neue Paketverwaltungssystem?
Bevor wir beginnen, sollten Sie wissen, dass diejenigen, die nie die Kommandozeile benutzen (was auf einem Fedora-System wahrscheinlich selten vorkommt), nichts Ungewöhnliches bemerken sollten. Die GUI-Oberfläche bleibt (fast) unverändert – es ist immer noch der gleiche Desktop. Wenn Sie jedoch gerne Software über die Kommandozeile installieren, werden Sie beim Ausführen eines Befehls einen kurzen neuen Textaufruf bemerken.
Der Grund, warum Yum eliminiert wurde
Es gibt drei Hauptgründe, warum Yum auf DNF hochgestuft wurde. Diese Gründe sind alt und schwerwiegend genug, um Yum aufzugeben:
Eine undokumentierte API – Das bedeutete zusätzlichen Aufwand für Entwickler. Um ihre Aufgaben erledigen zu können, mussten sie oft die Yum-Codebasis durchsuchen, um die Aufrufe zu schreiben. Dies verlangsamte die Entwicklung erheblich.
Python 3 – Fedora wechselt zu Python 3 und Yum wird diese Änderung nicht überleben, während DNF entweder mit Python 2 oder Python 3 ausgeführt werden kann.
Defekter Algorithmus zur Abhängigkeitsauflösung – Dies war lange Zeit die Achillesferse des Fedora-Paketmanagers. DNF verwendet eine hochmoderne, auf Satisfiability (SAT) basierende Abhängigkeitsauflösung. Dies ist derselbe Typ von Abhängigkeitsauflösung, der auch in SUSE und openSUSEs Zypper verwendet wird.
Einfach ausgedrückt: Yum ist veraltet und kann den Anforderungen einer modernen Fedora-Distribution nicht standhalten.
Was sind die Vorteile von dnf?
Man muss dies aus zwei Perspektiven betrachten: Endbenutzer und Entwickler. Für Endbenutzer bedeutet der Wechsel von Yum zu DNF vor allem eines: ein zuverlässigeres Erlebnis. Der Grund für diese Zuverlässigkeit ist die überlegene Abhängigkeitsauflösung von DNF. Es kommt nur noch sehr selten vor, dass das System bei der Installation eines Pakets eine Abhängigkeit nicht auflösen kann. Das System ist intelligenter. Yums Abhängigkeitsalgorithmus war ohnehin fehlerhaft. Der SAT-basierte Abhängigkeitsauflöser von DNF löst dieses Problem.
Endbenutzer werden außerdem feststellen, dass die Installation von Paketen weniger Speicher verbraucht. Installationen und Upgrades werden ebenfalls schneller. Letzterer Punkt sollte besonders wichtig sein. Upgrades mit dem Yum-Tool werden zunehmend unakzeptabel langsam (insbesondere im Vergleich zu Tools wie apt-get und zypper).
Für Entwickler bedeutet der Umstieg auf DNF effizienteres und zuverlässigeres Arbeiten. Alle verfügbaren APIs sind dokumentiert. Ein weiterer Vorteil für Entwickler ist die Implementierung der Programmiersprache C. Entwickler haben bereits Hawkeye und Librepo (C- und Python-Bibliotheken zum Herunterladen von Paketen und Metadaten aus Software-Repositories) entwickelt. Sie werden in Zukunft weitere C-basierte APIs veröffentlichen. Angesichts der nach wie vor weit verbreiteten Sprache C (aktuell Platz 2 im TIOBE-Index) dürfte dies für Entwickler eine willkommene Abwechslung sein.
Wie verwende ich den dnf-Befehl?
Hier kommen die guten Nachrichten für Endbenutzer. Die Migration von Yum zu DNF wird Ihr Gedächtnis auf die Probe stellen. Wenn Sie ein Terminalfenster öffnen, um eine Kommandozeileninstallation auszuführen, geben Sie normalerweise den Befehl „yum install php“ ein. Das ist jetzt nicht mehr der Fall. Der angepasste Befehl dafür lautet „dnf install php“.
Wechsel von Yum zu DNF
Es wird einige Hindernisse geben. Ja, DNF ist ein Ersatz für Yum. Wenn Sie kein fortgeschrittener Yum-Benutzer sind, werden Sie bei der Migration vermutlich keine Probleme haben. Es gibt jedoch dennoch einige Probleme zu entdecken. Sehen wir uns den alten Befehl „yum update --skip-broken“ an. Mit diesem Befehl wird das Update ausgeführt, aber alle Pakete mit beschädigten Abhängigkeiten werden übersprungen. DNF hingegen überspringt diese beschädigten Pakete standardmäßig. Es ist nicht nötig, das Flag „skip broken“ hierfür einzufügen. Wenn DNF beschädigte Pakete melden soll, müssen Sie „DNF update“ und dann „DNF check-update“ ausführen. Manche Benutzer mögen dieses Verhalten nicht, weil es einem einst einfachen Prozess zusätzliche Schritte hinzufügt. Für fortgeschrittene Benutzer kann DNF am Ende mehr Arbeit machen als Yum. Für Standardbenutzer hingegen ist DNF nichts weiter als das Ersetzen von yum-Befehlen durch DNF-Befehle.
Die Migration von Yum zu DNF kann zunächst etwas umständlich sein, insbesondere wenn ahnungslose Benutzer die Kommandozeile öffnen und versuchen, Yum zu verwenden. Aber selbst dann erhalten Sie eine Warnung:
Der Yum-Befehl ist veraltet, verwenden Sie stattdessen dnf.
Weitere Informationen finden Sie unter „man dnf“ und „man yum2dnf“.
Um Transaktionsmetadaten von Yum nach DNF zu übertragen, führen Sie „dnf migrate“ aus.
Ins Chinesische übersetzt bedeutet es wahrscheinlich, dass der Befehl yum veraltet ist. Bitte verwenden Sie dnf
Offensichtlich hat sich etwas geändert. Ich denke jedoch, die Entwickler hätten ihre Warnungen deutlicher formulieren können, anstatt nur „man dnf“ zu sagen. Stattdessen etwas Ähnliches wie:
Der Yum-Befehl wird nicht mehr verwendet. Ersetzen Sie in Ihren Befehlen „yum“ durch „dnf“, um das neue System zu verwenden.
Wenn Terminalbenutzer eine solche Eingabeaufforderung sehen, müssen sie lediglich „yum“ durch „dnf“ ersetzen, und das war’s.
yum und DNF sind im Wesentlichen Programme, die Abhängigkeiten und Software-Repositorys verwalten und anschließend RPM zum Installieren, Herunterladen und Entfernen von Paketen nutzen. DNF ist der Nachfolger von yum und unterscheidet sich hauptsächlich dadurch, dass es einige Bibliotheken aus dem Paketmanager ZYpp von openSUSE nutzt, um die Geschwindigkeit zu erhöhen und andere Aspekte zu verbessern (obwohl meine Tests zur Installationsgeschwindigkeit darauf hindeuteten, dass DNF tatsächlich keinen signifikanten Vorteil gegenüber yum bietet).

Punktzahl

Das ist eine gute Idee

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * Mark