Arch Linux - Como listar comando e seu respectivo pacote
Dica publicada em Linux / Comandos
Arch Linux - Como listar comando e seu respectivo pacote
Esta dica é útil quando precisamos saber em qual pacote instalado contém determinado comando ou binário. Por exemplo, o
“/usr/bin/startx”.
No Slackware, o comando seria da seguinte forma:
# grep <comando> /var/log/packages/*
O comando acima retorna a localização de <comando> e seu respectivo pacote.
No Arch Linux, existe uma forma semelhante de se fazer isso.
# pacman -Qq | xargs pacman -Ql | grep <comando>
Por exemplo, para sabermos qual pacote é responsável por disponibilizar o comando "startx":
# pacman -Qq | xargs pacman -Ql | grep startx$
O resultado do comando acima:
A expressão regular startx$, informa ao comando grep que retorne apenas resultados que terminem em startx.
Por exemplo: /usr/bin/startx
Isto evita que resultados como: /usr/share/man/man1/startx.1.gz, sejam retornados.
Se não usássemos o '$' no comando acima, o resultado seria isto:
# pacman -Qq | xargs pacman -Ql | grep startx
Listando outros comandos, o resultado seria imenso se não usar o '$' no final do comando.
Para simplificar o comando de busca, podemos criar um 'alias' denominado 'grep_pkg', adicionando a seguinte linha no “~/.bashrc”:
Sendo assim, executando:
# grep_pkg startx$
O resultado seria mesmo. ;-)
No Slackware, o comando seria da seguinte forma:
# grep <comando> /var/log/packages/*
O comando acima retorna a localização de <comando> e seu respectivo pacote.
No Arch Linux, existe uma forma semelhante de se fazer isso.
# pacman -Qq | xargs pacman -Ql | grep <comando>
Por exemplo, para sabermos qual pacote é responsável por disponibilizar o comando "startx":
# pacman -Qq | xargs pacman -Ql | grep startx$
O resultado do comando acima:
xorg-xinit /usr/bin/startx
A expressão regular startx$, informa ao comando grep que retorne apenas resultados que terminem em startx.
Por exemplo: /usr/bin/startx
Isto evita que resultados como: /usr/share/man/man1/startx.1.gz, sejam retornados.
Se não usássemos o '$' no comando acima, o resultado seria isto:
# pacman -Qq | xargs pacman -Ql | grep startx
xorg-xinit /usr/bin/startx
xorg-xinit /usr/share/man/man1/startx.1.gz
Listando outros comandos, o resultado seria imenso se não usar o '$' no final do comando.
Para simplificar o comando de busca, podemos criar um 'alias' denominado 'grep_pkg', adicionando a seguinte linha no “~/.bashrc”:
alias grep_pkg='pacman -Qq | xargs pacman -Ql | grep'
Sendo assim, executando:
# grep_pkg startx$
O resultado seria mesmo. ;-)
Você pode usar o comando pkgfile para isso. Por exemplo, no caso do comando startx:
$ pkgfile startx
extra/xorg-xinit
Bem simples.