---
id: 2024-09-20-fedora-der-umfassende-leitfaden-vom-paketmanager-dnf
slug: fedora-der-umfassende-leitfaden-vom-paketmanager-dnf
title: "Fedora: Der umfassende Leitfaden vom Paketmanager DNF für Anfänger"
excerpt: "DNF, der leistungsstarke Paketmanager von Fedora, ermöglicht die einfache Installation, Aktualisierung und Verwaltung von Software. Erfahren Sie alles über die wichtigsten Funktionen."
date: "2024-09-20T09:00:00+01:00"
updated: "2026-01-16T09:00:00+01:00"
author:
  name: "Sebastian Palencsar"
  handle: "spalencsar"
category: "linux-neulinge"
tags: ["chmod", "dateiberechtigungen", "linux"]
toc: true
cover:
  src: "/assets/media/class/default.webp"
  alt: "DNF, der leistungsstarke Paketmanager von Fedora, ermöglicht die einfache Installation, Aktualisierung und Verwaltung von Software. Erfahren Sie alles über die wichtigsten Funktionen."
reading_time: 48
---

DNF (Dandified Yum) ist der Standard-Paketmanager in Fedora. Seit Fedora 41 (und damit auch im aktuellen **Fedora 43**) kommt standardmäßig **DNF5** zum Einsatz. Es ist ein kompletter Rewrite in C++, der deutlich performanter und speicherschonender ist als der Vorgänger, dabei aber weitgehend kompatibel in der Bedienung bleibt.

## Grundlegende Konzepte

DNF verwaltet Softwarepakete im RPM-Format und organisiert sie in Repositories. 

💡 **Die wichtigsten sind:**

┌ <strong>fedora:</strong> Hauptrepository für freie Software
├ <strong>updates:</strong> Sicherheitsupdates und Bugfixes
└ <strong>rpmfusion:</strong> Zusätzliche Software (muss separat aktiviert werden)

## Die Konfigurationsdatei

Die Hauptkonfigurationsdatei liegt unter`/etc/dnf/dnf.conf`.

**Hier ein Beispiel mit wichtigen Einstellungen:**

```Bash
[main]
gpgcheck=1
installonly_limit=3
clean_requirements_on_remove=True
best=True
skip_if_unavailable=True
```

## System aktualisieren

⚠️ **WICHTIG VOR DEM UPDATE:**

┌ <strong>1:</strong> Lies die Fedora News auf der offiziellen Website
├ <strong>2:</strong> Erstelle ein Backup wichtiger Daten
└ <strong>3:</strong> Stelle eine stabile Internetverbindung sicher

```Bash
sudo dnf upgrade
```

**Beispielausgabe:**

```Bash
Last metadata expiration check: 0:02:38 ago
Dependencies resolved.
================================================================================
Package             Arch        Version           Repository           Size
================================================================================
Upgrading:
kernel             x86_64      6.12.9-200.fc43   updates             45 M
firefox            x86_64      147.0-1.fc43      updates            285 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

```Bash
sudo dnf install firefox
```

**Beispielausgabe**:

```Bash
Last metadata expiration check: 0:01:10 ago
Dependencies resolved.
================================================================================
 Package            Architecture    Version            Repository          Size
================================================================================
Installing:
 firefox            x86_64         147.0-1.fc43       updates            285 M
Installing dependencies:
 firefox-libs       x86_64         147.0-1.fc43       updates            180 M
 gtk3              x86_64         3.24.41-1.fc43     fedora              14 M

Transaction Summary
================================================================================
Install  3 Packages

Total download size: 479 M
Installed size: 910 M
Is this ok [y/N]:
```

💡 **Was passiert hier?**

┌ DNF prüft die Paketdatenbank
├ Zeigt verfügbare Updates
├ Listet Abhängigkeiten
└ 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**

```Bash
sudo dnf install -y firefox
```

<blockquote class="infobox infobox--important">
⚠️ **WARNUNG:** Nutze `-y` nur, wenn du dir sicher bist!
</blockquote>


**Installation einer bestimmten Version**

```Bash
sudo dnf install firefox-147.0-1.fc43
```

**Installation aus einer bestimmten Quelle**

```Bash
sudo dnf --enablerepo=rpmfusion-nonfree install vlc
```

### Gruppen installieren

DNF unterstützt Paketgruppen für zusammengehörige Software:

```Bash
# 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**

```Bash
sudo dnf remove firefox
```

**Beispielausgabe**

```Bash
Dependencies resolved.
================================================================================
 Package         Architecture     Version              Repository          Size
================================================================================
Removing:
 firefox         x86_64          147.0-1.fc43         @updates          910 M
Removing unused dependencies:
 firefox-libs    x86_64          147.0-1.fc43         @updates          180 M

Transaction Summary
================================================================================
Remove  2 Packages

Is this ok [y/N]:
```

**Automatische Bereinigung**

Nicht mehr benötigte Abhängigkeiten entfernen:

```Bash
sudo dnf autoremove
```

**Beispielausgabe**

```Bash
Dependencies resolved.
================================================================================
 Package          Architecture      Version           Repository          Size
================================================================================
Removing:
 gtk3-devel      x86_64           3.24.41-1.fc43    @fedora            14 M
 [...weitere nicht mehr benötigte Pakete...]

Transaction Summary
================================================================================
Remove  5 Packages

Is this ok [y/N]:
```

## Paketinformationen

**Detaillierte Paketinformationen**

```Bash
dnf info firefox
```

**Beispielausgabe**

```Bash
Last metadata expiration check: 2:12:33 ago
Available Packages
Name         : firefox
Version      : 147.0
Release      : 1.fc43
Architecture : x86_64
Size         : 285 M
Source       : firefox-147.0-1.fc43.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**

```Bash
dnf deplist firefox
```

**Dateien eines installierten Pakets anzeigen**

```Bash
dnf repoquery -l firefox
```

## Cache-Verwaltung

**Cache bereinigen**

```Bash
sudo dnf clean all
```

💡 **Was wird gereinigt?**

┌ Heruntergeladene RPM-Pakete
├ Header und Metadaten
└ Cache-Verzeichnisse

**Teilweise Cache-Bereinigung**

Nur alte Pakete entfernen:

```Bash
sudo dnf clean packages
```

Nur Metadaten bereinigen:

```Bash
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/](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**

```Bash
sudo dnf check-update
```

**Vollständiges Systemupdate**

```Bash
sudo dnf upgrade
```

**Beispielausgabe mit Erklärungen:**

```Bash
Last metadata expiration check: 0:15:24 ago
Dependencies resolved.
================================================================================
 Package               Arch   Version                  Repository          Size
================================================================================
Upgrading:
 kernel               x86_64 6.12.9-200.fc43          updates            45 M
 systemd              x86_64 255-2.fc43               updates            16 M
 firefox              x86_64 147.0.1-1.fc43           updates           285 M
 [...weitere Pakete...]

Transaction Summary
================================================================================
Upgrade  15 Packages

Total download size: 425 M
Is this ok [y/N]:
```

💡 **Was bedeuten verschiedene Update-Typen?**

┌ <strong>kernel:</strong> Diese Pakete können nicht versehentlich entfernt werden
├ <strong>systemd:</strong> Pacman prüft vor der Installation den verfügbaren Speicherplatz
├ <strong>Sicherheitsupdates:</strong> Legt fest, wie streng die Sicherheitsüberprüfung ist
└ <strong>Normale Programmupdates:</strong> Legt fest, wie streng die Sicherheitsüberprüfung ist

### DNF-Transaktionshistorie

**Historie anzeigen**

```Bash
dnf history
```

**Details einer Transaktion**

```Bash
dnf history info 123
```

**Transaktion rückgängig machen**

```Bash
sudo dnf history undo 123
```

## Troubleshooting

### Häufige Probleme und Lösungen

**Beschädigte Metadaten**

```Bash
error: Failed to synchronize cache for repo 'fedora'
```

### Lösung

**Cache komplett leeren**

```Bash
sudo dnf clean all
```

**Metadaten neu laden**

```Bash
sudo dnf makecache
```

### Repository-Probleme

**Repository-Status prüfen**

```Bash
dnf repolist all
```

**Repository neu aktivieren**

```Bash
sudo dnf config-manager --set-enabled fedora
```

### Abhängigkeitskonflikte

**Konflikt analysieren**

```Bash
dnf repoquery --requires --resolve paketname
```

**Alternative Version installieren**

```Bash
sudo dnf --allowerasing install paketname
```

<blockquote class="infobox infobox--important">
⚠️ **WARNUNG:** `--allowerasing` mit Vorsicht verwenden!
</blockquote>


## Fortgeschrittene DNF-Funktionen

### **DNF-Plugins installieren**

Bash

```Bash
sudo dnf install dnf-plugins-core
```

### Nützliche Plugin-Befehle

**System-Upgrade auf neue Fedora-Version**

Bash

```Bash
sudo dnf system-upgrade download --releasever=44
```

### Repository-Management

####  RPM Fusion hinzufügen

```Bash
sudo dnf install https://mirrors.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm https://mirrors.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm
```

### Repository-Prioritäten setzen

In `/etc/yum.repos.d/fedora.repo`

```TypeScript
[fedora]
priority=1
```

## Performance-Optimierung

### DNF-Konfiguration anpassen

In `/etc/dnf/dnf.conf`:

```TypeScript
[main]
max_parallel_downloads=10
defaultyes=True
keepcache=True
```

### Fastest Mirror Plugin

#### Plugin installieren

```Bash
sudo dnf install dnf-plugins-core
```

**In `dnf.conf` aktivieren**

```TypeScript
fastestmirror=True
```

## Best Practices

###  Tägliche Wartung

```Bash
# System aktualisieren
sudo dnf upgrade

# Nicht benötigte Pakete entfernen
sudo dnf autoremove

# Cache bereinigen
sudo dnf clean all
```

###  System-Checks

```Bash
# RPM-Datenbank prüfen
sudo rpm --rebuilddb

# Systemjournal prüfen
journalctl -p 3 -xb
```

## Sicherheitsmaßnahmen

### Vor kritischen Updates

```Bash
# 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**

```Bash
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**

```Bash
sudo dnf module enable postgresql:13
```

**Mit bestimmtem Profil installieren**

```Bash
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**

```Bash
sudo dnf verify
```

**Einzelnes Paket prüfen**

```Bash
sudo dnf verify firefox
```

### RPM-Signaturen prüfen

**Schlüssel importieren**

```Bash
sudo rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-*
```

**Paket verifizieren**

```Bash
rpm -K paketname.rpm
```

### Downgrade von Paketen

**Verfügbare Versionen anzeigen**

```Bash
dnf list --showduplicates firefox
```

**Auf bestimmte Version downgraden**

```Bash
sudo dnf downgrade firefox-146.0-1.fc43
```

⚠️ **WARNUNG:**

┌ Downgrades können Abhängigkeitsprobleme verursachen
├ Nur im Notfall verwenden
└ System vorher sichern

## Performance-Tuning

### Parallele Downloads optimieren

**In `/etc/dnf/dnf.conf`:**

```TypeScript
[main]
max_parallel_downloads=10
deltarpm=true
fastestmirror=true
```

💡 **Was bewirken diese Einstellungen?**

┌ `max_parallel_downloads`: Anzahl gleichzeitiger Downloads
├ `deltarpm`: Nur Änderungen herunterladen
└ `fastestmirror`: Schnellste Server wählen

### Metadata-Caching

**Metadata-Cache erstellen**

```Bash
sudo dnf makecache
```

**Cache-Gültigkeit einstellen**

```TypeScript
metadata_expire=12h
```

## Automatisierung

##### DNF-Automatic einrichten

```Bash
sudo dnf install dnf-automatic
```

**Konfiguration in `/etc/dnf/automatic.conf`:**

```TypeScript
[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

```Bash
sudo systemctl enable --now dnf-automatic.timer
```

## Batch-Operationen

### Paketlisten verarbeiten

**Liste installierter Pakete erstellen**

```Bash
dnf repoquery --userinstalled > packages.txt
```

**Pakete aus Liste installieren**

```Bash
sudo dnf install $(cat packages.txt)
```

## Experten-Tipps

##### priority-Plugin installieren

```Bash
sudo dnf install dnf-plugins-core
```

**Priorität in `.repo`-Datei setzen**

```TypeScript
priority=1
```

##### Debugging-Tools

**DNF-Debug-Ausgabe**

```Bash
dnf -v install firefox
dnf --debuglevel=10 update
```

**Transaktions-Debug**

```Bash
# Debug-Logs aktivieren
debuglevel=10
logdir=/var/log/dnf
```

## Sicherheit und Backup

###  Mit LVM-Snapshots

**Snapshot erstellen**

```Bash
sudo lvcreate -s -n snap01 -L 5G /dev/vg0/root
```

**Snapshot zurückrollen**

```Bash
sudo lvconvert --merge /dev/vg0/snap01
```

### Paket-Sicherung

**RPM-Datenbank sichern**

```Bash
sudo cp -a /var/lib/rpm /backup/rpm-$(date +%Y%m%d)
```

**Paketlisten exportieren**

```Bash
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-Bereinigun

**Sicherheit**

┌ Nur vertrauenswürdige Repositories verwenden
├ Regelmäßige Backups erstellen
└ Sicherheitsupdates zeitnah einspielen

## Wichtige Ressourcen

##### Offizielle Dokumentation

- [Fedora DNF System Dokumentation](https://docs.fedoraproject.org/en-US/fedora/latest/system-administrators-guide/package-management/DNF/)
- [DNF Command Reference](https://dnf.readthedocs.io/en/latest/command_ref.html)
- [Fedora Magazine](https://fedoramagazine.org/) – Aktuelle Tipps und Tutorials
- [Fedora Package Database](https://packages.fedoraproject.org/)

##### Community-Ressourcen

- [Fedora Forum](https://forums.fedoraforum.org/)
- [Fedora Ask (Q&A)](https://ask.fedoraproject.org/)
- [Fedora Discussion](https://discussion.fedoraproject.org/)
- [Fedora auf Reddit](https://www.reddit.com/r/Fedora/)

##### Hilfreiche Tools und Dokumentationen

- [DNF Plugins Documentation](https://dnf-plugins-core.readthedocs.io/)
- [RPM Fusion Guides](https://rpmfusion.org/Configuration)
- [Fedora Security Guide](https://docs.fedoraproject.org/en-US/fedora/latest/security-guide/)

## 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.

<blockquote class="infobox infobox--note">
⚠️ <strong>Wichtiger Hinweis:</strong><br>
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.
</blockquote>
<p>
<blockquote class="infobox infobox--note">
💡 <strong>Denk immer daran:</strong> Die Fedora-Community ist hilfsbereit und unterstützend - zögere nicht, Fragen zu stellen und dich einzubringen!
</blockquote>

#### Aktualisierungen und Änderungen

<blockquote class="infobox infobox--note">
Dieser Artikel wird regelmäßig aktualisiert, um neue Entwicklungen und Best Practices zu berücksichtigen. Die letzte Aktualisierung erfolgte am 16. Januar 2026.
</blockquote>
