このコマンドは、どのパッケージ?
「えっと、いつも使うコマンド入れたいんだけど」というときに、パッケージ名とコマンド名が違う事がある。そのときにいちいちGoogle検索がだるいので、Aptで検索したい。
コマンドやファイルががどのパッケージに含まれるか検索する apt-file
ファイル一覧から検索してくる。
インストール
sudo apt install apt-file sudo apt-file update
実際使った例
$ apt-file search qemu-img qemu-utils: /usr/bin/qemu-img qemu-utils: /usr/share/man/man1/qemu-img.1.gz
apt-file 自身を apt-file で探してみるなど。
$ apt-file search apt-file aide-common: /usr/share/aide/config/aide/aide.conf.d/31_aide_apt-file apt-file: /etc/apt/apt.conf.d/50apt-file.conf apt-file: /usr/bin/apt-file apt-file: /usr/share/apt-file/is-cache-empty apt-file: /usr/share/bash-completion/completions/apt-file apt-file: /usr/share/doc/apt-file/NEWS.Debian.gz apt-file: /usr/share/doc/apt-file/README.md.gz apt-file: /usr/share/doc/apt-file/changelog.gz apt-file: /usr/share/doc/apt-file/copyright apt-file: /usr/share/doc/apt-file/examples/60disable-contents-fetching.conf apt-file: /usr/share/doc/apt-file/examples/apt-file-2-update.sh apt-file: /usr/share/doc/apt-file/examples/apt-file.conf apt-file: /usr/share/man/man1/apt-file.1.gz cruft-common: /usr/lib/cruft/filters-unex/apt-file fish-common: /usr/share/fish/completions/apt-file.fish live-build: /usr/share/live/build/hooks/normal/0400-update-apt-file-cache.hook.chroot open-infrastructure-system-build: /usr/share/live/build/hooks/normal/0400-update-apt-file-cache.hook.chroot zsh-common: /usr/share/zsh/functions/Completion/Debian/_apt-file
だたし、特徴のないコマンド名だと大変よ。
$sudo apt-file search dig
dig
だと大量の出力 がやばい
digest とか digital までヒットしちゃう。
$sudo apt-file search dig zfs-dkms: /usr/src/zfs-0.8.3/module/icp/api/kcf_digest.c
コマンド名が短いとき本当に大変です。
コマンドを検索したいときは bin とかつけたほうが良さそう。
takuya@ubuntu01:~$ sudo apt-file search /bin/dig bind9-dnsutils: /usr/bin/dig digikam: /usr/bin/digikam digikam: /usr/bin/digitaglinktree digitemp: /usr/bin/digitemp_DS2490 digitemp: /usr/bin/digitemp_DS9097 digitemp: /usr/bin/digitemp_DS9097U golang-golang-x-tools: /usr/bin/digraph tomcat9-common: /usr/share/tomcat9/bin/digest.sh
dpkg -L / -S もいい
dpkg -S $(which lsusb)
dpkg -L util-linux | grep bin/
なぜ再びかいたのか
自分で過去にメモをブログに投稿していたけど、検索で出てこないし、サイト内検索でマッチしなかったので、再度書くことにした。Googleさんは過去記事をインデックスから削除して存在しないことにするからまじ困る。