Como encontrar comandos associados a um pacote? [duplicado]

1

Às vezes, instalo um pacote e, em seguida, tento executar um comando usando o mesmo nome, como com geoip-bin pacote:

$ sudo apt install geoip-bin

[...]

$ geoip-bin
geoip-bin: command not found

Como posso encontrar todos os comandos associados a um determinado pacote?

    
por Pablo Bianchi 26.09.2017 / 20:06

2 respostas

2

dpkg -L

-L, --listfiles package-name Listar arquivos instalados em seu sistema a partir de nome-do-pacote .

Duas alternativas:

  • Normalmente funciona apenas : dpkg -L byobu | egrep '/bin/|/sbin/' .

  • Ou com alguma magia bash :

    for f in $(dpkg -L geoip-bin) ; do test -x $f -a ! -d $f && echo $f ; done
    

    Opcionalmente, você pode adicionar | grep "/usr/bin/" no final para listar os arquivos executáveis nessa pasta específica.

geoiplookup foi o comando de geoip-bin . Eu também achei isso muito útil para aprender sobre outros comandos de qualquer pacote.

    
por 26.09.2017 / 20:06
2

Você pode usar o comando dpkg :

dpkg -S $(which <command>)

e, g:

$ dpkg -S $(which cp)
coreutils: /bin/cp

o comando cp é uma parte do coreutils package.

Para ver todos os comandos associados a coreutils package:

$dpkg -s coreutils

Specifically, this package includes:

 arch base64 basename cat chcon chgrp chmod chown chroot cksum comm cp
 csplit cut date dd df dir dircolors dirname du echo env expand expr
 factor false flock fmt fold groups head hostid id install join link ln
 logname ls md5sum mkdir mkfifo mknod mktemp mv nice nl nohup nproc numfmt
 od paste pathchk pinky pr printenv printf ptx pwd readlink realpath rm
 rmdir runcon sha*sum seq shred sleep sort split stat stty sum sync tac
 tail tee test timeout touch tr true truncate tsort tty uname unexpand
 uniq unlink users vdir wc who whoami yes
    
por 26.09.2017 / 20:29