linuxコマンドソースコードの表示方法
1046 ワード
linuxを使ってしばらくの間、ls、cat、moreなどのコマンドのソースコードを見たいと思っていましたが、ダウンロードしたカーネルのソースコードの中でcscopeでは見つからず、ネットで検索してみましたが、方法をまとめました. lsコマンドソースコードの検索を例にとると、まずコマンドが存在するパケットを検索し、コマンドは以下の通りである: コマンドでそのソフトウェアが存在するパッケージを検索し、コードは以下の通りである: は、lsコマンドの実装がパケットcoreutilsで行われていることを前のステップから知ることができ、aptでインストール(インストールにはいくつかの曖昧さがあり、主にapt-get-dを区別する)するパケットのソースコードを解凍し、コードは以下の通りである: OK、これらのステップが完了すると、/usr/src/coreutils-XX/coreutils-XX/srcに各コマンドに対応するソースコードを表示できます
lpj@lpj-linux:~$ which ls
/bin/ls
lpj@lpj-linux:~$ dpkg -S /bin/ls
coreutils: /bin/ls
sudo apt-get source coreutils
cd /usr/src/coreutils-XXX #XXX
sudo tar zxvf coreutils-XXX.tar.gz
またはソースコードのみをダウンロードし、手動でパッチを適用して解凍し、コードは以下の通りである:sudo apt-get -d source coreutils
cd /usr/src
tar zxvf coreutils-XXX.tar.gz
gzip -d coreutils-XXX.diff.gz # coreutils-XXX.diff
patch -p0 < coreutils-XXX.diff
cd coreutils-XXX
tar zxvf coreutils-XXX.tar.gz