Pacman

Aus wiki.archlinux.de

Arch Linux hat als zentralen Bestandteil den Pacman-Paketmanager, der einfache Binärpakete mit einem einfach zu benutzenden System verbindet, was dem Benutzer erlaubt, eigene Pakete zu erstellen und zu verwalten, egal ob dies nun offizielle Arch-Pakete oder Benutzerpakete sind. Das Datenbank-System ermöglicht es außerdem den Benutzern, eigene Datenbanken, so genannte Repositories anzulegen, was Communitywachstum und Benutzerbeiträge fördert.

Mit Pacman hält man das System aktuell, indem man die Paketlisten mit dem Hauptserver synchronisiert, wodurch es für den sicherheitsbewussten Admin ein Leichtes ist, auf dem neuesten Stand zu bleiben. Durch dieses Server/Client-Modell ist es möglich, Pakete durch einfache Befehle komplett mit allen Abhängigkeiten (ähnlich Debians apt-get) herunterzuladen und zu installieren,


Benutzung

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

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

Man muss nur die nötigen Parameter für die bestimmten Funktionen kennen. Hier sind die am meisten genutzten:

Bitte beachten, dass die Paketnamen alle mit Kleinbuchstaben geschrieben werden

  • Lokale Datenbanken aktualisieren:
pacman -Sy
  • Ein Paket installieren oder aktualisieren:
pacman -S paketname
  • Alle installierten Pakete aktualisieren:
pacman -Su

Es können auch mehr Parameter auf einmal verwendet werden:

  • Datenbank synchronisieren und Pakete updaten (der wohl wichtigste Befehl für Pacman: Führt ein Systemupdate aus!):
pacman -Syu
  • Mehr als ein Paket installieren:
pacman -S paket1 paket2
  • Um nach Paketen in den Datenbanklisten zu suchen, reicht auch ein Teil des Paketnamens:
pacman -Ss paket
  • Um nach installierten Paketen zu suchen:
pacman -Qs paket
  • Manchmal gibt es mehrere Versionen eines Paketes in verschiedenen Repositories (z.B. extra und testing). Hier kann angegeben, welches installiert werden soll:
pacman -S extra/paketname
pacman -S testing/paketname
  • Ein Paket herunterladen, ohne es zu installieren:
pacman -Sw paketname
  • Ein Paket von einem lokalen Pfad installieren:
pacman -A /pfad/zu/paket/paketname-version.pkg.tar.gz
  • Paketinformationen anzeigen:
pacman -Si paket
pacman -Qi paket
  • Alle Dateien eines Pakets anzeigen:
pacman -Ql paket
  • Zu welchem Paket gehört diese Datei?
pacman -Qo /pfad/zu/einer/Datei
  • Paket enfernen:
pacman -R paketname
  • Ein Paket zusammen mit allen Abhängigkeiten, die nicht von anderen installierten Paketen gebraucht werden, entfernen:
pacman -Rs paketname
  • Pacmancache leeren (/var/cache/pacman/pkg):
pacman -Scc
  • Pacman optimieren
pacman-optimize

Für eine detailliertere Ausführung der Parameter siehe pacman --help oder man pacman.

Konfiguration

Pacmans Einstellungen werden gespeichert in der Datei /etc/pacman.conf. 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 paketxxx 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.

Repositories

In dieser Sektion wird definiert, welche Repositories (Datenbanken) benutzt werden sollen. Sie können direkt hier definiert oder von einer anderen Datei inkludiert werden. Diese Vorgehensweise sorgt für mehr Übersicht, da die offiziellen Repositories viele Spiegel haben.

[current]
# Add your preferred servers here, they will be used first
Include = /etc/pacman.d/current

Durch den Befehl Include wird die Datei /etc/pacman.de/current eingebunden, welche wiederum auf verschieden Downloadmirrors der "current"-Datenbank verweist.

[repository-name]
Server = ftp://server.net/repo

Über Server wird direkt ein Server angegeben, welcher einen anonymen Zugang ermöglichen muss, um als Repository genutzt werden zu können.

Auch hierzu gibt es weitere Informationon unter man pacman.


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