Es gibt viele Möglichkeiten, Anwendungen auf ein Linux-System zu übertragen. Einige, wie Flatpak und Container, sind neu. Andere, wie DEB und RPM, sind klassische Formate, die sich bewährt haben.
Es gibt kein universelles Installationsprogramm für jedes Betriebssystem. Heutzutage verwenden alle großen Betriebssysteme eine Mischung aus App-Stores (sowohl Erst- als auch Drittanbieter), Drag-and-Drop-Installation und Installationsassistenten, da unzählige Entwickler Software bereitstellen. Unterschiedliche Entwickler haben unterschiedliche Anforderungen an den von ihnen gelieferten Code, und dies beeinflusst die von ihnen gewählte Installationsmethode.
Linux war Vorreiter beim Konzept von a Paket-Manager, ein Befehl zum Installieren, Verwalten und Deinstallieren von Anwendungen. Zwei gängige Paketmanagerbefehle sind apt
und dnf
. Die apt
Befehl verwaltet DEB-Pakete, während dnf
verwaltet RPM-Pakete. Die beiden schließen sich theoretisch nicht strikt aus, obwohl eine Linux-Distribution in der Praxis in der Regel das eine oder andere verwendet. Es ist theoretisch möglich, beides auf einem System auszuführen, aber Paketinstallationen würden sich überschneiden, die Versionierung wäre schwierig und die Befehle wären redundant. Wenn Sie jedoch in einer gemischten Linux-Umgebung arbeiten und mit Workstations interagieren, auf denen eine Distribution ausgeführt wird, und Servern, auf denen eine andere ausgeführt wird, müssen Sie möglicherweise beides kennen.
Suche nach Bewerbungen
Bevor Sie eine Anwendung mit einem Paketmanager installieren können, müssen Sie den Namen des Pakets kennen. Normalerweise sind der Anwendungsname und der Paketname identisch. Der Vorgang zum Überprüfen des Namens des Pakets, das Sie installieren möchten, ist genau gleich auf dnf
und apt
:
$ sudo dnf search zsh
====== Name Exactly Matched: zsh ======
zsh.x86_64 : Powerful interactive shell
[...]
Mit apt
:
$ sudo apt search zsh
Sorting... Done
Full Text Search... Done
csh/stable 20110502-4+deb10u1 amd64
Shell with C-like syntax
ddgr/stable 1.6-1 all
DuckDuckGo from the terminal
direnv/stable 2.18.2-2 amd64
Utility to set directory specific environment variables
draai/stable 20180521-1 all
Command-line music player for MPD
[...]
Um relevante Ergebnisse zu erhalten von apt
Früher in der Suche können Sie Regex verwenden:
apt search ^zsh
Sorting... Done
Full Text Search... Done
zsh/stable 5.7.1-1 amd64
shell with lots of features
[...]
Das Paket einer Anwendung finden
Einige Befehle werden mit anderen Befehlen gebündelt, alles in einem Paket. In diesem Fall können Sie Ihren Paketmanager verwenden, um zu erfahren, welches Paket das bietet, was Sie benötigen. Die dnf
und apt
Befehle unterscheiden sich bei der Suche nach dieser Art von Metadaten.
Auf dnf
:
$ sudo dnf provides pgrep
procps-ng-3.3.15-6.el8.x86_64 : System and process monitoring utilities
Repo : baseos
Matched from:
Filename : /usr/bin/pgrep
Die apt
Befehl verwendet einen Unterbefehl, apt-file
. Benutzen apt-file
, müssen Sie es zuerst installieren und dann auffordern, seinen Cache zu aktualisieren:
$ sudo apt install apt-file
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following additional packages will be installed:
libapt-pkg-perl liber-tiny-perl liblist-moreutils-perl libregexp-assemble-perl
The following NEW packages will be installed:
apt-file libapt-pkg-perl liber-tiny-perl liblist-moreutils-perl libregexp-assemble-perl
0 upgraded, 5 newly installed, 0 to remove and 14 not upgraded.
Need to get 297 kB of archives.
After this operation, 825 kB of additional disk space will be used.
Do you want to continue? [Y/n] y
$ sudo apt-file update
[...]
Sie können verwenden apt-file
nach einem Befehl suchen. Sie können ein sehr weites Netz werfen, indem Sie einfach nach dem Befehl suchen, aber wenn Sie den erwarteten Pfad des Befehls kennen, ist er genauer:
$ sudo apt-file search /usr/bin/pgrep
pgreplay: /usr/bin/pgreplay
procps: /usr/bin/pgrep
Anwendungen installieren
Die Installation von Anwendungen ist im Wesentlichen identisch mit apt
und dnf
:
$ sudo apt install zsh
Mit dnf
, können Sie ein einzelnes Paket mit derselben Option installieren:
$ sudo dnf install zsh
Funktion vieler RPM-basierter Distributionen Installationsgruppen, die manchmal oberflächlich verwandte Anwendungen in einem leicht installierbaren Ziel zusammenfassen. Zum Beispiel enthält die Design Suite-Gruppe in Fedora beliebte Kreativanwendungen. Viele Künstler, die eine kreative Anwendung wünschen, möchten wahrscheinlich ähnliche Anwendungen, und die Installation der gesamten Gruppe ist eine einfache und schnelle Möglichkeit, einen vernünftigen Einstieg in den Aufbau eines digitalen Studios zu erhalten. Sie können verfügbare Gruppen anzeigen mit group list
(verwenden -v
um die Gruppennamen ohne Leerzeichen zu sehen):
$ sudo dnf group list -v
[...]
Available Groups:
Container Management (container-management)
RPM Development Tools (rpm-development-tools)
Design Suite (design-suite)
Development Tools (development)
[...]
Installieren Sie eine RPM-Gruppe mit dem group install
Unterbefehle:
$ sudo dnf group install design-suite
Du kannst den … benutzen @
Notation, um das Tippen zu reduzieren:
$ sudo dnf install @design-suite
Aktualisieren von Anwendungen
Ein Vorteil der Verwendung eines Paketmanagers besteht darin, dass er sich dessen bewusst ist alle die Anwendungen, die es jemals installiert hat. Das bedeutet, dass Sie nicht nach aktualisierten Versionen von Anwendungen suchen müssen. Stattdessen können Sie Ihren Paketmanager anweisen, nach Updates zu suchen.
Die von . verwendeten Unterbefehle dnf
und apt
sind etwas anders. Weil apt
hält einen Cache mit Informationen, die regelmäßig aktualisiert werden müssen, verwendet die upgrade
Unterbefehl für Anwendungsupdates:
$ sudo apt upgrade
Im Gegensatz, dnf
aktualisiert die Metadaten jedes Mal, wenn Sie den Befehl verwenden update
und upgrade
Unterbefehle sind austauschbar:
$ sudo dnf upgrade
Dies ist das gleiche wie:
$ sudo dnf update
Anwendungen entfernen
Wenn Sie jemals versucht haben, eine Anwendung auf einer beliebigen Plattform manuell zu entfernen, wissen Sie, dass nach dem Entfernen der Anwendung unweigerlich Dateien wie Einstellungsdateien oder Assets oder Symbole auf Ihrer Festplatte verstreut sind. Ein weiterer Vorteil der Verwendung eines Paketmanagers besteht darin, dass Ihr Paketmanager Bescheid weiß jede einzelne Datei installiert mit einem Paket:
$ sudo dnf remove zsh
Die remove
Unterbefehl wird auch verwendet für apt
:
$ sudo apt remove zsh
Entfernen eines Pakets mit apt
entfernt keine geänderten Benutzerkonfigurationsdateien, falls Sie das Paket versehentlich entfernt haben. Falls Sie es wollen apt
eine Anwendung entfernen und seine Konfigurationsdateien verwenden purge
für eine Anwendung, die Sie zuvor entfernt haben:
$ sudo apt purge zsh
Beide apt
und dnf
(sogar mit purge
) entfernen Sie keine Daten- oder Konfigurationsdateien in Ihrem Home-Verzeichnis. Um Daten aus Ihrem Home-Verzeichnis zu entfernen, müssen Sie dies manuell tun (es befindet sich normalerweise in ~/.config
und ~/.local
).
Verwaltung von Lernpaketen
Ob Ihre Linux-Distribution Ihrer Wahl bevorzugt apt
oder dnf
, sind die Zwecke der Befehle weitgehend identisch. Sie helfen Ihnen beim Installieren, Aktualisieren und Entfernen von Paketen. Diese beiden, die die gebräuchlichsten Paketmanager sind, spiegeln weitgehend die wichtigsten syntaktischen Elemente des anderen wider, sodass der Wechsel zwischen ihnen ziemlich einfach ist.
Jedes verfügt über einige erweiterte Funktionen, wie z search
und install
.
Unabhängig davon, welchen Paketmanager Sie häufiger verwenden, können Sie unseren apt-Spickzettel und den dnf-Spickzettel herunterladen, damit Sie die wichtigste Syntax immer zur Hand haben, wenn Sie sie am dringendsten benötigen.