Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
Pacman ist das Herzstück der Paketverwaltung von Arch Linux. Als Anfänger ist es wichtig zu verstehen, dass es sich bei Pacman nicht nur um ein einfaches Installationsprogramm handelt, sondern um einen komplexen Paketmanager mit einer Vielzahl von Funktionen.
Die Hauptkonfigurationsdatei von Pacman befindet sich unter /etc/pacman.conf
.
Lass uns diese Datei gemeinsam anschauen:
sudo nano /etc/pacman.conf
Wichtige Einstellungen in der Konfigurationsdatei:
[options]
# Verhindert das versehentliche Entfernen wichtiger Pakete
HoldPkg = pacman glibc
# Prüft vor der Installation, ob genügend Speicherplatz vorhanden ist
CheckSpace
# Legt fest, wie Paketsignaturen überprüft werden
SigLevel = Required DatabaseOptional
# Repository-Definitionen
[core]
Include = /etc/pacman.d/mirrorlist
[extra]
Include = /etc/pacman.d/mirrorlist
[community]
Include = /etc/pacman.d/mirrorlist
Was bedeuten diese Einstellungen?
HoldPkg
: Diese Pakete können nicht versehentlich entfernt werdenCheckSpace
: Pacman prüft vor der Installation den verfügbaren SpeicherplatzSigLevel
: Legt fest, wie streng die Sicherheitsüberprüfung istDie Mirrorlist bestimmt, von welchen Servern Pacman Pakete herunterlädt. Eine optimierte Mirrorlist beschleunigt Downloads erheblich.
sudo pacman -S reflector
sudo cp /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist.backup
sudo reflector --country Germany --age 12 --protocol https --sort rate --save /etc/pacman.d/mirrorlist
Was bedeuten diese Parameter?
--country Germany
: Nur deutsche Server verwenden--age 12
: Nur Server, die in den letzten 12 Stunden synchronisiert wurden--protocol https
: Nur sichere HTTPS-Verbindungen--sort rate
: Nach Geschwindigkeit sortieren⚠️ WICHTIG:
Lass uns mit den grundlegendsten Befehlen beginnen:
sudo pacman -Sy
Was passiert hier?
Beispielausgabe:
:: Synchronisiere Paketdatenbanken...
core 151.8 KiB 995 KiB/s 00:00 [##################] 100%
extra 1650.8 KiB 4.86 MiB/s 00:00 [##################] 100%
community 6.0 MiB 5.1 MiB/s 00:01 [##################] 100%
⚠️ WARNUNG:
-Sy
aus und installiere dann Pakete-Syu
für vollständige Updatespacman -Ss firefox
Was macht dieser Befehl?
-Ss
: Durchsucht die PaketdatenbankBeispielausgabe:
extra/firefox 119.0-1
Standalone web browser from mozilla.org
extra/firefox-developer-edition 120.0b9-1
Developer Edition of the popular Firefox web browser
Wie liest man diese Ausgabe?
extra/
: Das Repository, in dem sich das Paket befindetfirefox
: Der Paketname119.0-1
: Die VersionsnummerDer grundlegende Installationsbefehl lautet:
sudo pacman -S paketname
Beispiel: Firefox installieren
sudo pacman -S firefox
:: Installiere firefox und Abhängigkeiten...
Abhängigkeiten auflösen...
Suche nach in Konflikt stehenden Paketen...
Pakete (5) dbus-glib-0.112-2 ffmpeg-6.0-3 firefox-119.0-1
libvpx-1.13.0-1 nss-3.90-1
Gesamtgröße der Downloads: 57.28 MiB
Gesamtgröße installiert: 224.55 MiB
:: Installation fortsetzen? [J/n]
Was passiert hier?
⚠️ WICHTIGE HINWEISE:
sudo pacman -S firefox vlc gimp
Tipp: Pakete mit Leerzeichen trennen. Pacman installiert sie in der richtigen Reihenfolge.
sudo pacman -S --noconfirm firefox
⚠️ WARNUNG: Nutze --noconfirm nur, wenn du dir absolut sicher bist!
sudo pacman -Sw firefox
Dies lädt das Paket herunter, installiert es aber nicht.
sudo pacman -S firefox=119.0-1
sudo pacman -R firefox
Beispielausgabe:
Prüfe Abhängigkeiten...
Pakete (1) firefox-119.0-1
Gesamtgröße der freizugebenden Festplatte: 155.30 MiB
:: Möchtest du diese Pakete entfernen? [J/n]
sudo pacman -Rs firefox
Was ist der Unterschied?
-R
: Entfernt nur das angegebene Paket-Rs
: Entfernt das Paket und alle Abhängigkeiten, die nicht von anderen Paketen benötigt werden⚠️ WICHTIG:
sudo pacman -Rn firefox
Was passiert hier?
-Rn
: Entfernt auch alle Konfigurationsdateienpacman -Qi firefox
Beispielausgabe:
Name : firefox
Version : 119.0-1
Beschreibung : Standalone web browser from mozilla.org
Architektur : x86_64
URL : https://www.mozilla.org/firefox/
Lizenzen : MPL GPL LGPL
Gruppen : Keine
Stellt bereit : firefox
Hängt ab von : gtk3 mozilla-common libxt mime-types dbus-glib
nss hunspell sqlite ttf-font
Optional : networkmanager libnotify pulseaudio speech-dispatcher
Konflikt mit : Keine
Ersetzt : Keine
Installierte Größe : 155.30 MiB
Paketierer : Jan Alexander Steffens (heftig)
Build-Datum : Di 24 Okt 2023 16:45:23 CEST
pacman -Ql firefox
Zeigt alle Dateien, die zu diesem Paket gehören.
pacman -Qo /usr/bin/firefox
Nützlich, wenn du wissen möchtest, welches Paket eine bestimmte Datei installiert hat.
Der Paket-Cache befindet sich in /var/cache/pacman/pkg/
und kann mit der Zeit sehr groß werden.
sudo pacman -Sc
Was passiert?
⚠️ WARNUNG:
sudo pacman -Scc
Beispielausgabe:
Möchten Sie ALLE Dateien aus dem Cache entfernen? [J/n]
:: Leere Pacman-Cache...
⚠️ WICHTIGE WARNUNG:
Vorbereitende Maßnahmen (SEHR WICHTIG!)
# Öffne in deinem Browser
https://archlinux.org/news/
⚠️ KRITISCHE WARNUNGEN:
Vollständiges Systemupdate:
sudo pacman -Syu
Beispielausgabe:
:: Synchronisiere Paketdatenbanken...
core ist aktuell # Prüfung des core Repositories
extra ist aktuell # Prüfung des extra Repositories
community ist aktuell # Prüfung des community Repositories
:: Starte vollständige Systemaktualisierung...
Es gibt 5 Pakete zum Aktualisieren:
linux 6.6.2-1 -> 6.6.3-1 # Kernel-Update!
firefox 119.0-1 -> 119.0.1-1 # Sicherheitsupdate
systemd 254.1-1 -> 254.2-1 # Systemkomponente
[...]
Gesamtgröße der Downloads: 123.45 MB
Gesamtgröße installiert: 345.67 MB
:: Installation fortsetzen? [J/n]
Was bedeuten die verschiedenen Update-Typen?
error: unauflösbare Paketkonflikte erkannt
konflikt: mesa-git und mesa
Was tun?
Fehler: Konnte /usr/lib/libexample.so nicht überschreiben
Lösungsschritte:
Forciere Update mit:
sudo pacman -Syu --overwrite "*"
⚠️ WARNUNG: --overwrite nur im Notfall verwenden!
Beschädigte Paketdatenbank:
error: database 'core' is not valid
Lösung:
# Datenbank neu initialisieren
sudo rm -rf /var/lib/pacman/sync/*
sudo pacman -Syy
Schlüsselprobleme:
error: key "1234ABCD" could not be imported
Lösung:
# Schlüsselbund aktualisieren
sudo pacman-key --refresh-keys
sudo pacman-key --populate archlinux
Unterbrochene Downloads:
error: failed retrieving file 'core.db' from mirror
Lösungsschritte:
# Mirror temporär ändern
sudo nano /etc/pacman.d/mirrorlist
Von Live-System booten:
sudo mount /dev/sdaX /mnt # X ist deine Root-Partition
sudo arch-chroot /mnt
System reparieren:
# Pacman-Datenbank neu aufbauen
sudo pacman -Syyu
# Beschädigte Pakete neu installieren
sudo pacman -S $(pacman -Qnq)
Verwaiste Pakete finden:
pacman -Qdt
Zeigt Pakete, die von keinem anderen Paket benötigt werden.
Explizit installierte Pakete anzeigen:
pacman -Qe
Zeigt alle manuell installierten Pakete.
# Alle explizit installierten Pakete
pacman -Qqe > pkglist.txt
# Alle Pakete inkl. Abhängigkeiten
pacman -Qqn > allpkgs.txt
sudo pacman -S --needed - < pkglist.txt
Was ist das AUR?
Das AUR ist eine Community-getriebene Erweiterung der offiziellen Arch-Repositories. Hier findest du Software, die nicht in den offiziellen Repos verfügbar ist.
⚠️ WICHTIGE SICHERHEITSHINWEISE:
# Git installieren (wird benötigt)
sudo pacman -S --needed git base-devel
# yay herunterladen und installieren
git clone https://aur.archlinux.org/yay.git
cd yay
makepkg -si
Was passiert hier?
yay -Ss programm
Beispielausgabe:
aur/programm-git 1.2.3-1 (+50 0.45)
Beschreibung des Programms
(Bewertungen: +50, Beliebtheit: 0.45)
yay -S programm-git
Was passiert im Hintergrund?
[options]
ParallelDownloads = 5
Vorteile:
Hooks ermöglichen automatische Aktionen nach Paketoperationen.
Beispiel: Automatischer Cache-Cleanup
# /etc/pacman.d/hooks/clean-cache.hook
[Trigger]
Operation = Upgrade
Operation = Install
Operation = Remove
Type = Package
Target = *
[Action]
Description = Bereinige alte Paket-Versionen...
When = PostTransaction
Exec = /usr/bin/paccache -rk 2
# System aktualisieren
sudo pacman -Syu
# Verwaiste Pakete entfernen
sudo pacman -Rns $(pacman -Qtdq)
# Cache bereinigen (behalte 2 Versionen)
sudo paccache -rk 2
# Systemjournal aufräumen
sudo journalctl --vacuum-size=500M
# Fehlerhafte Systemdienste anzeigen
systemctl --failed
# Systemprotokoll auf Fehler prüfen
journalctl -p 3 -xb
# Snapshot mit timeshift erstellen
sudo timeshift --create --comments "Vor großem Update"
# Paketliste sichern
pacman -Qqe > ~/pkglist-$(date +%Y%m%d).txt
# System auf Fehler prüfen
sudo systemctl --failed
sudo journalctl -p 3 -xb
# Wichtige Dienste testen
systemctl status NetworkManager
systemctl status sshd
✅ IMMER:
❌ NIEMALS:
-Sy
ohne nachfolgendes -u
ausführen# System von Live-Medium reparieren
sudo mount /dev/sdaX /mnt
sudo arch-chroot /mnt
# Pacman-Datenbank neu aufbauen
sudo rm -rf /var/lib/pacman/sync/*
sudo pacman -Syy
# Beschädigte Pakete neu installieren
sudo pacman -S $(pacman -Qnq)
Pacman ist ein leistungsfähiges Werkzeug zur Paketverwaltung in Arch Linux, das dir vollständige Kontrolle über dein System gibt. Als Anfänger ist es wichtig, schrittweise vorzugehen und die grundlegenden Konzepte zu verstehen, bevor du dich an fortgeschrittene Funktionen wagst.
Arch Linux entwickelt sich ständig weiter. Überprüfe regelmäßig die offizielle Dokumentation auf Änderungen und neue Funktionen. Die hier beschriebenen Methoden können sich mit der Zeit ändern. Mit diesem umfassenden Wissen und den zur Verfügung stehenden Ressourcen bist du gut gerüstet, um dein Arch-Linux-System effektiv mit Pacman zu verwalten.
Denk immer daran: Die Arch-Community ist hilfsbereit und unterstützend - zögere nicht, Fragen zu stellen und dich einzubringen!
Dieser Artikel wird regelmäßig aktualisiert, um neue Entwicklungen und Best Practices zu berücksichtigen. Die letzte Aktualisierung erfolgte am 23. Oktober 2024.