紅孔雀 このページをアンテナに追加 RSSフィード

2013-01-06 Linux カーネル/コマンドのソースコードを見る方法

Linux カーネル/コマンドのソースコードを見る方法

最近「LINUXプログラミングインタフェース」を読んでいます。

せっかくなので「カーネルやコマンドのソースコードも見てみよう!」となるのですが、いざソースコードを読もうと思っても、

  • カーネルのソースコードはどこにあるのか?
  • あるコマンドのソースコードが含まれる場所をどうやって調べれば良いのか?

という基本的なことが分からなかったので調べました。

Linux カーネルのソースコードを見る方法

Linux カーネルのソースコードは The Linux Kernel Archives で配布されています。

以下のようにダウンロード、展開すればソースコードを見ることができます。

# ダウンロード
wget http://www.kernel.org/pub/linux/kernel/v3.0/linux-3.7.1.tar.bz2

# 展開
tar xvfo linux-3.7.1.tar.bz2

ls や rm などのソースコードを見る方法

The GNU Operating System でソースコードが配布されています。

例えば、ls や rm のソースコードを見たい場合は、それらが含まれる coreutils をダウンロードします。

# ダウンロード
wget ftp://ftp.gnu.org/gnu/coreutils/coreutils-8.9.tar.xz

# 展開
tar xvfo coreutils-8.9.tar.xz

Debian 系でパッケージ提供されているコマンドのソースコードを見る方法

Debian 系でパッケージ提供されているコマンドのソースコードは「apt-get source パッケージ名」で取得することができます。

手順としては、「apt-file search コマンド」でコマンドが含まれるパッケージを確認し、「apt-get source パッケージ」でソースコードを取得します。

apt-file でコマンドが含まれるパッケージを確認

最初にソースコードを見たいコマンドが含まれるパッケージを知る必要があります。

apt-file コマンドでコマンドが含まれるパッケージを確認することができます。

apt-file がインストールされていない場合は以下のようにインストールします。

# apt-file をインストール
> apt-get install apt-file

# 最初は update で情報を更新する
> apt-file update

「apt-file search コマンド」でコマンドが含まれるパッケージを調べます。

例として uptime コマンドのソースコードを見たい場合の手順は以下のようになります。

> apt-file search uptime
...

出力が多すぎる場合は、引数にコマンドのフルパスを指定すると良いです。

> apt-file search /usr/bin/uptime
procps: /usr/bin/uptime

uptime は procps パッケージに含まれることが分かりました。

それでは procps パッケージのソースコードを取得します。

> apt-get source procps

ソースコードはカレントディレクトリに保存されます。

これでやっとスタートラインに立つことができました。

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証

トラックバック - http://d.hatena.ne.jp/benikujyaku/20130106/1357449983