タイトル: make install
Linuxでソースからソフトウェアをインストールする際に使うコマンドです。make でコンパイルしたファイルを、指定したインストール先のディレクトリにコピーする処理を行います。
基本
makeでコンパイルしたファイルをインストール先のディレクトリにコピーする。
インストール先はconfigureのprefixオプションで指定したディレクトリとなる。
典型的なソースビルド・インストール手順
Linuxでソースからソフトウェアを導入する一般的な流れは次の通りです。
|
# ソース取得・展開 |
prefix(インストール先)の指定
--prefix を指定しない場合の既定は通常 /usr/local です。
|
# 既定 (/usr/local 配下に展開) |
権限とsudoの使い分け
/usr/localや/optなどシステム配下に書く →sudo make install- ホーム配下 (
$HOME/local等) →make install(sudo不要) - /tmp や任意の場所に試しに置く →
make DESTDIR=/tmp/stage installでステージング先を切り替え
アンインストール
Makefileに uninstall ターゲットが用意されていれば次のコマンドで取り消せます。
|
$ sudo make uninstall |
用意されていない場合は、インストール時の出力を控えておく、または checkinstall のようなツールでパッケージ化するのが安全です。
失敗するときのチェック
- 必要なコマンドが無い:
gcc,make, 開発ツールチェイン未導入 →sudo yum install gcc make/sudo apt install build-essential - 依存ライブラリ不足:
configure段階で「... not found」と表示される。*-devel/*-devパッケージを導入 - 書き込み権限不足: 既定の
/usr/localに書くには root権限が必要。sudoまたは--prefixでホーム配下を指定
関連コマンド
| コマンド | 役割 |
|---|---|
./configure | 環境調査、Makefile 生成、オプション指定 |
make | コンパイル(既定ターゲットはall) |
make install | インストール |
make clean | ビルド成果物を削除 |
make distclean | configure結果も含めて削除 |
make uninstall | インストールしたファイルを削除(用意されていれば) |
注意点
- 本番サーバーにはパッケージマネージャ経由(yum / apt)の方が管理が楽。
make installの利用は最新版が必要な場合や独自パッケージのみに留めるのが安全 - 同じソフトをパッケージ版とソース版で混在させない(依存関係が破綻する)
- 本当に必要か再確認:
sudo apt install fooやbrew install fooで済むことが多い