binutilsとは何か
連載ナビ
この連載は「Linuxを使えるようになる」ではなく、「Linuxがどう動いているのか」を理解するための実践シリーズです。
今回は Linuxを理解する 〜 LFSで学ぶLinux内部構造 〜 の Part 3 / 第5回として、仕組みのつながりを意識しながら学びます。
- 前回: glibcとは何か
- 次回: ./configureとは何か
binutilsはリンクやバイナリ解析に必要なツール群です。
gccの裏側で頻繁に使われています。
この記事でわかること
- binutilsの主要コマンド
- link工程での役割
- 調査で使える場面
図解テキスト
objcopy / objdump / readelf / ld / as
-> object fileとELFを扱う
この回で実行するコマンド
上から順番に実行すれば、この回の内容を体験できます。
まずはそのままコピペして実行し、次に1行ずつ意味を確認してください。
which ld
readelf -h /bin/ls | head -n 20
objdump -f /bin/ls | head -n 20
ハンズオン手順
1. ターミナルを開いて、上のコマンドを1行ずつ実行する
2. 出力結果を見て、分かったことを1行メモする
3. エラーが出たら、そのエラーメッセージをそのまま残す
4. 各コマンドが何を確認するためのものかを説明してみる
チェックポイント
- コマンドが最後まで実行できた
- 出力の中で重要な値を1つ説明できる
- 次の回に進む前に、分からない単語を1つ調べた
今回理解できたこと
- binutilsはビルドの土台ツール群
- 実行ファイルの中身を確認できる
- LFSで理解が深まる重要部品