pkgfile (Español)

From ArchWiki
Jump to: navigation, search

pkgfile es una herramienta para buscar ficheros en paquetes de los repositorios oficiales.

Instalación

Instale pkgfile desde los repositorios oficiales, o pkgfile-gitAUR desde AUR.

La base de datos de pkgfile puede sincronizarse con:

# pkgfile -u

Uso

Para buscar un paquete que contenga el archivo makepkg:

$ pkgfile makepkg
core/pacman

Para listar todos los archivos que provee el paquete archlinux-keyring:

$ 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

Lo último se puede comparar con pacman -Ql (vea Consultar la base de datos de paquetes), salvo que este se aplica a paquetes remotos.

Comando no encontrado

pkgfile incluye un hook de "comando no encontrado" para Bash y Zsh que buscará automáticamente en los repositorios oficiales, cuando se introduzca un comando desconocido:

$ abiword
abiword se encuentra en los siguientes paquetes:
  extra/abiword 2.8.6-7 usr/bin/abiword

Para habilitarlo cada vez que se arranca una consola, tiene que cargar el hook desde uno de los ficheros de inicialización de su intérprete de órdenes.

Bash

~/.bashrc
source /usr/share/doc/pkgfile/command-not-found.bash

Zsh

~/.zshrc
source /usr/share/doc/pkgfile/command-not-found.zsh

Fish

pkgfile no proporciona un hook específico para Fish, pero es suficiente con definir su propia función command-not-found, que se ejecutará cuando Fish encuentre comandos desconocidos:

~/.config/fish/functions/command-not-found.fish
function command-not-found
        set cmd $argv[2]
        set pkgs (pkgfile -b -v $argv 2>/dev/null)
        if test -n $pkgs
                echo "$cmd puede encontrarse en los siguientes paquetes:"
                echo "$pkgs"
                return 0
        end
        return 127
end

Actualizaciones automáticas

pkgfile viene con un servicio y un temporizador de systemd para sincronizar automáticamente la base de datos de pkgfile. Para activar automáticamente las actualizaciones habilite pkgfile-update.timer.

Por defecto, pkgfile se actualiza diariamente. Para cambiar esta programación, copie /usr/lib/systemd/system/pkgfile-update.timer a /etc/systemd/system/pkgfile-update.timer y edite este último archivo.