Pacman

Aus wiki.archlinux.de
Version vom 8. Oktober 2009, 14:13 Uhr von 127.0.0.1 (Repositorien und Spiegel-Server)

Wechseln zu: Navigation, Suche

Der zentrale Paketmanager Pacman ist eine der größten Stärken der ArchLinux-Distribution. Er verwaltet einfache Binärpakete im Format .pkg.tar.gz, die entweder aus offiziellen oder inoffiziellen Repositorien stammen, oder vom Benutzer selbst über das Arch Build System (ABS) erstellt wurden. Auch selbst kompilierte Pakete sollten immer über Pacman installiert werden, damit sie in der zentralen Datenbank erfasst werden.

Mit Pacman hält man das System aktuell, indem man die Paketlisten mit einem Hauptserver synchronisiert. Durch dieses Server/Client-Modell ist es möglich, Pakete durch einfache Befehle komplett mit allen Abhängigkeiten (ähnlich Debians apt-get) herunterzuladen, zu installieren oder zu aktualisieren. Getreu dem KISS-Prinzip wurde Pacman als einfaches Kommandozeilen-Werkzeug entwickelt. Inzwischen stehen auch grafische Benutzeroberflächen wie Shaman oder Wrapper wie yaourt zur Verfügung, die jedoch offiziell nicht unterstützt werden.

Installation

Pacman und seine Abhängigkeiten sind bereits Bestandteil jeder Arch Linux-Installation. Um sich lästige Tipp-Arbeit zu ersparen, kann man das Paket Bash-Completion zusätzlich installieren.

Pacman enthält das Script pacman-optimize. Dafür wird das Paket diffutils aus der Paketkategorie base-devel benötigt.

Anwendung

Pacman ist ein All-In-One-Paketmanager. Er kann Pakete

  • suchen,
  • herunterladen,
  • installieren und aktualisieren, sowohl vom Server als auch von lokalen Datenbanken,
  • entfernen.

Man muss nur die nötigen Parameter für die bestimmten Funktionen kennen. Die wichtigsten Befehle werden hier in einer Tabelle aufgeführt. Bitte beachte, dass Paketnamen immer kleingeschrieben werden!


Befehl Beschreibung
pacman -Syu Führt eine komplette System-Aktualisierung aus. Kombiniert die drei folgenden Parameter
pacman -S [paket1] [paket2] Eines oder mehrere Pakete installieren oder aktualisieren
pacman -Sy Lokale Datenbank aktualisieren
pacman -Su Alle installierten Pakete aktualisieren
pacman -Ss [paket] Sucht nach installierbaren Paketen. Es reicht ein Teil des Paketnamens
pacman -Sg Sucht nach installierbaren Paketgruppen
pacman -Sg [paketgruppe] Zeigt den Inhalt einer Paketgruppe
pacman -Qs [paket] Sucht nach bereits installierten Paketen
pacman -R [paket] Paket entfernen
pacman -Rs [paket] Paket mit allen benötigten Abhängigkeiten entfernen (wenn diese nicht von anderen installierten Paketen benötigt werden)
pacman -Rss [paket] Paket mit allen benötigten Abhängigkeiten und deren Abhängigkeiten entfernen
pacman -Qi [paket] Informationen zu bereits installiertem Paket anzeigen
pacman -Si [paket] Informationen zu (noch) nicht installierten Paketen anzeigen
pacman -Sw [paket] Paket herunterladen, ohne es zu installieren
pacman -S testing/[paket] Paket aus einem spezifischen Repo (hier: testing) installieren
pacman -U [paket-datei] Ein lokales Paket installieren. (nicht aus einem Repo)
pacman -Runs [paket] Paket inklusive aller Abhängigkeiten entfernen
pacman -Qdt Verwaiste Pakete anzeigen, die als Abhängigkeiten installiert wurden, aber nicht mehr von anderen Paketen benötigt werden
pacman -Qet Pakete anzeigen, die ausdrücklich installiert wurden, aber nicht von anderen als Abhängigkeit benötigt werden
pacman -Scc Leert den lokalen Speicher von Pacman (/var/cache/pacman/pkg)
pacman -Sc Löscht nicht mehr benötigte und veraltete Pakete aus (/var/cache/pacman/pkg) und unbenutzte Repositorien aus /var/lib/pacman/.
pacman -Ql [paket] Zeigt alle installierten Dateien des Pakets im System
pacman -Qo [datei] Zeigt das Paket an das die Datei enthält
pacman -Qm Pakete anzeigen die sich in keinem Repo befinden
pacman-optimize Pacman optimieren

Man kann natürlich auch mehrere Befehle kombinieren und zum Beispiel so alle verwaisten Pakete deinstallieren: pacman -Rcsn `pacman -Qdtq`

Konfiguration

Pacmans Einstellungen werden in der Datei /etc/pacman.conf gespeichert. Es gibt zwei Hauptbereiche in der Datei:


Allgemeine Einstellungen

Die allgemeinen Einstellungen finden sich in der [options]-Sektion

Hier kann angegeben werden, welche Dateien nicht aktualisiert werden sollen. Das ist bei wichtigen Systemdateien nützlich. Die Syntax ist sehr einfach:

NoUpgrade   = etc/passwd etc/group etc/shadow etc/sudoers
NoUpgrade   = etc/fstab etc/raidtab etc/ld.so.conf
NoUpgrade   = etc/rc.conf etc/rc.local
NoUpgrade   = etc/modprobe.conf etc/modules.conf
NoUpgrade   = etc/lilo.conf boot/grub/menu.lst
IgnorePkg   = paketxxx
HoldPgk     = paketyyy

Dateien, die durch Noupgrade markiert sind, werden beim Update nicht überschrieben, Pacman legt stattdessen eine neue Datei im Format datei.pacnew an.

Pakete, die mit IgnorePkg markiert sind, werden vom Update völlig ausgenommen, falls also von paket xxx eine neue Version vorhanden wäre, würde das Paket im vorliegenden Beispiel nicht aktualisiert werden.

Falls jemand versucht, Pakete, die durch HoldPkg markiert sind, zu entfernen, muss er das bestätigen.

Easteregg: Folgende Zeile in die /etc/pacman.conf schreiben:

ILoveCandy

e9i55i <a href="http://balrvjtbhhrv.com/">balrvjtbhhrv</a>, [url=http://khlkihuropwr.com/]khlkihuropwr[/url], [link=http://gwoikfnujevr.com/]gwoikfnujevr[/link], http://dtqwhqylwicg.com/

Download beschränken

Um die Download-Geschwindigkeit zu beschränken kann in der Zeile

 XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u

dem wget-Befehl die entsprechende Option hinzugefügt werden:

 XferCommand = /usr/bin/wget --passive-ftp --limit-rate 40K -c -O %o %u

(würde z.B. auf 40K/s beschränken).

Weitere Informationen

... findet man natürlich in den manpages:

Retrieved from "http://wiki.archlinux.org/index.php/Pacman_(Deutsch)" Published under GNU Free Documentation License 1.2.