ls,cat,pingなどのlinuxコマンドのソースを見るまでの手順です。

環境はvine linux4.2でやってます。

まず、whichコマンドで知りたいコマンドのパスを調べます。(下はpingの例です。)

# which ping
/bin/ping

次にパスからそのコマンドを収録しているパッケージをrpmコマンドで調べます。

# rpm -qf /bin/ping
iputils-20020927-41vl1

上記よりpingはiputilsというパッケージに入っていることがわかります。

*****
ちなみにls,catなどの基本コマンドはcoreutilsというパッケージに入っています。
# rpm -qf /bin/ls
coreutils-5.96-0vl1
*****

次にソースを取得したいパッケージをapt-get source コマンドで取得します。

#apt-get source iputils

するとカレントディレクトリに~.src.rpmファイル、また、~/rpm/SOURCE/ディレクトリに.tar.gzファイルがダウンロードされます。

あとはtar.gz形式のファイルを解凍するとその中にsrcディレクトリがありますのでそこからコマンドのソースファイルが見付けられるはずです。

・Linux関連おすすめ書籍の紹介
ふつうのLinuxプログラミング Linuxの仕組みから学べるgccプログラミングの王道/青木 峰郎
¥2,940
Amazon.co.jp

Linuxの教科書―ホントに読んでほしいroot入門講座 (IDGムックシリーズ)/高町 健一郎
¥1,680
Amazon.co.jp



参考サイト
ソースパッケージからバイナリパッケージを再構築(rebuild)する。
はてな、Linux初心者です・・・
特定コマンドがどのRPMパッケージに含まれているのか知りたい