Paketmanagement unter Linux: Unterschied zwischen den Versionen
| (5 dazwischenliegende Versionen von 3 Benutzern werden nicht angezeigt) | |||
| Zeile 1: | Zeile 1: | ||
| − | + | = Einleitung zu Paketmanagern in Linux = | |
| − | Paketmanager sind | + | Paketmanager sind zentrale Werkzeuge in Linux-Systemen. Sie automatisieren das Installieren, Aktualisieren und Entfernen von Software und stellen sicher, dass alle Abhängigkeiten korrekt aufgelöst werden. Dadurch bleibt das System konsistent, sicher und leicht wartbar. |
| + | Ein Paket ist ein Archiv mit Software und Metadaten wie Name, Version, Beschreibung, Prüfsumme und Abhängigkeiten. Diese Informationen werden nach der Installation in einer lokalen Paketdatenbank gespeichert. | ||
| + | Paketmanager arbeiten eng mit Software-Repositories zusammen, die von den Distributionen gepflegt werden. Unterschiedliche Linux-Systeme verwenden unterschiedliche Paketmanager, die jeweils eigene Paketformate und Philosophien haben. Zu den wichtigsten gehören APT (Debian/Ubuntu), DNF (Fedora, RHEL, CentOS), Zypper (openSUSE), Pacman (Arch Linux) sowie distributionsübergreifende Systeme wie Snap und Flatpak. | ||
| − | == | + | = Aufbau eines Paketmanagement-Systems = |
| − | * ''' | + | Ein vollständiges Paketmanagement besteht aus drei Ebenen: |
| − | * ''' | + | * '''Backend:''' Führt die eigentlichen Installations- und Entfernungsprozesse aus (z. B. dpkg oder rpm). |
| − | * ''' | + | * '''Frontend:''' Bietet benutzerfreundliche Befehle und löst Abhängigkeiten automatisch auf (z. B. apt, dnf, zypper, pacman). |
| + | * '''Repository-System:''' Liefert die Pakete aus geprüften und signierten Quellen. | ||
| − | === | + | = Beispiele für Frontend/Backend-Kombinationen = |
| + | {| class="wikitable" | ||
| + | ! Distribution !! Frontend !! Backend !! Paketformat | ||
| + | |- | ||
| + | | Debian, Ubuntu || APT || dpkg || .deb | ||
| + | |- | ||
| + | | Fedora, RHEL, CentOS || DNF (früher YUM) || rpm || .rpm | ||
| + | |- | ||
| + | | openSUSE, SLES || Zypper || rpm || .rpm | ||
| + | |- | ||
| + | | Arch Linux || Pacman || Pacman || .pkg.tar.zst | ||
| + | |} | ||
| − | * ''' | + | = Vorteile von Paketmanagern = |
| − | + | * '''Einfachheit und Automatisierung:''' Befehle wie `apt install` oder `dnf install` installieren Programme inklusive aller Abhängigkeiten automatisch. | |
| − | + | * '''Systemstabilität:''' Paketmanager stellen sicher, dass nur kompatible Software installiert wird. | |
| − | + | * '''Zentrale Verwaltung:''' Alle installierten Pakete werden in einer lokalen Datenbank verwaltet. | |
| − | * ''' | + | * '''Automatische Sicherheitsupdates:''' Regelmäßige Synchronisation mit vertrauenswürdigen Repositories sorgt für aktuelle und sichere Software. |
| − | + | ||
| − | + | <pre> | |
| + | # Beispiele | ||
| + | apt update | ||
| + | apt install nginx | ||
| + | |||
| + | dnf install nginx | ||
| + | |||
| + | pacman -S nginx | ||
| + | </pre> | ||
| + | |||
| + | = Sicherheitsaspekte = | ||
| + | * '''Digitale Signaturen und Integritätsprüfung''' | ||
| + | : Alle offiziellen Repositories verwenden GPG-Signaturen, um sicherzustellen, dass Pakete unverändert und authentisch sind. | ||
| + | : Debian/Ubuntu (APT): Überprüfen GPG-Signaturen der Paketquellen und Pakete. | ||
| + | : Fedora/RHEL (DNF): Alle RPMs sind digital signiert; unsignierte Pakete werden blockiert. | ||
| + | : Arch Linux (Pacman): Signierte Pakete sind Pflicht; AUR-Pakete können manuell geprüft werden. | ||
| + | |||
| + | * '''Vertrauenswürdige Quellen''' | ||
| + | : Offizielle Repositories werden von den Distributionen gepflegt und regelmäßig überprüft. | ||
| + | : Debian/Ubuntu: Streng kontrollierte Repositories mit festen Release-Zyklen. | ||
| + | : Fedora/RHEL: Zentral verwaltete RPM-Repositories mit Lifecycle-Support. | ||
| + | : Arch Linux: Rolling-Release; Community-AUR mit Quellcodeprüfung vor der Installation. | ||
= Automatische Verfahren = | = Automatische Verfahren = | ||
| − | * | + | * Üblicherweise wird Software in Linux mit Paketmanagern installiert. |
| − | * Paketmanager greifen auf | + | * Paketmanager greifen auf Online-Repositories zu. |
| − | * | + | * Diese enthalten Listen mit Paketen, Beschreibungen und Abhängigkeiten. |
| − | + | * Der Paketmanager weiß dadurch: | |
| − | * | + | ** welche Dateien bei der Deinstallation entfernt werden sollen. |
| − | ** welche Dateien bei der Deinstallation entfernt werden sollen | + | ** welche Pakete nicht mehr benötigt werden. |
| − | ** welche Pakete nicht mehr benötigt werden | + | * Die Paketlisten werden von den Maintainern gepflegt, um Versions- und Abhängigkeitskonflikte zu vermeiden. |
| − | * Die | ||
| − | |||
= Manuelles Verfahren mit Paketmanager = | = Manuelles Verfahren mit Paketmanager = | ||
| − | * Falls ein Paket noch nicht | + | * Falls ein Paket noch nicht im Repository vorhanden ist, kann es manuell heruntergeladen werden. |
| − | * | + | * Gängige Formate sind: |
| − | * | + | ** .deb für Debian-basierte Systeme |
| + | ** .rpm für Fedora-, CentOS- oder RHEL-Systeme | ||
| + | * Solche Pakete können über das jeweilige Backend installiert und wieder entfernt werden. | ||
| + | <pre> | ||
| + | dpkg -i paketname.deb | ||
| + | rpm -i paketname.rpm | ||
| + | </pre> | ||
= Manuelles Verfahren ohne Paketmanager = | = Manuelles Verfahren ohne Paketmanager = | ||
| − | * | + | * Einfache Software kann auch ohne Paketmanager installiert werden, z. B. einzelne Binärdateien oder Skripte. |
| − | * | + | * Übliche Speicherorte: |
| − | * | + | ** /usr/local/bin |
| − | + | ** ~/.local/bin | |
| + | * Diese Programme werden nicht in der Paketdatenbank erfasst und müssen manuell aktualisiert oder entfernt werden. | ||
= Paketmanager = | = Paketmanager = | ||
| − | ==Frontends== | + | == Frontends == |
| − | * [[apt]] | + | * [[apt]] – für Debian und Ubuntu |
| − | * [[pacman]] | + | * [[dnf]] – für Fedora, RHEL, CentOS |
| − | * [[ | + | * [[zypper]] – für openSUSE, SLES |
| + | * [[pacman]] – für Arch Linux | ||
| + | |||
| + | == Backends == | ||
| + | * [[dpkg]] – Debian-Paketverwaltung | ||
| + | * [[rpm]] – Red Hat-Paketverwaltung | ||
| − | == | + | = Weitere Systeme = |
| − | * [[ | + | * [[snap]] – Containerbasiertes Distributionsformat |
| − | * [[ | + | * [[flatpak]] – Distributionsübergreifende App-Isolation |
| + | * [[apt-cache]] – Werkzeug zur Paketdatenbanksuche | ||
| − | = | + | = Aufgaben = |
| − | * [[ | + | * [[apt,dpkg,tar]] |
Aktuelle Version vom 10. November 2025, 20:11 Uhr
Einleitung zu Paketmanagern in Linux
Paketmanager sind zentrale Werkzeuge in Linux-Systemen. Sie automatisieren das Installieren, Aktualisieren und Entfernen von Software und stellen sicher, dass alle Abhängigkeiten korrekt aufgelöst werden. Dadurch bleibt das System konsistent, sicher und leicht wartbar. Ein Paket ist ein Archiv mit Software und Metadaten wie Name, Version, Beschreibung, Prüfsumme und Abhängigkeiten. Diese Informationen werden nach der Installation in einer lokalen Paketdatenbank gespeichert. Paketmanager arbeiten eng mit Software-Repositories zusammen, die von den Distributionen gepflegt werden. Unterschiedliche Linux-Systeme verwenden unterschiedliche Paketmanager, die jeweils eigene Paketformate und Philosophien haben. Zu den wichtigsten gehören APT (Debian/Ubuntu), DNF (Fedora, RHEL, CentOS), Zypper (openSUSE), Pacman (Arch Linux) sowie distributionsübergreifende Systeme wie Snap und Flatpak.
Aufbau eines Paketmanagement-Systems
Ein vollständiges Paketmanagement besteht aus drei Ebenen:
- Backend: Führt die eigentlichen Installations- und Entfernungsprozesse aus (z. B. dpkg oder rpm).
- Frontend: Bietet benutzerfreundliche Befehle und löst Abhängigkeiten automatisch auf (z. B. apt, dnf, zypper, pacman).
- Repository-System: Liefert die Pakete aus geprüften und signierten Quellen.
Beispiele für Frontend/Backend-Kombinationen
| Distribution | Frontend | Backend | Paketformat |
|---|---|---|---|
| Debian, Ubuntu | APT | dpkg | .deb |
| Fedora, RHEL, CentOS | DNF (früher YUM) | rpm | .rpm |
| openSUSE, SLES | Zypper | rpm | .rpm |
| Arch Linux | Pacman | Pacman | .pkg.tar.zst |
Vorteile von Paketmanagern
- Einfachheit und Automatisierung: Befehle wie `apt install` oder `dnf install` installieren Programme inklusive aller Abhängigkeiten automatisch.
- Systemstabilität: Paketmanager stellen sicher, dass nur kompatible Software installiert wird.
- Zentrale Verwaltung: Alle installierten Pakete werden in einer lokalen Datenbank verwaltet.
- Automatische Sicherheitsupdates: Regelmäßige Synchronisation mit vertrauenswürdigen Repositories sorgt für aktuelle und sichere Software.
# Beispiele apt update apt install nginx dnf install nginx pacman -S nginx
Sicherheitsaspekte
- Digitale Signaturen und Integritätsprüfung
- Alle offiziellen Repositories verwenden GPG-Signaturen, um sicherzustellen, dass Pakete unverändert und authentisch sind.
- Debian/Ubuntu (APT): Überprüfen GPG-Signaturen der Paketquellen und Pakete.
- Fedora/RHEL (DNF): Alle RPMs sind digital signiert; unsignierte Pakete werden blockiert.
- Arch Linux (Pacman): Signierte Pakete sind Pflicht; AUR-Pakete können manuell geprüft werden.
- Vertrauenswürdige Quellen
- Offizielle Repositories werden von den Distributionen gepflegt und regelmäßig überprüft.
- Debian/Ubuntu: Streng kontrollierte Repositories mit festen Release-Zyklen.
- Fedora/RHEL: Zentral verwaltete RPM-Repositories mit Lifecycle-Support.
- Arch Linux: Rolling-Release; Community-AUR mit Quellcodeprüfung vor der Installation.
Automatische Verfahren
- Üblicherweise wird Software in Linux mit Paketmanagern installiert.
- Paketmanager greifen auf Online-Repositories zu.
- Diese enthalten Listen mit Paketen, Beschreibungen und Abhängigkeiten.
- Der Paketmanager weiß dadurch:
- welche Dateien bei der Deinstallation entfernt werden sollen.
- welche Pakete nicht mehr benötigt werden.
- Die Paketlisten werden von den Maintainern gepflegt, um Versions- und Abhängigkeitskonflikte zu vermeiden.
Manuelles Verfahren mit Paketmanager
- Falls ein Paket noch nicht im Repository vorhanden ist, kann es manuell heruntergeladen werden.
- Gängige Formate sind:
- .deb für Debian-basierte Systeme
- .rpm für Fedora-, CentOS- oder RHEL-Systeme
- Solche Pakete können über das jeweilige Backend installiert und wieder entfernt werden.
dpkg -i paketname.deb rpm -i paketname.rpm
Manuelles Verfahren ohne Paketmanager
- Einfache Software kann auch ohne Paketmanager installiert werden, z. B. einzelne Binärdateien oder Skripte.
- Übliche Speicherorte:
- /usr/local/bin
- ~/.local/bin
- Diese Programme werden nicht in der Paketdatenbank erfasst und müssen manuell aktualisiert oder entfernt werden.
Paketmanager
Frontends
- apt – für Debian und Ubuntu
- dnf – für Fedora, RHEL, CentOS
- zypper – für openSUSE, SLES
- pacman – für Arch Linux
Backends
Weitere Systeme
- snap – Containerbasiertes Distributionsformat
- flatpak – Distributionsübergreifende App-Isolation
- apt-cache – Werkzeug zur Paketdatenbanksuche