FreeBSDのソースのダウンロード

http://techblog.yahoo.co.jp/web/yahoo_1/ls/
読んでみようと思い,ダウンロードしようとするも
1ファイル毎しかダウンロードできないような気がして使い勝手が悪いように感じました.
ディレクトリ毎(コマンド毎)ダウンロードできるのだろうか.


ftp://ftp.freebsd.org/pub/FreeBSD/releases/
から好きなCPUアーキテクチャと,FreeBSDのバージョンを選びます.
わたしは
ftp://ftp.freebsd.org/pub/FreeBSD/releases/i386/7.1-RELEASE/src/
を選びました.


あとはwgetでダウンロード.

$ wget -r ftp://ftp.freebsd.org/pub/FreeBSD/releases/i386/7.1-RELEASE/src


ダウンロード完了後,src/以下に(shのワイルドカードで)`s*.??'というファイルができるので,
src/install.shの通りに伸長します.

for i in $dists; do
	echo "  Extracting source component: $i"
	cat s${i}.?? | tar --unlink -xpzf - -C ${DESTDIR}/usr/src
done


例えば,lsコマンドのソースであればbin/の中にあるので,sbin.??を伸長します.

$ cat sbin.?? | tar -xpzf - -C ../

こんな感じですね.
ちなみにsbin.??はsbin.aaというファイルしかないので,

$ tar -xpzf sbin.aa -C ../

でももちろんOK.


まだあまり読んでませんが,GNU lsと違って,FreeBSDの方はlsディレクトリだけで完結してる感じがして読みやすそうですね.
GNUの方はls*.[ch]だけで,いいんだよね...?という感じなので.