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

Linux-Paketmanager:dnf vs apt

Es gibt viele Möglichkeiten, Anwendungen auf ein Linux-System zu bringen. 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 von Erstanbietern als auch von Drittanbietern), Drag-and-Drop-Installation und Installationsassistenten, da es unzählige Entwickler gibt, die Software liefern. Unterschiedliche Entwickler haben unterschiedliche Anforderungen an den von ihnen gelieferten Code, und dies beeinflusst die jeweils gewählte Installationsmethode.

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

Linux war der Pionier des Konzepts eines Paketmanagers , ein Befehl zum Installieren, Verwalten und Deinstallieren von Anwendungen. Zwei gängige Paketmanager-Befehle sind apt und dnf . Die apt Der Befehl verwaltet DEB-Pakete, während dnf verwaltet RPM-Pakete. Die beiden schließen sich theoretisch nicht strikt aus, obwohl in der Praxis eine Linux-Distribution im Allgemeinen das eine oder das andere verwendet. Es ist theoretisch möglich, beide auf einem System zu betreiben, aber Paketinstallationen würden sich überschneiden, die Versionierung wäre schwierig und die Befehle wären redundant zueinander. 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 Anwendungen

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 auf dnf genau derselbe 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 von apt zu erhalten 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. Der dnf und apt Befehle unterscheiden sich darin, wie sie nach dieser Art von Metadaten suchen.

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 Der Befehl verwendet einen Unterbefehl, apt-file . Um apt-file zu verwenden , müssen Sie es zuerst installieren und es 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 libexporter-tiny-perl liblist-moreutils-perl libregexp-assemble-perl
The following NEW packages will be installed:
  apt-file libapt-pkg-perl libexporter-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 apt-file verwenden um nach einem Befehl zu suchen. Sie können ein sehr weites Netz auswerfen, 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

Das Installieren 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

Viele RPM-basierte Distributionen verfügen über Installationsgruppen , die manchmal oberflächlich verwandte Anwendungen in einem einfach zu installierenden Ziel sammeln. Beispielsweise enthält die Design Suite-Gruppe in Fedora beliebte kreative Anwendungen. Viele Künstler, die eine kreative Anwendung wünschen, möchten wahrscheinlich auch ä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 mit group list anzeigen (verwenden Sie -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 group install Unterbefehle:

$ sudo dnf group install design-suite

Sie können den @ verwenden Notation zur Reduzierung des Tippaufwands:

$ sudo dnf install @design-suite

Aktualisieren von Anwendungen

Ein Vorteil bei der Verwendung eines Paketmanagers ist, dass er alle kennt 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 dnf verwendeten Unterbefehle und apt sind etwas anders. Weil apt Hält einen Cache mit Informationen, die regelmäßig aktualisiert werden müssen, verwendet es das upgrade Unterbefehl für Anwendungsaktualisierungen:

$ sudo apt upgrade

Im Gegensatz dazu dnf aktualisiert die Metadaten jedes Mal, wenn Sie den Befehl verwenden, also update und upgrade Unterbefehle sind austauschbar:

$ sudo dnf upgrade

Dies ist dasselbe 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 zwangsläufig übrig gebliebene Dateien wie Einstellungsdateien oder Assets oder Symbole auf Ihrer Festplatte verstreut sind. Ein weiterer Vorteil bei der Verwendung eines Paketmanagers ist, dass Ihr Paketmanager jede einzelne Datei kennt installiert mit einem Paket:

$ sudo dnf remove zsh

Das remove Unterbefehl wird auch für apt verwendet :

$ sudo apt remove zsh

Entfernen eines Pakets mit apt entfernt keine geänderten Benutzerkonfigurationsdateien, falls Sie das Paket versehentlich entfernt haben. Wenn Sie apt möchten zum Entfernen einer Anwendung und seiner Konfigurationsdateien, verwenden Sie purge bei einer 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 (normalerweise zu finden in ~/.config und ~/.local ).

Lernpaketverwaltung

Ob Ihre bevorzugte Linux-Distribution apt bevorzugt oder dnf , sind die Zwecke der Befehle weitgehend identisch. Sie helfen Ihnen beim Installieren, Aktualisieren und Entfernen von Paketen. Diese beiden, die am häufigsten verwendeten Paketmanager, spiegeln weitgehend die wichtigsten syntaktischen Elemente des jeweils anderen wider, sodass das Umschalten zwischen ihnen ziemlich einfach ist.

Jeder hat einige erweiterte Funktionen, wie z. B. die Repository-Verwaltung, die sich erheblich voneinander unterscheiden, aber diese werden in der Regel nicht so häufig ausgeführt wie die klassische Sequenz der search und install .

Unabhängig davon, welchen Paketmanager Sie häufiger verwenden, können Sie unsere apt-Spickzettel und dnf-Spickzettel herunterladen, damit Sie die wichtigste Syntax immer zur Hand haben, wenn Sie sie am dringendsten benötigen.


Linux
  1. Linux-Paketverwaltung mit apt

  2. Linux-Paketmanager im Vergleich – AppImage vs. Snap vs. Flatpak

  3. So erstellen Sie ein Linux-RPM-Paket

  4. APT Package Manager unter Linux erklärt

  5. So aktualisieren Sie Debian Linux

So verwenden Sie pkgsrc unter Linux

So verwenden Sie apt Package Manager unter Ubuntu Linux

So installieren Sie ein RPM-Paket unter RHEL 8 / CentOS 8 Linux

apt-Befehl unter Linux

RPM-Befehl unter Linux

15 apt-Befehlsbeispiele in Ubuntu / Debian Linux