理系学生日記

おまえはいつまで学生気分なのか

忍者TOOLS

apt-file があれば

ぼくの家の Linux はもっぱら fedora だった (研究室で流行ってたので) のですけども,ちょっと Ubuntu を使ってみようと思い立ちました.思い立ったが吉日ですからさっさと fedora 消して,ぼくは Ubuntu をインストールしてやったぞ!!

パッケージ管理システム

fedora を始めとする Redhatディストリビューションはパッケージ管理システムとして yum を使う.yum はスゴい使いやすいものですが,Ubuntu を始めとするディストリビューションyum ではなく apt を使う *1.でも "yum provides" に対応するものが apt だとないっぽいぞ!

これは困ったと思ってぼくは途方に暮れましたけども,なんかネットの海を彷徨ってると apt-file ってのがあるらしい.

あるらしいので調べるぞ!!

使い方

インストールしたばっかしのときは,パッケージに何のファイルが含まれているかとか分かりませんから,まずはそういうのを取得しましょう.てことで update してやる.

$ sudo apt-file update

何も出力とかなくて正常終了する.

そしたらもう使うだけですね.基本的には search コマンドを使って,ファイルがどのパッケージに含まれてるかを調べます.

$ apt-file search /etc/bash_completion | head 
apache2.2-common: /etc/bash_completion.d/apache2.2-common
apt-file: /etc/bash_completion.d/apt-file
apt-show-versions: /etc/bash_completion.d/apt-show-versions
atool: /etc/bash_completion.d/atool
bash-completion: /etc/bash_completion
bins: /etc/bash_completion.d/bins
boinc-client: /etc/bash_completion.d/boinc
bzr: /etc/bash_completion.d/bzr
bzr: /etc/bash_completion.d/bzr.simple
cdcd: /etc/bash_completion.d/cdcd

dpkg -L に相当するものも用意されていて,これでインストール前に,このパッケージには何のファイルが含まれてんのかなーてのも分かるようになる.

$ apt-file list cdcd | head -3
cdcd: /etc/bash_completion.d/cdcd
cdcd: /usr/bin/cdcd
cdcd: /usr/share/doc/cdcd/NEWS.gz

とても良い感じですね.

*1:yum も使えないわけじゃないけど