GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Linux-Paketverwaltung mit dnf

Das Installieren 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, schicke Installationsassistenten zu haben, die uns helfen, Software auf unsere Computer zu bekommen, scheint der Prozess technisch komplexer zu sein, als er ist.

Weitere Linux-Ressourcen

  • Spickzettel für Linux-Befehle
  • Spickzettel für fortgeschrittene Linux-Befehle
  • Kostenloser Online-Kurs:RHEL Technical Overview
  • Spickzettel für Linux-Netzwerke
  • SELinux-Spickzettel
  • Spickzettel für allgemeine Linux-Befehle
  • Was sind Linux-Container?
  • Unsere neuesten Linux-Artikel

Was ist Komplex ist jedoch die Frage, was eine Bewerbung ausmacht. Was Benutzer für eine einzelne Anwendung halten, enthält tatsächlich Code, der aus Softwarebibliotheken entliehen wurde (d. h. .so Dateien unter Linux, .dll Dateien unter Windows und .dylib unter macOS), die über ein Betriebssystem verstreut sind.

Damit sich die Benutzer nicht um diese veritable Matrix aus voneinander abhängigem Code kümmern müssen, verwendet Linux ein Paketverwaltungssystem um zu verfolgen, welche Anwendung welche Bibliothek benötigt und 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 Schnittstellen als auch terminalbasierte Schnittstellen und machen Ihnen das Leben leichter. Je besser Sie den Paketmanager Ihrer Distribution kennen, desto einfacher wird Ihr Leben.

Installieren von Anwendungen unter Linux

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

Es funktioniert wie erwartet:Sie klicken sich durch die Benutzeroberfläche, bis Sie eine Anwendung finden, die Ihnen nützlich erscheint, und klicken dann auf Installieren Schaltfläche.

Alternativ können Sie .rpm öffnen oder .flatpakref Pakete, die aus dem Internet in GNOME Software heruntergeladen wurden, um sie für Sie zu installieren.

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

Software mit dnf finden

Bevor Sie eine Anwendung installieren können, müssen Sie möglicherweise bestätigen, dass sie auf den Servern Ihrer Distribution vorhanden ist. Normalerweise wird mit dnf nach dem allgemeinen Namen einer Anwendung gesucht genügt. Angenommen, Sie haben kürzlich einen Artikel über Cockpit gelesen und beschließen, es auszuprobieren. Sie könnten nach cockpit suchen um zu überprüfen, ob Ihre Distribution es 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 es kompatibel ist. Standardmäßig installiert Ihr System Pakete mit passenden CPU-Architekturen, sodass Sie diese Erweiterung ignorieren können. Daher haben Sie bestätigt, dass das Paket, nach dem Sie suchen, tatsächlich einfach cockpit heißt .

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

$ sudo dnf install cockpit

Meistens ist das der typische dnf Arbeitsablauf:suchen und installieren.

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

Paketmetadaten

Wenn Sie das Gefühl haben, dass Ihre Suche Sie geschlossen hat zu dem gewünschten Paket, aber Sie sind sich noch nicht sicher, ist es oft hilfreich, einen Blick auf die Metadaten des Pakets zu werfen, wie z. B. die URL und die Beschreibung des Projekts. Um diese Informationen zu erhalten, verwenden Sie die 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 zeigt Ihnen die Version des verfügbaren Pakets, welches bei Ihrem System registrierte Repository es bereitstellt, 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 qmake-qt5 installieren müssen :

$ dnf search qmake-qt5
No matches found.

Der dnf Die Datenbank ist umfangreich, sodass Sie sich nicht auf die Suche nach exakten Übereinstimmungen beschränken müssen. Sie können die dnf provides verwenden Befehl, um zu erfahren, ob irgendetwas das bietet, wonach Sie suchen, als Teil eines größeren Pakets:

$ 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 Anwendung qmake-qt5 ist Teil eines Pakets namens qt5-qtbase-devel . Es teilt Ihnen auch mit, dass die Anwendung unter /usr/bin installiert wird , damit Sie nach der Installation genau wissen, wo Sie es finden können.

Welche Dateien sind in einem Paket enthalten?

Es gibt Zeiten, in denen ich mich dnf nähere aus einem ganz anderen Blickwinkel. Manchmal habe ich bereits bestätigt, dass eine Anwendung auf meinem System installiert ist; Ich kann mir einfach nicht erklären, 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 installiert hat.

Wenn Sie jemals die Payload eines Pakets „reverse engineering“ machen müssen, können Sie das dnf repoquery verwenden Befehl zusammen mit der --list Möglichkeit. Dies sieht sich die Metadaten des Repositorys zu einem Paket an 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 durch less zu leiten oder Ihren bevorzugten Pager.

Entfernen einer Anwendung

Sollten Sie entscheiden, dass Sie eine Anwendung nicht mehr auf Ihrem System installieren müssen, können Sie dnf remove verwenden um es zu deinstallieren, alle Dateien, die als Teil seines Pakets installiert wurden, und alle Abhängigkeiten, die nicht mehr benötigt werden:

$ dnf remove bigapp

Manchmal werden Abhängigkeiten mit einer App installiert und später von einer anderen Anwendung, die Sie installieren, als nützlich erachtet. Für den Fall, dass zwei Pakete dieselbe Abhängigkeit erfordern, dnf remove tut nicht entfernen Sie die Abhängigkeit. Es ist nicht ungewöhnlich, dass nach der Installation und Deinstallation vieler Anwendungen hier und da ein verirrtes Paket landet. Ungefähr einmal im Jahr führe ich eine dnf autoremove durch um ungenutzte Pakete zu löschen:

$ dnf autoremove

Dies ist nicht notwendig, aber es ist ein Reinigungsschritt, der mir ein besseres Gefühl für meinen Computer gibt.

dnf kennenlernen

Je mehr Sie über die Funktionsweise Ihres Paketmanagers wissen, desto einfacher ist es für Sie, Anwendungen zu installieren und bei Bedarf abzufragen. Auch wenn Sie kein normaler dnf sind Benutzer, kann es hilfreich sein, es zu wissen, wenn Sie eine Schnittstelle zu einer RPM-basierten Distribution finden.

Nach dem Abschluss von yum , einer meiner liebsten Paketmanager ist dnf Befehl. Ich mag zwar nicht alle seine Unterbefehle, aber ich finde, dass es eines der robusteren Paketverwaltungssysteme ist, die es gibt. Laden Sie unser dnf herunter Spickzettel um sich an den Befehl zu gewöhnen, und scheuen Sie sich nicht, ein paar neue Tricks damit auszuprobieren. Sobald Sie sich damit vertraut gemacht haben, fällt es Ihnen möglicherweise schwer, etwas anderes zu verwenden.


Linux
  1. Linux-Paketmanager:dnf vs apt

  2. Linux-Paketverwaltung mit apt

  3. Verwenden von AppImage für die Linux-Paketverwaltung

  4. CentOS 8-Paketverwaltung mit DNF in der Befehlszeile

  5. 15 aptitude-Befehlsbeispiele für die Paketverwaltung unter Linux

RPM-Befehle in Linux mit Beispielen

Ubuntu-Paketverwaltung mit apt

So konvertieren Sie Linux-Pakete mit Alien

Linux-Prozessverwaltung mit htop verbessert

Linux-Paketverwaltung mit YUM und RPM

So listen Sie installierte Pakete in Linux mithilfe der Paketverwaltung auf