an odd fellow

仕事のメモ

Debian で ping コマンドのソースを読む

ソケットの取り扱いの方法が知りたくて ping コマンドのソースコードを読みたくなった。調べると apt-get コマンドでソースコードがダウンロードできるらしい。

まず dpkg コマンドでpingコマンドが含まれているパッケージを探す。 その後、そのパッケージのソースを apt-get コマンドでダウンロードするというながれのようです。

$ which ping
/bin/ping
$ dpkg -S /bin/ping
iputils-ping: /bin/ping

なので iputils-ping パッケージのソースを apt-get でおとせばいいはずだがエラーが出た。

$ apt-get source iputils-ping
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
'iputils-ping' の代わりに 'iputils' をソースパッケージとして選出しています
E: パッケージ 'iputils-ping' の利用できないバージョン '3:20101006-1' を無視
E: iputils のソースパッケージが見つかりません

どうやら /etc/apt/sourcelist のdeb-src をコメントアウトしてあるとダメなようです。エディタでひらいてコメントアウトを外しました。

$ sudo emacs -nw /etc/apt/sourcelist
## CRUNCHBANG
## Compatible with Debian Wheezy, but use at your own risk.
deb http://packages.crunchbang.org/waldorf waldorf main
#deb-src http://packages.crunchbang.org/waldorf waldorf main 
 -> deb-src http://packages.crunchbang.org/waldorf waldorf main

## DEBIAN
deb http://http.debian.net/debian wheezy main contrib non-free
#deb-src http://http.debian.net/debian wheezy main contrib non-free 
 -> deb-src http://http.debian.net/debian wheezy main contrib non-free

## DEBIAN SECURITY
deb http://security.debian.org/ wheezy/updates main
#deb-src http://security.debian.org/ wheezy/updates main 
 -> deb-src http://security.debian.org/ wheezy/updates main

deb http://emacs.naquadah.org/ stable/
deb-src http://emacs.naquadah.org/ stable/

インストールできるようになりました。すてきなオープンソースライフを満喫します。

ルーター自作でわかるパケットの流れ

ルーター自作でわかるパケットの流れ

詳解 Linuxカーネル 第3版

詳解 Linuxカーネル 第3版