GNU Coreutilsを自分でビルドする
ls や rm など、GNU Coreutilsのコマンドを改造したいと思ったことはありませんか?
そういうときは、自分でGNU Coreutilsをビルとする必要があります。やってみましょう。
GNU CoreutilsのソースはGitHubにミラーが上がっているので、それをcloneしてビルドするだけです。
検証環境
- Ubuntu 16.04 LTS
手順
必要なコマンド・ライブラリのインストール
ビルドの際、 ./bootstrap や ./configure を実行したときに必要なコマンド・ライブラリがあるかどうかチェックされます。
セットアップ直後の状態で試してみると、以下のコマンド・ライブラリが足りないとメッセージが表示されました。
./bootstrap時- autoconf
- automake
- autopoint
- bison
- gettext
- git
- gperf
- makeinfo ← パッケージはtexinfo
- patch
- rsync
- xz ← パッケージはxz-utils
./configure時- gcc
- g++
makeに必要- make
全て合わせて、以下のようなコマンドでインストールしておきます。
|
|
- ※
--no-install-recommendsオプションはお好みで。 - ※こんなに神経質にやらなくても、半分くらいは
apt install build-essentialで入る。
リポジトリの取得
GitHubからcloneします。サブモジュール付きなので注意。
|
|
ビルド設定
makeの準備をします。
cloneしたディレクトリに移動して
|
|
bootstrap を叩き
|
|
./configure します。
|
|
make
全体をビルドする場合
|
|
これで全てのソースがコンパイルされ、 src ディレクトリに実行可能ファイルが作成されます。
特定のコマンドだけビルドする場合
……はできないよう1で、一度上記の手順で make する必要があります。
rm コマンドだけを再度ビルドしたい場合は以下のようにします。
|
|
必要なソースだけがコンパイルされ、 src ディレクトリに実行可能ファイルが作成されます。