Linuxの色々なプログラムのソースファイルを取得する方法。


 プログラムを勉強する時に、Linuxのコマンドなどのよく使われるプログラムを見たいことがよくあります。しかし、「ソースファイルどこにあるんだよ!!」ってことがありました。そこで私が調べて使っている方法を紹介します。

Webサービスを使ってゲットする

 てっとり早くゲットしたい方は、ソースコードダウンロードサービスをというWebサービスを公開してくださっている方がいらっしゃるので、利用すると便利だと思います。Linuxの基本的なコマンド(lsとか)の他にもfirefoxなどのソースファイルをダウンロードできます。詳しい仕様などは、作者様のブログを参考にしてください。

aptを使って探す・取得する

 Linuxでパッケージ管理を「apt」で行っているディストリ(Debian/Ubuntu/Vineなど)でこの方法が使えます。

どのパッケージに目的のソースファイルが入っているか見つける。

 apt-fileコマンドを利用して、どのパッケージに目的のソースファイルが入っているか見つけます。


apt-file update
で、パッケージリストを更新して

apt-file search source-name
で、検索します。「source-name」を目的のソースファイル名に変更してください。「-x」 オプションを付けると、Perlと同じ正規表現が使えます。

apt-file search -x source-name

目的のソースファイルのパッケージのtar玉をゲットする。

 apt-fileコマンドで目的のソースファイルが入っているパッケージの見当がついたら、apt-getコマンドを利用して、tar玉(一般に、〜.tar.gzのこと)をダウンロードします。


apt-get source package-name
これでダウンロードしたtar玉を解凍すればOKです。

tar xvzf packege.tar.gz
ただ、vine Linuxでは、たしかソースrpm玉がダウンロードされると思うので

rpm -ivh source-rpm-name
で解凍したら、~/rpm/SOURCEディレクトリに展開されます。