ソースコードで配布されるプログラムは、「configure」、「make」を
行い、最後の行程としてmakeにinnstallオプションを付けて
実際のインストールを行います。
このインストール作業はroot権限でなくても実行できますが、
インストール過程でroot権限が必要な処理が発生するとエラーに
なりますので注意が必要です。
■ インストール(make install)する
----------------------------------------------------------------------
[pakira@Tiger ~]$ su - ←root権限にスイッチします。
パスワード: ←rootパスワードを入力します(パスワードは表示されません)
[root@Tiger ~]# cd /usr/local/src/httpd-2.0.63 ←ディレクトリを移動します。
[root@Tiger httpd-2.0.63]# make install ←インストールを実行します。
Making install in srclib
make[1]: ディレクトリ `/usr/local/src/httpd-2.0.63/srclib' に入ります
Making install in apr
make[2]: ディレクトリ `/usr/local/src/httpd-2.0.63/srclib/apr' に入ります
Making all in strings
(省略)
[PRESERVING EXISTING CGI SUBDIR: /usr/local/apache2/cgi-bin]
Installing header files
Installing man pages and online manual
Installing build system files
make[1]: ディレクトリ `/usr/local/src/httpd-2.0.63' から出ます
[root@Tiger httpd-2.0.63]#
----------------------------------------------------------------------
configureの時にも話しましたが、installオプションは、
Makefileに記述されたinstallというラベルから処理を開始しています。
これはUNIXシステムの慣習によるものですが、
中にはinstallではなく、setupなどの他のラベルに
なっているものあります。
その場合、「make setup」のように実行しなければならないので、
インストールを行う前には、事前にソースコードの含まれている
「README」を確認してインストールする必要があります。
また、インストールを実行する前に、事前にエラーが発生しないか、
テスト(インストールテスト)することも出来ます。
インストールテストは、makeコマンドにオプション「-n」と「install」を
付けて実行します。
■ インストールテスト(make -n install)する
----------------------------------------------------------------------
[root@Tiger httpd-2.0.63]# make -n install ←インストールテストを実行します。
otarget=`echo install-recursive|sed s/-recursive//`; \
list=' srclib os server modules support'; \
for i in $list; do \
if test -d "$i"; then \
target="$otarget"; \
echo "Making $target in $i"; \
if test "$i" = "."; then \
made_local=yes; \
target="local-$target"; \
(省略)
done; \
fi
make[1]: ディレクトリ `/usr/local/src/httpd-2.0.63' から出ます
[root@Tiger httpd-2.0.63]#
----------------------------------------------------------------------
さらに、過去にインストール実績があるプログラムや
メイク、インストールでテストが既に終了しているプログラムは
メイクとインストールを連続に実行することが出来ます。
■ メイクとインストールを連続に実行する
----------------------------------------------------------------------
[root@Tiger httpd-2.0.63]# make && make install ←連続実行します。
Making all in srclib
make[1]: ディレクトリ `/usr/local/src/httpd-2.0.63/srclib' に入ります
Making all in apr
make[2]: ディレクトリ `/usr/local/src/httpd-2.0.63/srclib/apr' に入ります
Making all in strings
(省略)
Installing header files
Installing man pages and online manual
Installing build system files
make[1]: ディレクトリ `/usr/local/src/httpd-2.0.63' から出ます
[root@Tiger httpd-2.0.63]#
----------------------------------------------------------------------
「&&」を使用して連続実行した場合、makeコマンドの実行でエラーが
発生した時は、処理が停止し、make installが実行されないため
安全に連続実行することができます。
また、この連続実行は対話式で実行することができないので、
インストールのためにroot権限が必要な行程がある場合は、
事前にroot権限になってから実行する必要があるので注意が必要です。
■ 関連記事
プログラムソース(ソースコード)を最適化する
メイク(make)する
P.S
インストール(make install)するなど、より高度な現場のLinux技術をマスターしたいなら
↓
詳しくはこちらをクリック
P.P.S
Linux入門マニュアルが無料ダウンロードできます。
↓
ダウンロードはこちらをクリック
<<関連記事>>
・システムログの設定
・/etc/fstabファイル(ファイルシステムテーブル)
・Linuxのファイルシステムの作成
・ルートファイルシステム
・YUM(Yellow dog Updater Modified)