Pkgfile
Mit pkgfile können die Pakete der offiziellen Repositorien nach Dateien durchsucht werden. Eine ähnliche Funktionalität ist inzwischen auch in pacman (Option -F und Folgeoptionen) eingebaut, aber alternativ kann weiterhin pkgfile verwendet werden.
Installation
Das Programm ist als
pkgfile
in extra
verfügbar, und kann von dort
mittels Pacman
installiert werden.
Alternativ: pkgfile-gitAUR
Benutzung
Die pkgfile Datenbank aktualisieren.
pkgfile -u
Ein Paket suchen das die Datei makepkg enthält.
pkgfile makepkg
core/pacman
Ist der Dateiname nicht komplett bekannt kann die Option -r
verwendet werden. (Suche nach regulären Ausdrücken)
pkgfile -r makep
core/pacman core/perl extra/archboot extra/devtools extra/namcap
Alle Dateien anzeigen die im Paket archlinux-keyring enthalten sind.
pkgfile -l archlinux-keyring
core/archlinux-keyring /usr/ core/archlinux-keyring /usr/share/ core/archlinux-keyring /usr/share/pacman/ core/archlinux-keyring /usr/share/pacman/keyrings/ core/archlinux-keyring /usr/share/pacman/keyrings/archlinux-revoked core/archlinux-keyring /usr/share/pacman/keyrings/archlinux-trusted core/archlinux-keyring /usr/share/pacman/keyrings/archlinux.gpg
pkgfile -l
ist vergleichbar mit pacman -Ql
. Der Unterschied besteht darin, dass nicht die lokal installierten, sondern alle Pakete in den Repositorien durchsucht werden.
Unbekannte Befehle
Für die Bash und Zsh enthält pkgfile einen "command not found" Hook, der bei Eingabe eines unbekannten Befehls automatisch die Pakete durchsucht.
abiword
abiword may be found in the following packages: extra/abiword 3.0.1-2 /usr/bin/abiword
Aktiviert wird der Hook durch einen Eintrag in der entsprechenden Shell Konfigurationsdatei.
Bash
~/.bashrc
source /usr/share/doc/pkgfile/command-not-found.bash
Zsh
~/.zshrc
source /usr/share/doc/pkgfile/command-not-found.zsh
Automatische Updates
Um die pkgfile Datenbank automatisch aktuell zu halten kann man den Systemd Service pkgfile-update.timer
nutzen.
systemctl enable pkgfile-update.timer
Die Datenbank wird damit täglich aktualisiert. Um das Zeitintervall zu ändern kann die entsprechende Unit Datei angepasst werden.