とりあえずコードリーディング環境を作るのです
優れたコードを書くための最短経路として、優れたコードを読む、という行為がまず一番に挙げられるわけです。自分もコードを読んでスキルのベースアップを図らなければ給料のベースアップは実現しなかろうよ…ということで、コードを読むことにしたのです。(目的に対し間接的過ぎる気がする手段)コードリーディングと言えばオープンソース。オープンソースと言えばlinux。linuxといえばコマンド。
というわけで基本的なコマンドのソースコードをひととおり追ってみたいと思います。
pingを読んでみる
基本的なコマンドと言えばlsとかかな? と思ったのですが、Cのソケット通信ってそういえばよく知らないや、ということでpingに。
[root@localhost hogehoge]# rpm -qf /usr/bin/ping iputils-20121221-6.el7.x86_64
iputilsにあるのかー、と納得する。
- 以下のコマンドでsrpmをとってくる。
[root@localhost hogehoge]# yumdownloader --source iputils-20121221-6.el7.x86_64 iputils-20121221-6.el7.src.rpm | 222 kB 00:02
- srpmを解凍する。
[root@localhost hogehoge]# rpm2cpio iputils-20121221-6.el7.src.rpm|cpio -id 443 blocks
- 「****.tar.gz」とかいうファイルがカレントディレクトリにできているはずなので、解凍する。
tar -jxf iputils-s20121221.tar.bz2