Dies ist eine alte Version des Dokuments!
Inhaltsverzeichnis
ArchLinux - Pacman
Der zentrale Paketmanager bei ArchLinux ist pacman
. pacman
verwaltet Binärpakete im Format .pkg.tar.xz
(ursprünglich .pkg.tar.gz
), welche das Programm aus den offiziellen Paketquellen bezieht. Es lassen sich auch zusätzlich, inoffiziell Paketquellen einbinden und über die Paketverwaltung installieren.
Beschreibung | Externer Link |
---|---|
Homepage | https://www.archlinux.de/ |
Dokumentation | https://wiki.archlinux.de/title/Pacman |
Pacman/Rosetta | https://wiki.archlinux.org/index.php/Pacman/Rosetta |
Pacman DokuWiki | https://wiki.archlinux.de/title/Pacman |
Konfiguration
Nachfolgend soll eine mögliche Konfiguration von pacman
durchgeführt werden.
/etc/pacman.conf
Bei der Verwendung von pacman
, nachfolgend soll eine das updaten von Paketen als Beispiel dienen, kann die Ausgabe, das „Look & Feel“ sozusagen angepasst werden, wie die Änderungen andere Konfigurationsdatei
/etc/pacman.conf
wie nachfolgend dargestellt, zeigen.
Standardmässig wird beim Aufruf von pacman
, nachfolgend formatierte Ausgabe zum Vorschein kommen, hier als Beispiel eine update von im System bereits installierten Paketen:
Vorher:
# pacman -Syu :: Synchronizing package databases... core is up to date extra is up to date community is up to date :: Starting full system upgrade... resolving dependencies... looking for conflicting packages... Packages (9) imagemagick-7.0.10.38-1 libibus-1.5.23+1+gdd4cc5b0-1 python-html5lib-1.1-4 python-pep517-0.9.1-1 python-pip-20.2-1 python-pyopenssl-19.1.0-2 python-resolvelib-0.5.1-1 raptor-2.0.15-14 rasqal-1:0.9.33-4 Total Download Size: 12.48 MiB Total Installed Size: 96.38 MiB Net Upgrade Size: 19.34 MiB :: Proceed with installation? [Y/n]
Um diese Anzeige, ein wenig aussagekräftiger und schöner zu gestalten, können nachfolgende Anpassungen an der Konfigurationsdatei
/etc/pacman.conf
in der Sektion
# Misc options
durchgeführt werden:
# Misc options #UseSyslog # Tachtler - enabled - Color # Tachtler - enabled - TotalDownload CheckSpace # Tachtler - enabled - VerbosePkgLists # Tachtler - new - ILoveCandy
Erklärungen:
Color
Aktiviert automatisch die Anzeige von Farben, aber nur dann, wenn die Ausgabe von pacman
auf einem tty
statt findet.
TotalDownload
Zeigen beim Herunterladen die heruntergeladene Menge und die Download-Rate an, die ETA (Estimated Time of Arrival) die Zeit, bis der Download abgeschlossen sein sollte und der wahrscheinliche abgeschlossene Prozentsatz der gesamten Download-Liste als der Prozentsatz jedes einzelnen Download-Ziels. Eine Fortschrittsanzeige, jeweils ausschliesslich für das aktuellen herunter zu ladende Paket. Diese Option funktioniert allerdings nicht, wenn XferCommand
verwendet wird.
VerbosePkgLists
Zeigt jeweils den Name, die Version und die Grösse des jeweiligen Zielpaketes an, dargestellt in Tabellenform für Upgrade-, Synchronisierungs- und Löschoperationen.
ILoveCandy
Undokumentierte Option - Stellt die Ausgabe des Fortschrittsbalken als Pacman dar, welche „Süssigkeiten“ als Fortschrittsbalken verspeist.
Anschliessend sieht dann das bereits zuvor gezeigte Beispiel des update von im System bereits installierten Paketen, wie folgt aus:
Nachher - (80 Zeichen Fensterbreite)
# pacman -Syu :: Synchronizing package databases... core is up to date extra is up to date community is up to date :: Starting full system upgrade... resolving dependencies... looking for conflicting packages... warning: insufficient columns available for table display Packages (9) imagemagick-7.0.10.38-1 libibus-1.5.23+1+gdd4cc5b0-1 python-html5lib-1.1-4 python-pep517-0.9.1-1 python-pip-20.2-1 python-pyopenssl-19.1.0-2 python-resolvelib-0.5.1-1 raptor-2.0.15-14 rasqal-1:0.9.33-4 Total Download Size: 12.48 MiB Total Installed Size: 96.38 MiB Net Upgrade Size: 19.34 MiB :: Proceed with installation? [Y/n]
WICHTIG - Die erweiterte Anzeige kann nur dargestellt werden, wenn die Fensterbreite mehr als 80 Zeichen beträgt!
Sonst kommt nachfolgende Warnung zum Vorschein:
warning: insufficient columns available for table display
Nachher - (120 Zeichen Fensterbreite)
# pacman -Syu :: Synchronizing package databases... core is up to date extra is up to date community is up to date :: Starting full system upgrade... resolving dependencies... looking for conflicting packages... Package (9) Old Version New Version Net Change Download Size extra/imagemagick 7.0.10.37-1 7.0.10.38-1 0.00 MiB 2.53 MiB extra/libibus 1.5.22+8+gf591381e-1 1.5.23+1+gdd4cc5b0-1 16.67 MiB 8.33 MiB community/python-html5lib 1.1-1 1.1-4 0.00 MiB 0.20 MiB extra/python-pep517 0.8.2-1 0.9.1-1 0.00 MiB 0.03 MiB extra/python-pip 20.1.1-1 20.2-1 0.11 MiB 0.40 MiB extra/python-pyopenssl 19.1.0-2 0.53 MiB 0.08 MiB extra/python-resolvelib 0.4.0-1 0.5.1-1 0.01 MiB 0.02 MiB extra/raptor 2.0.15-13 2.0.15-14 0.93 MiB 0.45 MiB extra/rasqal 1:0.9.33-3 1:0.9.33-4 1.09 MiB 0.45 MiB Total Download Size: 12.48 MiB Total Installed Size: 96.38 MiB Net Upgrade Size: 19.34 MiB :: Proceed with installation? [Y/n] Y :: Retrieving packages... imagemagick-7.0.10.38-1-x86_64 2.5 MiB 9.37 MiB/s 00:00 [----------------------------------------] 20% libibus-1.5.23+1+gdd4-1-x86_64 10.9 MiB 11.3 MiB/s 00:01 [----------------------------------------] 86% python-pep517-0.9.1-1-any 10.9 MiB 11.1 MiB/s 00:01 [----------------------------------------] 87% python-resolvelib-0.5.1-1-any 10.9 MiB 10.9 MiB/s 00:01 [----------------------------------------] 87% python-pyopenssl-19.1.0-2-any 11.0 MiB 10.6 MiB/s 00:01 [----------------------------------------] 88% python-pip-20.2-1-any 11.4 MiB 10.4 MiB/s 00:01 [----------------------------------------] 91% raptor-2.0.15-14-x86_64 11.8 MiB 10.3 MiB/s 00:01 [----------------------------------------] 94% rasqal-1:0.9.33-4-x86_64 12.3 MiB 10.2 MiB/s 00:01 [----------------------------------------] 98% python-html5lib-1.1-4-any 12.5 MiB 9.99 MiB/s 00:01 [----------------------------------------] 100% (9/9) checking keys in keyring [----------------------------------------] 100% (9/9) checking package integrity [----------------------------------------] 100% (9/9) loading package files [----------------------------------------] 100% (9/9) checking for file conflicts [----------------------------------------] 100% (9/9) checking available disk space [----------------------------------------] 100% :: Processing package changes... (1/9) upgrading imagemagick [----------------------------------------] 100% (2/9) upgrading libibus [----------------------------------------] 100% (3/9) upgrading python-html5lib [----------------------------------------] 100% (4/9) upgrading python-pep517 [----------------------------------------] 100% (5/9) upgrading python-resolvelib [----------------------------------------] 100% (6/9) installing python-pyopenssl [----------------------------------------] 100% (7/9) upgrading python-pip [----------------------------------------] 100% (8/9) upgrading raptor [----------------------------------------] 100% (9/9) upgrading rasqal [----------------------------------------] 100% :: Running post-transaction hooks... (1/2) Arming ConditionNeedsUpdate... (2/2) Warn about old perl modules
Hilfsprogramme
paccache
paccache
ist ein Werkzeug zur Bereinigung des „Pacman-Cache“, welcher sich im Verzeichnis
/var/cache/pacman/pkg
befindet.
Um den Befehl verfügbar zu haben, muss das Paket pacman-contrib
mit nachfolge z.B. Befehl installiert werden:
# pacman -S pacman-contrib resolving dependencies... looking for conflicting packages... Package (1) New Version Net Change Download Size community/pacman-contrib 1.4.0-1 0.10 MiB 0.04 MiB Total Download Size: 0.04 MiB Total Installed Size: 0.10 MiB :: Proceed with installation? [Y/n] Y :: Retrieving packages... pacman-contrib-1... 37.7 KiB 0.00 B/s 00:00 [----------------------] 100% (1/1) checking keys in keyring [----------------------] 100% (1/1) checking package integrity [----------------------] 100% (1/1) loading package files [----------------------] 100% (1/1) checking for file conflicts [----------------------] 100% (1/1) checking available disk space [----------------------] 100% :: Processing package changes... (1/1) installing pacman-contrib [----------------------] 100% Optional dependencies for pacman-contrib findutils: for pacdiff --find [installed] mlocate: for pacdiff --locate sudo: privilege elevation for several scripts [installed] vim: default merge program for pacdiff [installed] :: Running post-transaction hooks... (1/2) Reloading system manager configuration... (2/2) Arming ConditionNeedsUpdate...
Nachfolgender Befehl listet den installierten Inhalt des Pakets pacman-contrib
auf:
# pacman -Ql pacman-contrib pacman-contrib /usr/ pacman-contrib /usr/bin/ pacman-contrib /usr/bin/checkupdates pacman-contrib /usr/bin/paccache pacman-contrib /usr/bin/pacdiff pacman-contrib /usr/bin/paclist pacman-contrib /usr/bin/paclog-pkglist pacman-contrib /usr/bin/pacscripts pacman-contrib /usr/bin/pacsearch pacman-contrib /usr/bin/pacsort pacman-contrib /usr/bin/pactree pacman-contrib /usr/bin/rankmirrors pacman-contrib /usr/bin/updpkgsums pacman-contrib /usr/lib/ pacman-contrib /usr/lib/systemd/ pacman-contrib /usr/lib/systemd/system/ pacman-contrib /usr/lib/systemd/system/paccache.service pacman-contrib /usr/lib/systemd/system/paccache.timer pacman-contrib /usr/share/ pacman-contrib /usr/share/man/ pacman-contrib /usr/share/man/man8/ pacman-contrib /usr/share/man/man8/checkupdates.8.gz pacman-contrib /usr/share/man/man8/paccache.8.gz pacman-contrib /usr/share/man/man8/pacdiff.8.gz pacman-contrib /usr/share/man/man8/pacsort.8.gz pacman-contrib /usr/share/man/man8/pactree.8.gz pacman-contrib /usr/share/man/man8/updpkgsums.8.gz pacman-contrib /usr/share/vim/ pacman-contrib /usr/share/vim/vimfiles/ pacman-contrib /usr/share/vim/vimfiles/ftdetect/ pacman-contrib /usr/share/vim/vimfiles/ftdetect/PKGBUILD.vim pacman-contrib /usr/share/vim/vimfiles/ftplugin/ pacman-contrib /usr/share/vim/vimfiles/ftplugin/PKGBUILD.vim pacman-contrib /usr/share/vim/vimfiles/syntax/ pacman-contrib /usr/share/vim/vimfiles/syntax/PKGBUILD.vim
Um den verbrauchten Speicherplatz des „Pacman-Cache“ im Verzeichnis /var/cache/pacman/pkg
zu ermitteln, kann nachfoglender Befehl verwendet werden:
# du -sh /var/cache/pacman/pkg 667M /var/cache/pacman/pkg
Um durch einen Testlauf vorab erst einmal ermitteln zu können, wieviel Speicherplatz durch eine Bereinigung mittels dem Befehl paccache
eingespart bzw. freigegeben werden kann, kann nachflolgender Befehl verwendet werden:
# paccache -dk2 ==> finished dry run: 17 candidates (disk space saved: 313.61 MiB)
Um alle Pakete zu entfernen, welche nicht mehr installiert sind kann nachfolgender Befehl verwendet werden:
# paccache -ruk0 ==> finished: 1 packages removed (disk space saved: 416.58 KiB)
Um nur die jüngsten zwei Versionen alle Pakete zu behalten und alle vorhergehenden Versionen zu entfernen, kann nachfolgender Befehl verwendet werden:
# paccache -vrk2