DNF (Dandified Yum) ist der Standard-Paketmanager in Fedora seit Version 22. Er ist der Nachfolger von YUM und wurde entwickelt, um eine schnellere und zuverlässigere Paketverwaltung zu ermöglichen.
Grundlegende Konzepte
DNF verwaltet Softwarepakete im RPM-Format und organisiert sie in Repositories. Die wichtigsten sind:
- fedora: Hauptrepository für freie Software
- updates: Sicherheitsupdates und Bugfixes
- rpmfusion: Zusätzliche Software (muss separat aktiviert werden)
Die Konfigurationsdatei
Die Hauptkonfigurationsdatei liegt unter /etc/dnf/dnf.conf
.
Hier ein Beispiel mit wichtigen Einstellungen:
[main]
gpgcheck=1
installonly_limit=3
clean_requirements_on_remove=True
best=True
skip_if_unavailable=True
System aktualisieren
⚠️ WICHTIG VOR DEM UPDATE:
- Lies die Fedora News auf der offiziellen Website
- Erstelle ein Backup wichtiger Daten
- Stelle eine stabile Internetverbindung sicher
sudo dnf upgrade
Beispielausgabe:
Last metadata expiration check: 0:02:38 ago
Dependencies resolved.
================================================================================
Package Arch Version Repository Size
================================================================================
Upgrading:
kernel x86_64 6.5.6-200.fc38 updates 32 M
firefox x86_64 119.0-1.fc38 updates 270 M
[...]
Was passiert hier?
- DNF prüft die Paketdatenbank
- Zeigt verfügbare Updates
- Listet Abhängigkeiten
- Wartet auf Bestätigung
Installation und Verwaltung
Einzelne Pakete installieren
sudo dnf install firefox
Beispielausgabe:
Last metadata expiration check: 1:15:29 ago
Dependencies resolved.
================================================================================
Package Architecture Version Repository Size
================================================================================
Installing:
firefox x86_64 119.0-1.fc38 updates 270 M
Installing dependencies:
firefox-libs x86_64 119.0-1.fc38 updates 175 M
gtk3 x86_64 3.24.38-1.fc38 fedora 12 M
Transaction Summary
================================================================================
Install 3 Packages
Total download size: 457 M
Installed size: 892 M
Is this ok [y/N]:
Was passiert hier?
- DNF prüft die Abhängigkeiten
- Zeigt alle zu installierenden Pakete
- Gibt Download- und Installationsgröße an
- Wartet auf Bestätigung
⚠️ WICHTIGE HINWEISE:
- Lies immer die Zusammenfassung
- Prüfe den benötigten Speicherplatz
- Achte auf zusätzliche Abhängigkeiten
Erweiterte Installationsoptionen
Installation ohne Bestätigung
sudo dnf install -y firefox
⚠️ WARNUNG: Nutze -y
nur, wenn du dir sicher bist!
Installation einer bestimmten Version
sudo dnf install firefox-118.0-1.fc38
Installation aus einer bestimmten Quelle
sudo dnf --enablerepo=rpmfusion-nonfree install vlc
Gruppen installieren
DNF unterstützt Paketgruppen für zusammengehörige Software:
# Verfügbare Gruppen anzeigen
dnf group list
# Details einer Gruppe anzeigen
dnf group info "Development Tools"
# Gruppe installieren
sudo dnf group install "Development Tools"
Pakete entfernen
Einfache Paketentfernung
sudo dnf remove firefox
Beispielausgabe
Dependencies resolved.
================================================================================
Package Architecture Version Repository Size
================================================================================
Removing:
firefox x86_64 119.0-1.fc38 @updates 892 M
Removing unused dependencies:
firefox-libs x86_64 119.0-1.fc38 @updates 175 M
Transaction Summary
================================================================================
Remove 2 Packages
Is this ok [y/N]:
Automatische Bereinigung
Nicht mehr benötigte Abhängigkeiten entfernen:
sudo dnf autoremove
Beispielausgabe
Dependencies resolved.
================================================================================
Package Architecture Version Repository Size
================================================================================
Removing:
gtk3-devel x86_64 3.24.38-1.fc38 @fedora 12 M
[...weitere nicht mehr benötigte Pakete...]
Transaction Summary
================================================================================
Remove 5 Packages
Is this ok [y/N]:
Paketinformationen
Detaillierte Paketinformationen
dnf info firefox
Beispielausgabe
Last metadata expiration check: 2:12:33 ago
Available Packages
Name : firefox
Version : 119.0
Release : 1.fc38
Architecture : x86_64
Size : 270 M
Source : firefox-119.0-1.fc38.src.rpm
Repository : updates
Summary : Mozilla Firefox Web browser
URL : https://www.mozilla.org/firefox/
License : MPLv1.1 or GPLv2+ or LGPLv2+
Description : Mozilla Firefox is an open-source web browser...
Paketabhängigkeiten anzeigen
dnf deplist firefox
Dateien eines installierten Pakets anzeigen
dnf repoquery -l firefox
Cache-Verwaltung
Cache bereinigen
sudo dnf clean all
Was wird gereinigt?
- Heruntergeladene RPM-Pakete
- Header-Dateien
- Metadaten
- Cache-Verzeichnisse
Teilweise Cache-Bereinigung
Nur alte Pakete entfernen:
sudo dnf clean packages
Nur Metadaten bereinigen:
sudo dnf clean metadata
Systemaktualisierung
Systemaktualisierung im Detail
Vorbereitende Maßnahmen (SEHR WICHTIG!)
Fedora Release Notes prüfen unter: https://docs.fedoraproject.org/en-US/releases/
⚠️ KRITISCHE WARNUNGEN:
- Backup wichtiger Daten erstellen
- Stabile Stromversorgung sicherstellen
- Genügend Speicherplatz prüfen
- Release Notes auf kritische Updates prüfen
Update-Prozess
Metadaten aktualisieren
sudo dnf check-update
Vollständiges Systemupdate
sudo dnf upgrade
Beispielausgabe mit Erklärungen:
Last metadata expiration check: 0:15:24 ago
Dependencies resolved.
================================================================================
Package Arch Version Repository Size
================================================================================
Upgrading:
kernel x86_64 6.5.6-200.fc38 updates 32 M
systemd x86_64 254-1.fc38 updates 15 M
firefox x86_64 119.0.1-1.fc38 updates 270 M
[...weitere Pakete...]
Transaction Summary
================================================================================
Upgrade 15 Packages
Total download size: 425 M
Is this ok [y/N]:
Was bedeuten verschiedene Update-Typen?
- kernel: Erfordert Neustart
- systemd: Kritische Systemkomponente
- Sicherheitsupdates: Zeitnah installieren
- Normale Programmupdates: Meist unkritisch
DNF-Transaktionshistorie
Historie anzeigen
dnf history
Details einer Transaktion
dnf history info 123
Transaktion rückgängig machen
sudo dnf history undo 123
Troubleshooting
Häufige Probleme und Lösungen
Beschädigte Metadaten
error: Failed to synchronize cache for repo 'fedora'
Lösung
Cache komplett leeren
sudo dnf clean all
Metadaten neu laden
sudo dnf makecache
Repository-Probleme
Repository-Status prüfen
dnf repolist all
Repository neu aktivieren
sudo dnf config-manager --set-enabled fedora
Abhängigkeitskonflikte
Konflikt analysieren
dnf repoquery --requires --resolve paketname
Alternative Version installieren
sudo dnf --allowerasing install paketname
⚠️ WARNUNG: --allowerasing mit Vorsicht verwenden!
Fortgeschrittene DNF-Funktionen
DNF-Plugins installieren
sudo dnf install dnf-plugins-core
Nützliche Plugin-Befehle
System-Upgrade auf neue Fedora-Version
sudo dnf system-upgrade download --releasever=39
Automatische Updates konfigurieren
Automatische Updates konfigurieren
Repository-Management
RPM Fusion hinzufügen
sudo dnf install https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm
Repository-Prioritäten setzen
In /etc/yum.repos.d/fedora.repo
[fedora]
priority=1
Performance-Optimierung
DNF-Konfiguration anpassen
In /etc/dnf/dnf.conf
:
[main]
max_parallel_downloads=10
defaultyes=True
keepcache=True
Fastest Mirror Plugin
Plugin installieren
sudo dnf install dnf-plugins-core
In dnf.conf
aktivieren
fastestmirror=True
Best Practices
Tägliche Wartung
# System aktualisieren
sudo dnf upgrade
# Nicht benötigte Pakete entfernen
sudo dnf autoremove
# Cache bereinigen
sudo dnf clean all
System-Checks
# RPM-Datenbank prüfen
sudo rpm --rebuilddb
# Systemjournal prüfen
journalctl -p 3 -xb
Sicherheitsmaßnahmen
Vor kritischen Updates
# System-Snapshot erstellen (wenn verfügbar)
sudo snapper create --description "Vor Update"
# Paketliste sichern
dnf repoquery --userinstalled > ~/pkglist-$(date +%Y%m%d).txt
Modulare Pakete
Was sind Module?
Module sind Sammlungen zusammengehöriger RPM-Pakete, die verschiedene Versionen der gleichen Software ermöglichen.
Module verwalten
Verfügbare Module anzeigen
dnf module list
# Beispielausgabe:
Name Stream Profiles Summary
=====================================================================================
nodejs 16 [d] common [d], development, minimal Javascript runtime
nodejs 18 common [d], development, minimal Javascript runtime
postgresql 13 [d] client, server [d] PostgreSQL server
postgresql 14 client, server [d] PostgreSQL server
Was bedeuten die Markierungen?
[d]
: Standard-Stream/Profil[e]
: Aktiviert[x]
: Installiert
Modul aktivieren und installieren
Spezifische Version aktivieren
sudo dnf module enable postgresql:13
Mit bestimmtem Profil installieren
sudo dnf module install postgresql:13/server
⚠️ WICHTIG:
- Module können nicht gemischt werden
- Aktivierung ist permanent
- Reset möglich mit
dnf module reset
Erweiterte Paketoperationen
Paket-Verifizierung
Alle installierten Pakete verifizieren
sudo dnf verify
Einzelnes Paket prüfen
sudo dnf verify firefox
RPM-Signaturen prüfen
Schlüssel importieren
sudo rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-*
Paket verifizieren
rpm -K paketname.rpm
Downgrade von Paketen
Verfügbare Versionen anzeigen
dnf list --showduplicates firefox
Auf bestimmte Version downgraden
sudo dnf downgrade firefox-118.0-1.fc38
⚠️ WARNUNG:
- Downgrades können Abhängigkeitsprobleme verursachen
- Nur im Notfall verwenden
- System vorher sichern
Performance-Tuning
Parallele Downloads optimieren
In /etc/dnf/dnf.conf
:
[main]
max_parallel_downloads=10
deltarpm=true
fastestmirror=true
Was bewirken diese Einstellungen?
max_parallel_downloads
: Anzahl gleichzeitiger Downloadsdeltarpm
: Nur Änderungen herunterladenfastestmirror
: Schnellste Server wählen
Metadata-Caching
Metadata-Cache erstellen
sudo dnf makecache
Cache-Gültigkeit einstellen
metadata_expire=12h
Automatisierung
DNF-Automatic einrichten
sudo dnf install dnf-automatic
Konfiguration in /etc/dnf/automatic.conf
:
[commands]
upgrade_type = security
download_updates = yes
apply_updates = no
[emitters]
emit_via = email
[email]
email_from = root@localhost
email_to = admin@example.com
Service aktivieren
sudo systemctl enable --now dnf-automatic.timer
Batch-Operationen
Paketlisten verarbeiten
Liste installierter Pakete erstellen
dnf repoquery --userinstalled > packages.txt
Pakete aus Liste installieren
sudo dnf install $(cat packages.txt)
Experten-Tipps
priority-Plugin installieren
sudo dnf install dnf-plugins-core
Priorität in .repo
-Datei setzen
priority=1
Debugging-Tools
DNF-Debug-Ausgabe
dnf -v install firefox
dnf --debuglevel=10 update
Transaktions-Debug
# Debug-Logs aktivieren
debuglevel=10
logdir=/var/log/dnf
Sicherheit und Backup
Mit LVM-Snapshots
Snapshot erstellen
sudo lvcreate -s -n snap01 -L 5G /dev/vg0/root
Snapshot zurückrollen
sudo lvconvert --merge /dev/vg0/snap01
Paket-Sicherung
RPM-Datenbank sichern
sudo cp -a /var/lib/rpm /backup/rpm-$(date +%Y%m%d)
Paketlisten exportieren
dnf repoquery --userinstalled > /backup/packages-$(date +%Y%m%d).txt
Abschließende Empfehlungen
- Dokumentation führen
- Wichtige Änderungen protokollieren
- Anpassungen der DNF-Konfiguration dokumentieren
- Probleme und Lösungen aufzeichnen
- Regelmäßige Wartung
- Wöchentliche Updates durchführen
- Monatliche System-Checks
- Vierteljährliche Cache-Bereinigung
- Sicherheit
- Nur vertrauenswürdige Repositories verwenden
- Regelmäßige Backups erstellen
- Sicherheitsupdates zeitnah einspielen
Wichtige Ressourcen
Offizielle Dokumentation
- Fedora DNF System Dokumentation
- DNF Command Reference
- Fedora Magazine – Aktuelle Tipps und Tutorials
- Fedora Package Database
Community-Ressourcen
Hilfreiche Tools und Dokumentationen
Fazit
DNF ist ein leistungsfähiger und moderner Paketmanager, der Fedora-Benutzern eine robuste und flexible Möglichkeit zur Systemverwaltung bietet. Mit seinen fortschrittlichen Funktionen wie modularen Paketen, automatischen Updates und umfangreichen Debugging-Möglichkeiten ist DNF bestens für sowohl Einsteiger als auch fortgeschrittene Benutzer geeignet.
⚠️ Wichtiger Hinweis:
Fedora entwickelt sich ständig weiter. Überprüfe regelmäßig die offizielle Dokumentation auf Änderungen und neue Funktionen. Die hier beschriebenen Methoden können sich mit der Zeit ändern. Mit diesem umfassenden Wissen und den zur Verfügung stehenden Ressourcen bist du gut gerüstet, um dein Fedora-System effektiv mit DNF zu verwalten.
Denk immer daran: Die Fedora-Community ist hilfsbereit und unterstützend - zögere nicht, Fragen zu stellen und dich einzubringen!
Aktualisierungen und Änderungen
Dieser Artikel wird regelmäßig aktualisiert, um neue Entwicklungen und Best Practices zu berücksichtigen. Die letzte Aktualisierung erfolgte am 20. Oktober 2024.