Advertisements

Linux-Paketverwaltung mit dnf

Die Installation einer Anwendung auf einem Computersystem ist ziemlich einfach. Sie kopieren Dateien aus einem Archiv (z. B. einer ZIP-Datei) auf den Zielcomputer an einem Ort, an dem das Betriebssystem Anwendungen erwartet. Da viele von uns daran gewöhnt sind, ausgefallene Installations-“Assistenten” zu haben, die uns helfen, Software auf unseren Computern zu installieren, scheint der Prozess technisch komplexer zu sein, als er ist.

Weitere Linux-Ressourcen

Was ist Komplex ist jedoch die Frage, was eine Bewerbung ausmacht. Was sich Benutzer als einzelne Anwendung vorstellen, enthält tatsächlich Code-Ausleihen aus Softwarebibliotheken (d. h. .so Dateien unter Linux, .dll Dateien unter Windows und .dylib auf macOS) über ein Betriebssystem verstreut.

Damit sich Benutzer nicht um diese veritable Matrix aus voneinander abhängigem Code kümmern müssen, verwendet Linux a Paketverwaltungssystem um zu verfolgen, welche Anwendung welche Bibliothek benötigt, welche Bibliothek oder Anwendung Sicherheits- oder Funktionsupdates hat und welche zusätzlichen Datendateien mit jedem Softwaretitel installiert wurden. Ein Paketmanager ist im Wesentlichen ein Installationsassistent. Sie sind einfach zu bedienen, bieten sowohl grafische als auch terminalbasierte Schnittstellen und erleichtern Ihnen das Leben. Je besser Sie den Paketmanager Ihrer Distribution kennen, desto einfacher wird Ihr Leben.

Anwendungen unter Linux installieren

Wenn Sie ein gelegentlicher Desktop-Benutzer sind, der eine Anwendung unter Linux installieren möchte, suchen Sie möglicherweise nach GNOME Software, einem Desktop-Anwendungsbrowser.

gnome-software.png

Es funktioniert wie erwartet: Sie klicken sich durch die Benutzeroberfläche, bis Sie eine Anwendung finden, die nützlich zu sein scheint, und klicken dann auf das Installieren Taste.

Alternativ können Sie öffnen .rpm oder .flatpakref Pakete, die Sie aus dem Internet in der GNOME-Software heruntergeladen haben, damit diese für Sie installiert werden.

Wenn Sie dazu neigen, Ihren Computer mit getippten Befehlen zu steuern, lesen Sie weiter!

Software finden mit dnf

Bevor Sie eine Anwendung installieren können, müssen Sie möglicherweise bestätigen, dass sie auf den Servern Ihrer Verteilung vorhanden ist. Normalerweise wird nach dem allgemeinen Namen einer Anwendung mit . gesucht dnf genügt. Angenommen, Sie haben kürzlich einen Artikel über Cockpit gelesen und möchten ihn ausprobieren. Du könntest suchen nach cockpit um zu überprüfen, ob Ihre Distribution sie enthält:

$ dnf search cockpit
 Last metadata expiration check: 0:01:46 ago on Tue 18 May 2021 19:18:15 NZST.
 ==== Name Exactly Matched: cockpit ====
 cockpit.x86_64 : Web Console for Linux servers

==== Name & Summary Matched: cockpit ==
 cockpit-bridge.x86_64 : Cockpit bridge server-side component
 cockpit-composer.noarch : Composer GUI for use with Cockpit
 [...]

Es gibt eine genaue Übereinstimmung. Das als Übereinstimmung aufgeführte Paket heißt cockpit.x86_64, aber die .x86_64 Ein Teil des Namens bezeichnet nur die CPU-Architektur, mit der er kompatibel ist. Standardmäßig installiert Ihr System Pakete mit passenden CPU-Architekturen, sodass Sie diese Erweiterung ignorieren können. Sie haben also bestätigt, dass das gesuchte Paket tatsächlich einfach heißt cockpit.

Jetzt können Sie es getrost mit installieren dnf install. Dieser Schritt erfordert Administratorrechte:

$ sudo dnf install cockpit

Das ist meistens das Typische dnf Workflow: suchen und installieren.

Manchmal jedoch sind die Ergebnisse von dnf search sind Ihnen nicht klar, oder Sie möchten mehr Informationen zu einem Paket als nur seinen allgemeinen Namen. Es gibt ein paar relevante dnf Unterbefehle, je nachdem, welche Informationen Sie suchen.

Paketmetadaten

Wenn du das Gefühl hast, deine Suche hat dich getroffen nah dran zu dem gewünschten Paket, aber Sie sind sich noch nicht sicher, ist es oft hilfreich, sich die Metadaten des Pakets anzusehen, z. B. die URL und die Beschreibung des Projekts. Um diese Informationen zu erhalten, verwenden Sie das angenehm intuitive dnf info Befehl:

$ dnf info terminator
Available Packages
Name         : terminator
Version      : 1.92
Release      : 2.el8
Architecture : noarch
Size         : 526 k
Source       : terminator-1.92-2.el8.src.rpm
Repository   : epel
Summary      : Store and run multiple GNOME terminals in one window
URL          : https://github.com/gnome-terminator
License      : GPLv2
Description  : Multiple GNOME terminals in one window.  This is a project to produce
             : an efficient way of filling a large area of screen space with
             : terminals. This is done by splitting the window into a resizeable
             : grid of terminals. As such, you can  produce a very flexible
             : arrangements of terminals for different tasks.

Dieser Info-Dump informiert Sie über die Version des verfügbaren Pakets, das bei Ihrem System registrierte Repository, die Website des Projekts und eine lange Beschreibung dessen, was es tut.

Welches Paket stellt eine Datei bereit?

Paketnamen stimmen nicht immer mit dem überein, wonach Sie suchen. Angenommen, Sie lesen eine Dokumentation, die Ihnen sagt, dass Sie etwas namens . installieren müssen qmake-qt5:

$ dnf search qmake-qt5
No matches found.

Die dnf Die Datenbank ist umfangreich, sodass Sie sich nicht auf die Suche nach genauen Übereinstimmungen beschränken müssen. Du kannst den … benutzen dnf provides Befehl, um zu erfahren, ob etwas das bietet, wonach Sie als Teil eines größeren Pakets suchen:

$ dnf provides qmake-qt5
qt5-qtbase-devel-5.12.5-8.el8.i686 : Development files for qt5-qtbase
Repo        : appstream
Matched from:
Filename    : /usr/bin/qmake-qt5

qt5-qtbase-devel-5.15.2-3.el8.x86_64 : Development files for qt5-qtbase
Repo        : appstream
Matched from:
Filename    : /usr/bin/qmake-qt5

Dies bestätigt, dass die Bewerbung qmake-qt5 ist Teil eines Pakets namens qt5-qtbase-devel. Es sagt Ihnen auch, dass die Anwendung installiert wird auf /usr/bin, damit Sie nach der Installation genau wissen, wo Sie es finden.

Welche Dateien sind in einem Paket enthalten?

Es gibt Zeiten, in denen ich mich nähere dnf aus einem ganz anderen Blickwinkel. Manchmal habe ich bereits bestätigt, dass eine Anwendung auf meinem System installiert ist; Ich kann einfach nicht herausfinden, wie ich darauf gekommen bin. Manchmal weiß ich, dass ich ein bestimmtes Paket installiert habe, aber ich weiß nicht genau, was dieses Paket auf meinem System abgelegt hat.

Wenn Sie jemals die Nutzlast eines Pakets “reverse-engineeren” müssen, können Sie die dnf repoquery Befehl zusammen mit dem --list Möglichkeit. Dies betrachtet die Metadaten des Repositorys zu einem Paket und gibt eine Liste aller Dateien zurück, die von diesem Paket bereitgestellt werden:

$ dnf repoquery --list qt5-qtbase-devel
/usr/bin/fixqt4headers.pl
/usr/bin/moc-qt5
/usr/bin/qdbuscpp2xml-qt5
/usr/bin/qdbusxml2cpp-qt5
/usr/bin/qlalr
/usr/bin/qmake-qt5
/usr/bin/qvkgen
/usr/bin/rcc-qt5
[...]

Diese Listen können lang werden, daher hilft es, den Befehl durchzuleiten less oder Ihr Lieblingspager.

Entfernen einer Anwendung

Sollten Sie sich dazu entschließen, eine auf Ihrem System installierte Anwendung nicht mehr zu benötigen, können Sie dnf remove um es zu deinstallieren, alle Dateien, die als Teil seines Pakets installiert wurden, und alle Abhängigkeiten, die nicht mehr erforderlich sind:

$ dnf remove bigapp

Manchmal werden Abhängigkeiten mit einer App installiert und später von einer anderen Anwendung, die Sie installieren, als nützlich befunden. Falls zwei Pakete die gleiche Abhängigkeit erfordern, dnf remove tut nicht Entfernen Sie die Abhängigkeit. Es ist nicht ungewöhnlich, nach der Installation und Deinstallation vieler Anwendungen hier und da mit einem verirrten Paket zu enden. Etwa einmal im Jahr trete ich auf dnf autoremove um ungenutzte Pakete auszuräumen:

$ dnf autoremove

Dies ist nicht notwendig, aber es ist ein Reinigungsschritt, bei dem ich mich mit meinem Computer besser fühle.

dnf kennenlernen

Je mehr Sie über die Funktionsweise Ihres Paketmanagers wissen, desto einfacher können Sie bei Bedarf Anwendungen installieren und abfragen. Auch wenn du kein Stammgast bist dnf Benutzer, es kann nützlich sein, es zu wissen, wenn Sie eine Schnittstelle zu einer RPM-basierten Distribution haben.

Nach Abschluss von yum, einer meiner liebsten Paketmanager ist der dnf Befehl. Obwohl ich nicht alle seine Unterbefehle liebe, finde ich es eines der robusteren Paketverwaltungssysteme da draußen. Laden Sie unsere . herunter dnf Spickzettel um sich an den Befehl zu gewöhnen, und haben Sie keine Angst, neue Tricks damit auszuprobieren. Sobald Sie sich damit vertraut gemacht haben, fällt es Ihnen möglicherweise schwer, etwas anderes zu verwenden.

Linux-Paketverwaltung mit dnf

Leave a Reply

Your email address will not be published. Required fields are marked *

Scroll to top