In der Einleitung im ersten Artikel, der Installation im zweiten Beitrag und der Konfiguration im dritten Teil, geht es heute um die Paketverwaltung bei Arch-Linux. Die Installation der Distribution hat uns zwei Paketmanager beschert, den Arch-eigenen pacman und GNOME-Software als Bestandteil der GNOME-Desktopumgebung. Man mag sich über zwei Anwendungen für die Software-Installation freuen, tatsächlich sehe ich das als Nachteil. Du möchtest lieber eine Anwendung haben, die sich um sämtliche Pakete auf dem System kümmert. Ansonsten sind Doppelspurigkeit und Inkonsistenzen vorprogrammiert.
Obwohl pacman ein sehr guter und schneller Paketmanager ist, kümmert sich die CLI-Anwendung nur um native Arch-Pakete entsprechend der bereitgestellten (konfigurierten) Repositories. Von Paketformaten wie deb, flatpak, snap oder Paketen aus dem AUR (Arch-User-Repository) hat pacman keine Ahnung. Um zu sehen, wie pacman vom Installer konfiguriert wurde, lohnt sich ein Blick in seine Konfigurationsdatei: sudo nano /etc/pacman.conf. Darin findet ihr zwei interessante Einträge:
#ParallelDownloads = 5
Hier lohnt es sich, den # am Anfang zu entfernen, um parallele Download von Pakete einzuschalten. Damit erhöht sich die Geschwindigkeit von Installationen und Updates massiv.
Um zu erfahren, welche Repositories verwendet werden, scrollt ihr nach unten bis zum Abschnitt REPOSITORIES. Dort seht ihr, dass [core] und [extra] eingeschaltet sind, während die [test-repos] sowie [multilib] ausgeschaltet sind. Diese Einstellung könnt ihr so belassen. Wer sich näher über die Bedeutung informieren möchte, kann es hier nachlesen. Nun empfehle ich einen Blick in die Datei /etc/pacman.d/mirrorlist zu werfen. Falls ihr ausschliesslich Server aus eurem Land seht, habt ihr bei der Installation alles richtig gemacht. Wobei sich das nicht so pauschal sagen lässt. Es kann sein, dass ausländische Server besser für euch geeignet sind. Um das herauszufinden, kann man folgendes machen:
Aktualisiert die Arch-Pakete mit (wundert euch nicht über den seltsamen Befehl, dazu komme ich später):
sudo pacman -Syu
Installiert das Paket reflector:
sudo pacman -S reflector
Dieses Programm sucht nach den schnellsten Mirror-Servern in den angegebenen Ländern. So wird es ausgeführt:
sudo reflector --country 'Germany,Switzerland,Austria' --latest 5 --age 2 --fastest 5 --protocol https --sort rate --save /etc/pacman.d/mirrorlist
oder
sudo reflector --country '' --latest 5 --age 2 --fastest 5 --protocol https --sort rate --save /etc/pacman.d/mirrorlist
Falls ihr den Country-Eintrag leer lasst, werden die weltweit schnellsten Server verwendet.
Das Standard-Repository von Arch enthält Tausende von Paketen. Das Arch User Repository (AUR) enthält viele weitere Anwendungen, die von Benutzern eingereicht wurden. Das stellt zwar ein gewisses Risiko dar, ist in manchen Fällen aber unabdingbar, wie wir gleich sehen werden. Um Pakete aus dem AUR installieren zu können, wird ein AUR-Helper wie yay, paru oder picaur benötigt. Yay wird so installiert:
sudo pacman -S --needed git base-devel
git clone https://aur.archlinux.org/yay.git
cd yay
makepkg -si
Jetzt könnt ihr mit yay -S [Paketname] auch Anwendungen aus dem AUR installieren.
An dieser Stelle möchte ich einen Witz einschieben, der meine Meinung zu dieser Folge der Artikel-Serie wiedergibt:
Wenn ihr einen gesunden Smoothie mixen wollte, nehmt ihr eine Handvoll Brokoli, ein paar Baslikumblätter und etwas Wirsing. Das püriert ihr mit einem Mixer und füllt die Mischung mit Ziegenmilch auf. Zum Schluss garniert ihr euren Smoothie mit geriebenen Mandeln. Dann schüttet ihr die Brühe in die Toilette und macht euch ein Bier auf.
Die Bedienung von pacman (und auch yay) ist etwas kryptisch. Statt der intuitiven Kommandos install, remove, update usw., wie man sie von anderen Paketmanagern (apt, pamac) kennt, verwendet Arch seltsame Parameter. Hier ist eine Übersetzungshilfe:
Install: sudo pacman -S Paketname
Remove: sudo pacman -R Paketname
Update: sudo pacman -Syu
List all installed packages: pacman -Q
Search a installed package: pacman -Q 'Paketname'
Neben pacman und yay hat uns die Installation von GNOME auch die Anwendung GNOME Software beschert.
GNOME Software ist so konfiguriert, dass damit nur Flatpaks von flathub.org verwaltet werden können. Falls man native Arch-Pakete, AUR-Pakete und Flatpaks verwenden möchte, hat man es mit zwei Situationen zu tun. Pamac und yay informieren nicht über ausstehende Aktualisierungen. Ich kann mich täuschen, habe jedoch bei meinen Arch-Installationen bisher noch keine Notifikationen gesehen. GNOME Software wird euch über Flatpak-Updates informieren. Man kann mit dieser Situation leben; optimal ist sie aber nicht.
Und jetzt kommt der Moment, in dem einem die Idee kommt, den Smoothie in den Ausguss zu schütten. Wie wäre es mit einer Paketverwaltung, die sich um alle Formate kümmert? Bühne frei für pamac, die Manjaro-Paketverwaltung. Und genau an dieser Stelle höre ich die Leserschaft raunen:
Dann kann ich mir ja gleich Manjaro installieren. Wozu soll ich diese Klimmzüge in Arch-Linux machen?
Ja und nein. Zwar bietet Manjaro mit pamac eine Paketverwaltung, die alles kann und auch sehr bequem und schnell ist, aber der Release-Zyklus und die Repositories sind ganz andere. Arch ist ein echtes Rolling-Linux, während Manjaro 'nur' semi-rolling ist. Man bezeichnet das auch als kuratiertes Rolling Release Modell. Im Gegensatz zu Arch, werden bei Manjaro die Pakete nicht direkt ausgespielt, sondern landen zuerst in den Unstable-, Testing-, Stable-Zweigen der Repositories. Diese sind nicht identisch mit den Arch-Repos!
Wer pamac in Arch-Linux als alleinige Paketverwaltung verwenden möchte, kann das machen. Dazu installiert man über yay das pamac-Paket. Aber Achtung, es ist ein Installations- und Build-Marathon:
yay -S pamac
Nach diesem harmlosen Befehl bricht die Installationshölle über euch herein, weshalb ich den exakten Ablauf hier nicht dokumentieren möchte. Achtet bitte genau auf die Auswahlen, die ihr trefft, sonst habt ihr ganz schnell Snap mit im Boot. Nach der ewig langen Installation präsentiert sich pamac benutzer- und einstellungsfreundlich:
Damit endet diese Serie über Arch-Linux. Ihr konntet die Grundlagen lesen, die Installation durchführen, das System konfigurieren und das Paketmanagement kennenlernen. Mit dem Arch-Installer ist Arch nicht viel schwieriger in Betrieb zu nehmen als andere GNU/Linux-Distributionen. Es gibt zwar ein wenig mehr zu tun als bei den Einsteiger-Distros, dafür bekommt man eine echte rollende Distribution, die sehr schnell läuft. Ausserdem bietet Arch einen Anreiz, sich etwas tiefer mit einem Linux-System zu beschäftigen. Wem das zu aufwändig ist, aber dennoch ein Arch-basiertes System verwenden möchte, kann Manjaro, EndeavourOS oder Garuda ausprobieren. Falls euch das zu einfach war, verweise ich auf Slackware und Gentoo.
Für die KDE-Plasma-Nutzer – wäre Discover nicht eine gute Lösung? Oder ist das bei Arch auch eingeschränkt?
Der AUR-Installationshelfer der im Gegensatz zu yay die Änderungen eines PKGBUID anzeigt heißt pikaur.
Der Befehl
pacman -S git base-devel
benötigt kein "--needed"[--needed
Die Bedienung von pacman ist weder kryptisch noch seltsam und hat auch nicht mit
Brokoli oder Wirsing zu tun. Wer in der Lage ist, sein eingefahrenes Denkschema anzupassen wird von der Systematik sehr schnell überzeugt sein.
https://wiki.archlinux.de/title/Pacman
Für den KDE-Plasma-Nutzer – wäre dann auch noch das GUI-Tool Discover zu erwähnen.Und schliesslich wäre es auch nett zu erwähnen, dass man flatpak auch auf der Konsole verwalten kann.
Ich selbst bevorzuge die manuelle Installation aus dem AUR auch für den langfristigen Einsatz. Das verhindert Wildwuchs und man denkt 2 Mal darüber nach, ob man dieses Paket wirklich braucht oder ob es bessere Alternativen gibt.
Paketmanger, die das AUR mit einbinden bieten zwar mehr komfort, aber häufig verliert man den Überblick, was man aus dem AUR bezieht.
Die wichtigste Option in der /etc/pacman.conf fehlt im Beitrag: ILoveCandy