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.