パッケージに関連するコマンドを見つける方法は? [コピー]

パッケージに関連するコマンドを見つける方法は? [コピー]

場合によっては、パッケージをインストールした後に同じ名前のコマンドを実行しようとすることがあります。いいねgeoip-binパック:

$ sudo apt install geoip-bin

[...]

$ geoip-bin
geoip-bin: command not found

特定のパッケージに関連するすべてのコマンドを見つける方法は?

答え1

dpkg -L

-L, --listfiles package-nameシステムにインストールされているファイルのリストパッケージ名

2つのオプション:

  • 一般的に動作します:(dpkg -L byobu | egrep '/bin/|/sbin/'またはgrep bin何かを得ることが好きではありませんが偽の肯定)。
  • または

    dpkg -L byobu | xargs which
    
  • またはバッシュ魔法:

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

    | grep "/usr/bin/"オプションで、最後に追加して特定のフォルダの実行可能ファイルを一覧表示できます。

geoiplookupうんコマンドgeoip-bin。また、これはすべてのパッケージの他のコマンドを理解するのに非常に便利であることがわかりました。

答え2

次のコマンドを使用できますdpkg

dpkg -S $(which <command>)

たとえば、

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

このコマンドはcpパッケージの一部ですcoreutils

coreutilsパッケージに関連するすべてのコマンドを表示するには、次のようにします。

$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

関連情報