Pacman oder Pamac
Bei der Nutzung von Manjaro Linux stellt sich die Frage, ob für die Paketverwaltung auf der Konsole der klassische Pacman oder der modernere Pamac die bessere Wahl ist. Beide Werkzeuge haben ihre Daseinsberechtigung. Ich möchte hier die Unterschiede aufzeigen und eine Entscheidungshilfe geben.
Die Grundlagen
Pacman ist der ursprüngliche Paketmanager von Arch Linux und bildet das Herzstück der Paketverwaltung in Manjaro. Das Programm ist schlank, schnell und zuverlässig.
Pamac hingegen wurde von den Manjaro-Entwicklern geschaffen und bietet auch eine grafische Oberfläche sowie eine erweiterte Kommandozeilen-Variante. Pamac baut auf Pacman auf und erweitert es um wichtige Funktionen.
Die Unterschiede im Detail
Der wichtigste Unterschied liegt in der Benutzerfreundlichkeit und den zusätzlichen Funktionen. Pacman arbeitet puristisch und ausschliesslich mit den offiziellen Paketquellen.
Pamac hingegen unterstützt von Haus aus das Arch User Repository, kurz AUR, und kann auch Flatpak- und Snap-Pakete verwalten.
Bei der Geschwindigkeit hat Pacman klare Vorteile. Das Programm arbeitet direkt mit der Datenbank und führt nur die notwendigsten Prüfungen durch.
Pamac ist etwas langsamer, da es mehr Sicherheitschecks und Abhängigkeitsanalysen vornimmt. Dieser Unterschied zeigt sich vor allem bei grossen Updates.
Die Abhängigkeitsauflösung ist bei beiden Werkzeugen gut. Pamac zeigt beim Entfernen von Paketen jedoch übersichtlicher an, welche weiteren Pakete betroffen sind. Das erweist sich als hilfreich, besonders beim Deinstallieren grösserer Pakete wie ganzer Desktop-Umgebungen.
Einsatz von Pacman
Für die tägliche Systempflege und wichtige Updates eignet sich Pacman besonders gut. Der Befehl sudo pacman -Syu stellt den zuverlässigsten Weg dar, das System auf den neuesten Stand zu bringen. Pacman ist hier schneller und weniger fehleranfällig als die grafische Variante.
Bei Systemproblemen oder Abstürzen von Pamac kommt keine Alternative an Pacman vorbei. Das Programm stellt die letzte Instanz dar und funktioniert immer, auch wenn die grafische Oberfläche nicht mehr startet. Für Skripte und Automatisierungen ist Pacman ebenfalls die bessere Wahl.
Einsatz von Pamac
Für die Installation neuer Software bietet sich Pamac an. Der Befehl pamac search liefert übersichtlichere Ergebnisse, und pamac install kann automatisch AUR-Pakete einbinden, ohne dass zusätzliche Parameter erforderlich sind.
Besonders beim Entfernen von Paketen schätze ich die klare Darstellung der Abhängigkeitsbäume. Pamac zeigt genau, welche Pakete mit entfernt werden, wenn ein Programm deinstalliert wird. Das hilft, böse Überraschungen zu vermeiden.
Für Einsteiger erweist sich Pamac durch die grafische Oberfläche und die besseren Fehlermeldungen als zugänglicher. Die Integration von AUR macht es zum vielseitigen Werkzeug der Paketverwaltung.
Die goldene Regel
Ein wichtiger Punkt: Pacman und Pamac sollten nie gleichzeitig genutzt werden. Beide Werkzeuge greifen auf dieselbe Datenbank zu und sperren sie während der Arbeit. Bei geöffneter grafischer Oberfläche von Pamac sollte diese geschlossen werden, bevor im Terminal Pacman verwendet wird. Andernfalls erscheint eine Fehlermeldung über eine gesperrte Datenbank.
Persönliche Empfehlung
Ich nutze beide Werkzeuge für unterschiedliche Zwecke. Für die grossen Systemupdates greife ich zu Pacman. Das Programm ist schneller und zuverlässiger, und ich behalte die volle Kontrolle über den Prozess. Für die Installation und Deinstallation von Programmen verwende ich Pamac, besonders bei AUR-Paketen.
Mit der Zeit entwickelt sich sicher ein eigenes Gefühl dafür, welches Werkzeug in welcher Situation besser liegt. Beide sind hervorragende Werkzeuge, und die Kombination aus beiden macht die Paketverwaltung unter Manjaro besonders mächtig und flexibel.
Feature-Vergleich Pacman vs. Pamac
| Feature | Pacman | Pamac |
|---|---|---|
| Basis | Native Arch-Linux-Paketverwaltung | Von Manjaro entwickelte Oberfläche auf Pacman-Basis |
| Oberfläche | Nur Kommandozeile | Kommandozeile und grafische Benutzeroberfläche |
| Geschwindigkeit | Sehr schnell, minimale Prüfungen | Etwas langsamer durch mehr Sicherheitschecks |
| AUR-Unterstützung | Nicht enthalten, nur über separate Helfer | Integriert, ab Werk verfügbar |
| Flatpak-Unterstützung | Nicht enthalten | Integriert |
| Snap-Unterstützung | Nicht enthalten | Integriert |
| Abhängigkeitsauflösung | Gut, aber kompakte Ausgabe | Übersichtlich mit Baumstruktur |
| Update-Prozess | sudo pacman -Syu | pamac update oder GUI-Klick |
| Paketsuche | pacman -Ss suchbegriff | pamac search suchbegriff mit besserer Darstellung |
| Installation | sudo pacman -S paketname | pamac install paketname |
| Deinstallation | sudo pacman -Rns paketname | pamac remove paketname mit Abhängigkeitsanzeige |
| Fehlermeldungen | Technisch, oft kryptisch | Benutzerfreundlich, verständlicher |
| System-Upgrades | Sehr zuverlässig, selten Fehler | Gut, aber GUI kann bei Abstürzen Probleme machen |
| Skript- und Automatisierungstauglichkeit | Hervorragend | Eingeschränkt |
| Datenbanksperre | Wird bei Nutzung gesetzt | Wird bei Nutzung gesetzt |
| Paketquellen | Offizielle Repositories | Offizielle Repositories, AUR, Flatpak, Snap |
Manjaro Paket Repositories
Die Paketverwaltung unter Manjaro basiert auf einem mehrschichtigen System verschiedener Quellen. Jede dieser Quellen hat ihre eigene Funktion und ihren Platz im Ökosystem. Hier die wichtigsten Repositories und Formate, die für die Arbeit mit Pacman und Pamac relevant sind.
Um 99% der Benutzeranforderungen abzudecken, reicht das Manjaro und das Flatpak Repository.
Das offizielle Manjaro Repository
Manjaro verwendet eigene, spezialisierte Software-Repositories, um dauerhafte Stabilität und Zuverlässigkeit zu gewährleisten. Ein grundlegender Punkt ist, dass Manjaro-Systeme keinen Zugriff auf die offiziellen Arch-Repositories haben. Stattdessen werden Softwarepakete aus den Arch-Quellen zunächst umfassend getestet und gegebenenfalls angepasst, bevor sie in die eigenen, stabilen Repositories von Manjaro übernommen werden.
Die Manjaro-Entwickler unterteilen ihre offiziellen Quellen in drei Zweige mit unterschiedlichen Stabilitätsstufen:
Der Stable-Zweig stellt die Standard-Repositories für die Allgemeinheit dar. Diese Pakete haben mehrere Teststufen durchlaufen und gelten als ausgereift und sicher für den täglichen Einsatz.
Der Testing-Zweig dient als Testumgebung für Pakete, die von den Manjaro-Entwicklern gebaut wurden. Dazu gehören Kernel, Kernelmodule, Nvidia-Grafiktreiber, Software-Patches und eigene Manjaro-Anwendungen. Diese Pakete werden hier auf mögliche Fehler und Stabilitätsprobleme überprüft, bevor sie in den Stable-Zweig gelangen. Dieser Zweig richtet sich an erfahrene Nutzer, die zur Verbesserung von Manjaro beitragen möchten.
Der Unstable-Zweig wird mehrmals täglich mit den stabilen Arch-Repositories synchronisiert. Pakete aus Arch gelten grundsätzlich als stabil, da sie von der Archlinux-QA und der Community geprüft wurden. Hier finden sich die neuesten Versionen von Kerneln, Kernelmodulen, Nvidia-Treibern und Manjaro-eigenen Anwendungen. Die Nutzung dieses Zweigs kann zu Problemen führen und ist nur für versierte Anwender geeignet, die kleinere Probleme selbst lösen können.
Eine Konsequenz dieses Testprozesses ist, dass Manjaro nie ganz so aktuell ist wie Arch Linux. Software kann Tage, Wochen oder unter Umständen sogar Monate später im Stable-Zweig erscheinen. Nutzer, die immer die neuesten Versionen wünschen, können auf den Testing- oder Unstable-Zweig wechseln.
Das Arch User Repository (AUR)
Das AUR ist ein von der Arch-Linux-Benutzergemeinschaft selbst verwaltetes Repository. Obwohl dieses Repository inoffiziell ist, können Softwarepakete von hier den Weg in das offizielle Community-Repository von Arch Linux finden, wenn sie populär genug werden.
Das AUR ist besonders nützlich, wenn eine Anwendung nicht in den offiziellen Manjaro-Repositories verfügbar ist. Es handelt sich jedoch nicht um ein gewöhnliches Paket-Repository mit vorgefertigten Binärdateien, sondern um eine Sammlung von PKGBUILD-Skripten. Diese Skripte enthalten Anweisungen, um die Software aus dem Quellcode oder von anderen Quellen zu bauen (selbst komplilieren) und für die Installation vorzubereiten.
Die Nutzung des AUR birgt potenzielle Risiken. Da es von der Community gepflegt wird, gibt es keine Garantie für die Funktionstüchtigkeit oder Sicherheit der Pakete. Mögliche Probleme sind:
- Mehrere Versionen desselben Pakets
- Veraltete Pakete
- Beschädigte oder nur teilweise funktionierende Pakete
- Falsch konfigurierte Pakete mit unnötigen oder fehlenden Abhängigkeiten
- In extrem seltenen Fällen bösartige Pakete
Daher sollte vor der Installation eines AUR-Pakets die entsprechende Seite auf der AUR-Website aufgerufen werden, um die Kommentare von Nutzern und Paketentwicklern zu lesen, die wertvolle Warnungen oder Problemlösungen enthalten können. Das Manjaro-Team gewährt für Probleme, die aus AUR-Installationen resultieren, keinen Support. Auch kann es vorkommen, dass AUR-Pakete nach einem Manjaro-Update nicht mehr funktionieren. Mit Pamac lässt sich das AUR in den Einstellungen unter “Drittanbieter” oder “AUR” aktivieren. Für die Installation mit Pamac wird der Befehl pamac build paketname verwendet.
Flatpak
Flatpak ist ein Format zur Verteilung von Anwendungen, das weitgehend unabhängig von der darunterliegenden Linux-Distribution ist. Der Hauptvorteil von Flatpak liegt in der Unabhängigkeit von den Systembibliotheken. Eine Flatpak-Anwendung bringt ihre eigenen Abhängigkeiten mit, was Konflikte mit dem Basissystem vermeidet und oft aktuellere Versionen ermöglicht.
Ein weiterer Vorteil ist die gute Sandbox-Umgebung, die eine Kontrolle der Berechtigungen der Anwendung erlaubt. Der Haupt-Repository für Flatpak-Anwendungen ist Flathub. Die Integration von Flatpak in Manjaro erfolgt über Pamac. In den Einstellungen von Pamac kann unter “Drittanbieter” die Flatpak-Unterstützung aktiviert werden.
Die Zugriffsberechtigung von Flatpakpaketen kann sehr einfach mit dem Programm Flatseal bearbeitet werden. Klassischerweise fehlt z.B. der Zugriff auf die eigenen User Dateien. Um das für alle Flatpak Pakete zu machen, kann das im ersten Eintrag bei Flatseal “All Applications” eingestellt werden. Oder eben bei jedem Paket einzeln.
Snap
Wirklich nur nutzen, wenn es gar keine andere Möglichkeit gibt!
Snap ist ein von Canonical entwickeltes Paketformat, das ähnlich wie Flatpak auf Container-Isolation und Unabhängigkeit vom Basissystem setzt. Um Snap in Manjaro zu nutzen, muss das Paket snapd installiert und der dazugehörige Systemdienst aktiviert werden. Snap-Pakete werden oft über das Snap-Store installiert, können aber auch über die Kommandozeile mit sudo snap install paketname bezogen werden.
Einige Snap-Pakete haben eine strikte Isolation, was den Zugriff auf die Dateisysteme oder bestimmte Geräte einschränken kann. Die Zugriffsrechte kann mit dem Befehl snap verändert werden. Zudem ist die Paketgröße häufig größer als bei vergleichbaren Pacman-Paketen. Auch Snap kann in Pamac aktiviert werden, ebenfalls in den Einstellungen unter “Drittanbieter”.
Repositories aktiveren/deaktivieren
Das Aktivieren benötigt 2 Schritte
Schritt 1 - Konfiguration
Auf der Konsole/im Terminal können die Repositories folgendermaßen aktiviert oder deaktiviert werden. Dazu folgende Datei editieren
sudo vim /etc/pamac.conf
und Folgendes muss eingetragen werden. Oder auskommentiert mit #zum Entfernen.
# Kommentar
EnableAUR
EnableFlatpak
#EnableSnap
Schritt 2 - Support installieren
AUR-Paketverwaltung
Die Pakete base-devel und git müssen installiert sein
pamac install base-devel git
Installieren
pamac build paketname
Flatpak - Paketverwaltung
pamac install flatpak
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
Installation mit pamac. Installiert automatisch aus Flatpak, falls verfügbar
pamac install paketname
oder direkt mit flatpak
flatpak install flathub paketname
SNAP - Paketverwaltung
pamac install snapd
sudo systemctl enable --now snapd.socket
Für klassische Snap-Unterstützung
sudo ln -s /var/lib/snapd/snap /snap
Installation von Paketen. Installiert automatisch aus Snap, falls verfügbar
pamac install paketname
Oder direkt über Snap
sudo snap install paketname