dnf — Paketverwaltung unter Fedora und RHEL

Praxis-Guide zu dnf, dem Paketmanager von Fedora, RHEL und CentOS Stream — Installieren, Updaten, Module, Gruppen sowie History und Rollback.

dnf (Dandified YUM) ist der Paketmanager von Fedora, RHEL 8+, CentOS Stream sowie Rocky Linux und AlmaLinux – der Nachfolger des klassischen yum mit schnellerer und sauberer Abhängigkeitsauflösung. Damit installierst, aktualisierst und entfernst du Software, verwaltest Repositories und arbeitest mit Modulen und Gruppen, um ganze Software-Stacks oder bestimmte Versions-Streams gezielt auszuwählen. Besonders praktisch ist die Transaktions-History: Jede Aktion wird protokolliert, und mit dnf history undo machst du eine missglückte Installation oder ein fehlgeschlagenes Update wieder rückgängig. Dieser Guide zeigt dir die wichtigsten dnf-Befehle für den Alltag – vom Update über Module bis zum Rollback.

Aktualisieren & Upgrade

dnf check-update — Prüft auf verfügbare Paket-Updates.

sudo dnf check-update

dnf update — Aktualisiert alle Pakete (Alias für upgrade).

sudo dnf update -y

dnf upgrade — Aktualisiert alle installierten Pakete.

sudo dnf upgrade

dnf upgrade --security — Installiert ausschließlich Sicherheitsupdates.

sudo dnf upgrade --security

dnf upgrade <package> — Aktualisiert ein bestimmtes Paket.

sudo dnf upgrade nginx

Installieren & Entfernen

dnf install <package> — Installiert ein Paket.

sudo dnf install nginx

dnf install -y <package> — Installiert ohne Rückfrage.

sudo dnf install -y httpd php

dnf install <file>.rpm — Installiert eine lokale RPM-Datei (mit Abhängigkeitsauflösung).

sudo dnf install ./package.rpm

dnf reinstall <package> — Installiert ein Paket neu.

sudo dnf reinstall openssh-server

dnf remove <package> — Entfernt ein Paket und seine nicht mehr benötigten Abhängigkeiten.

sudo dnf remove nginx

dnf autoremove — Entfernt nicht mehr benötigte Abhängigkeitspakete.

sudo dnf autoremove

Suchen & Informationen

dnf search <query> — Sucht Pakete nach Name oder Beschreibung.

dnf search nodejs

dnf info <package> — Zeigt detaillierte Informationen zu einem Paket.

dnf info nginx

dnf list installed — Listet alle installierten Pakete auf.

dnf list installed

dnf list available — Listet alle verfügbaren Pakete auf.

dnf list available | grep php

dnf provides '<file>' — Findet heraus, welches Paket eine Datei oder ein Kommando bereitstellt.

dnf provides '*/bin/dig'

dnf repoquery -l <package> — Listet die Dateien auf, die ein Paket installiert.

dnf repoquery -l nginx

dnf deplist <package> — Zeigt die Abhängigkeiten eines Pakets.

dnf deplist nginx

Gruppen & Module

dnf group list — Listet verfügbare Paketgruppen auf.

dnf group list

dnf group install '<group>' — Installiert eine Paketgruppe.

sudo dnf group install 'Development Tools'

dnf module list — Listet verfügbare Module und Streams auf.

dnf module list

dnf module enable <module>:<stream> — Aktiviert einen Modul-Stream.

sudo dnf module enable nodejs:20

dnf module install <module>:<stream> — Installiert einen Modul-Stream.

sudo dnf module install php:8.3

Repositories

dnf repolist — Listet aktivierte Repositories auf.

dnf repolist

dnf repolist all — Listet alle Repositories auf (aktivierte und deaktivierte).

dnf repolist all

dnf config-manager --add-repo <url> — Fügt ein neues Repository hinzu.

sudo dnf config-manager --add-repo https://rpm.example.com/repo.repo

dnf config-manager --set-enabled <repo> — Aktiviert ein deaktiviertes Repository.

sudo dnf config-manager --set-enabled crb

dnf config-manager --set-disabled <repo> — Deaktiviert ein Repository.

sudo dnf config-manager --set-disabled epel-testing

Verlauf & Aufräumen

dnf history — Zeigt die Transaktions-History.

dnf history

dnf history info <id> — Zeigt Details zu einer bestimmten Transaktion.

dnf history info 15

dnf history undo <id> — Macht eine bestimmte Transaktion rückgängig.

sudo dnf history undo 15

dnf clean all — Löscht alle zwischengespeicherten Daten (Metadaten + Pakete).

sudo dnf clean all

dnf makecache — Baut den Metadaten-Cache neu auf.

sudo dnf makecache

Fazit

dnf nimmt dir die mühsame Abhängigkeitsverwaltung ab und macht das Pflegen eines Fedora- oder RHEL-Systems übersichtlich und reproduzierbar. Geh mit entfernenden Aktionen wie remove, autoremove und distro-sync bewusst um – sie können mehr abräumen als gedacht, deshalb lohnt ein prüfender Blick auf die angekündigte Paketliste, bevor du bestätigst. Verändernde Befehle brauchen sudo; sollte ein Update etwas zerschießen, ist dnf history undo <id> dein Rettungsanker, um die letzte Transaktion sauber zurückzunehmen. Füge nur Repositories und GPG-Schlüssel aus vertrauenswürdigen Quellen hinzu – fremde Repos können beliebige Pakete unterschieben.

Verwandte Kommandos

  • apk – Paketmanager von Alpine Linux, schlank und container-freundlich
  • apt – komfortabler Paketmanager von Debian und Ubuntu
  • apt-get – das klassische, skript-freundliche Debian/Ubuntu-Werkzeug