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

FeaturePacmanPamac
BasisNative Arch-Linux-PaketverwaltungVon Manjaro entwickelte Oberfläche auf Pacman-Basis
OberflächeNur KommandozeileKommandozeile und grafische Benutzeroberfläche
GeschwindigkeitSehr schnell, minimale PrüfungenEtwas langsamer durch mehr Sicherheitschecks
AUR-UnterstützungNicht enthalten, nur über separate HelferIntegriert, ab Werk verfügbar
Flatpak-UnterstützungNicht enthaltenIntegriert
Snap-UnterstützungNicht enthaltenIntegriert
AbhängigkeitsauflösungGut, aber kompakte AusgabeÜbersichtlich mit Baumstruktur
Update-Prozesssudo pacman -Syupamac update oder GUI-Klick
Paketsuchepacman -Ss suchbegriffpamac search suchbegriff mit besserer Darstellung
Installationsudo pacman -S paketnamepamac install paketname
Deinstallationsudo pacman -Rns paketnamepamac remove paketname mit Abhängigkeitsanzeige
FehlermeldungenTechnisch, oft kryptischBenutzerfreundlich, verständlicher
System-UpgradesSehr zuverlässig, selten FehlerGut, aber GUI kann bei Abstürzen Probleme machen
Skript- und AutomatisierungstauglichkeitHervorragendEingeschränkt
DatenbanksperreWird bei Nutzung gesetztWird bei Nutzung gesetzt
PaketquellenOffizielle RepositoriesOffizielle 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