それマグで!

知識はカップより、マグでゆっくり頂きます。 takuya_1stのブログ

習慣に早くから配慮した者は、 おそらく人生の実りも大きい。

コマンドが含まれるパッケージを探す。apt-file

このコマンドは、どのパッケージ?

「えっと、いつも使うコマンド入れたいんだけど」というときに、パッケージ名とコマンド名が違う事がある。そのときにいちいち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さんは過去記事をインデックスから削除して存在しないことにするからまじ困る。

関連資料

https://takuya-1st.hatenablog.jp/entry/2016/06/03/000000