===== Paketverwaltung unter Linux ===== Linux-Distributionen verwenden verschiedene Paketverwaltungssysteme zur Installation, Aktualisierung und Verwaltung von Software. ==== Übersicht nach Distribution ==== === Debian-basierte Systeme (Debian, Ubuntu, Linux Mint) === * **[[sammlung:apt|APT]]** - Advanced Package Tool (High-Level) * **[[sammlung:dpkg|dpkg]]** - Debian Package Manager (Low-Level) * Paketformat: **.deb** * Repositories: `/etc/apt/sources.list` und `/etc/apt/sources.list.d/` === Red Hat-basierte Systeme (RHEL, CentOS, Fedora) === * **[[sammlung:dnf|DNF]]** - Dandified YUM (High-Level, modern) * **[[sammlung:yum|YUM]]** - Yellowdog Updater Modified (High-Level, klassisch) * **[[sammlung:rpm|RPM]]** - Red Hat Package Manager (Low-Level) * Paketformat: **.rpm** * Repositories: `/etc/yum.repos.d/` === SUSE-basierte Systeme (openSUSE, SLES) === * **[[sammlung:zypper|Zypper]]** - Kommandozeilen-Paketmanager (High-Level) * **[[sammlung:rpm|RPM]]** - Red Hat Package Manager (Low-Level) * Paketformat: **.rpm** * Repositories: `/etc/zypp/repos.d/` === Arch-basierte Systeme (Arch Linux, Manjaro) === * **[[sammlung:pacman|Pacman]]** - Package Manager (High-Level und Low-Level) * Paketformat: **.pkg.tar.zst** * Repositories: `/etc/pacman.conf` * Zusätzlich: **AUR** (Arch User Repository) mit Helfern wie yay oder paru ==== High-Level vs. Low-Level ==== === High-Level Paketmanager === * Automatische Abhängigkeitsauflösung * Repository-Verwaltung * Automatischer Download von Paketen * Beispiele: APT, DNF, YUM, Zypper, Pacman === Low-Level Paketmanager === * Direktes Arbeiten mit Paketdateien * Keine automatische Abhängigkeitsauflösung * Manuelle Installation einzelner Pakete * Beispiele: dpkg, RPM ==== Vergleich: Häufige Aufgaben ==== ^ Aufgabe ^ Debian/Ubuntu ^ RHEL/Fedora ^ openSUSE ^ Arch Linux ^ | Paketlisten aktualisieren | ''apt update'' | ''dnf check-update'' | ''zypper refresh'' | ''pacman -Sy'' | | System aktualisieren | ''apt upgrade'' | ''dnf update'' | ''zypper update'' | ''pacman -Syu'' | | Paket installieren | ''apt install '' | ''dnf install '' | ''zypper install '' | ''pacman -S '' | | Paket entfernen | ''apt remove '' | ''dnf remove '' | ''zypper remove '' | ''pacman -R '' | | Paket suchen | ''apt search '' | ''dnf search '' | ''zypper search '' | ''pacman -Ss '' | | Paketinfo anzeigen | ''apt show '' | ''dnf info '' | ''zypper info '' | ''pacman -Si '' | | Installierte Pakete | ''dpkg -l'' | ''dnf list installed'' | ''zypper packages --installed-only'' | ''pacman -Q'' | | Verwaiste Pakete entfernen | ''apt autoremove'' | ''dnf autoremove'' | ''zypper packages --unneeded'' | ''pacman -Rns $(pacman -Qdtq)'' | ==== Lokale Paketdateien installieren ==== # Debian/Ubuntu sudo apt install ./paket.deb sudo dpkg -i paket.deb # RHEL/Fedora sudo dnf install paket.rpm sudo yum localinstall paket.rpm sudo rpm -ivh paket.rpm # openSUSE sudo zypper install paket.rpm sudo rpm -ivh paket.rpm # Arch Linux sudo pacman -U paket.pkg.tar.zst ==== Repository-Verwaltung ==== === Debian/Ubuntu === # PPA hinzufügen (Ubuntu) sudo add-apt-repository ppa:user/repo # Repository manuell hinzufügen echo "deb http://repo.url/ubuntu focal main" | sudo tee /etc/apt/sources.list.d/repo.list === RHEL/Fedora === # DNF sudo dnf config-manager --add-repo https://repo.url/fedora.repo # YUM sudo yum-config-manager --add-repo https://repo.url/centos.repo === openSUSE === sudo zypper addrepo https://repo.url opensuse-repo sudo zypper refresh === Arch Linux === # Repositories in /etc/pacman.conf bearbeiten sudo nano /etc/pacman.conf ==== Abhängigkeiten verwalten ==== # Debian/Ubuntu apt depends # Abhängigkeiten anzeigen apt rdepends # Reverse Dependencies # RHEL/Fedora dnf deplist # Abhängigkeiten auflisten dnf repoquery --requires # openSUSE zypper info --requires # Arch Linux pactree # Abhängigkeitsbaum pacman -Qi # Mit Abhängigkeiten ==== Cache-Verwaltung ==== # Debian/Ubuntu sudo apt clean # Cache komplett leeren sudo apt autoclean # Nur veraltete Pakete entfernen # RHEL/Fedora sudo dnf clean all # Cache leeren sudo yum clean all # openSUSE sudo zypper clean # Cache leeren # Arch Linux sudo pacman -Sc # Alte Pakete aus Cache entfernen sudo pacman -Scc # Cache vollständig leeren ==== Paketdatenbanken ==== ^ Distribution ^ Paketdatenbank-Pfad ^ | Debian/Ubuntu | ''/var/lib/dpkg/'' | | RHEL/Fedora | ''/var/lib/rpm/'' | | openSUSE | ''/var/lib/rpm/'' | | Arch Linux | ''/var/lib/pacman/'' | ==== Wichtige Befehle für Notfälle ==== # Debian/Ubuntu - Kaputte Installation reparieren sudo dpkg --configure -a sudo apt-get install -f # RHEL/Fedora - RPM-Datenbank neu aufbauen sudo rpm --rebuilddb # Arch Linux - Paketdatenbank aktualisieren sudo pacman -Syy ==== Weitere Tools ==== === Grafische Paketmanager === * **Synaptic** - GTK-basiert (Debian/Ubuntu) * **GNOME Software** - GNOME Desktop * **KDE Discover** - KDE Plasma Desktop * **YaST** - SUSE Verwaltungstool * **Pamac** - Manjaro/Arch === Alternative Paketmanager === * **[[sammlung:flatpak|Flatpak]]** - Distributionsunabhängige Pakete * **[[sammlung:snap|Snap]]** - Canonical's universelles Paketformat * **[[sammlung:appimage|AppImage]]** - Portable Anwendungen * **Nix** - Funktionaler Paketmanager * **Homebrew** - Ursprünglich macOS, auch für Linux ==== Best Practices ==== * **Regelmäßige Updates**: System regelmäßig aktualisieren für Sicherheit und Stabilität * **Offizielle Repositories**: Bevorzugt offizielle Repositories nutzen * **Repository-Quellen prüfen**: Nur vertrauenswürdige Repositories hinzufügen * **Backups vor großen Updates**: Wichtige Daten vor Distribution-Upgrades sichern * **Abhängigkeiten beachten**: Manuelle Paket-Entfernung kann Abhängigkeiten brechen * **Cache-Verwaltung**: Regelmäßig Paket-Cache aufräumen um Speicherplatz zu sparen ==== Siehe auch ==== * [[kommandoreferenz:paketverwaltung|Paketverwaltung (Kommandoreferenz)]] * [[sammlung:software_installation|Software-Installation]] * [[sammlung:repository_konfiguration|Repository-Konfiguration]] ==== Weiterführende Links ==== * Debian Wiki: https://wiki.debian.org/PackageManagement * Arch Wiki: https://wiki.archlinux.org/title/Pacman * Fedora Docs: https://docs.fedoraproject.org/en-US/quick-docs/dnf/ * openSUSE Docs: https://doc.opensuse.org/documentation/leap/reference/html/book-reference/cha-sw-cl.html ---- {{tag>cli package management basics, advanced}} ----