Q インストールしたソフトウェアをいつでも消せるように、指定したディレクトリにインストールしたいと考えています。どうしたら良いでしょうか?
configureスクリプトを実行する際に、「--prefix」オプションを指定することで、指定ディレクトリ以下にファイルをインストールできます。例えば、GNU hello*を/usr/local/hello以下にインストールしたい場合は、次のように実行します。
$ tar zxf hello-2.1.1.tar.gz
$ cd hello-2.1.1
$ ./configure--prefix=/usr/local/hello
$ make install
Q いつでも消せるように、インストールされるファイルを記録しておきたいと考えています。どうしたらよいでしょうか?
InstallWatchというソフトウェアを利用するとよいでしょう。
このソフトウェアは、コマンドの前に指定することでファイル操作を記録できるので、「make install」時に指定しておけば、そこで行われた内容が記録できるわけです。
installwatch -o <出力ファイル> make install
例えば、<出力ファイル>としてoutputを指定した場合、実行例1のようになります。open、mkdir、chmodなどのファイルを扱うシステムコール*が記録されますが、もともとシステム上に存在しているファイル以外でopenに成功しているものが、新規にインストールされたファイルです。
実行例1 InstallWatchによる処理内容の記録
# installwatch -o output make install
# less output
:
:
3 open /dev/tty #success
3 open /dev/null #success
-1 mkdir /usr #File exists
-1 mkdir /usr/local #File exists
-1 mkdir /usr/local/hello #File exists
0 mkdir /usr/local/hello/bin #success
3 open /dev/tty #success
4 open /usr/local/hello/bin/hello #success
0 chmod /usr/local/hello/bin/hello 00600 #success
0 chown /usr/local/hello/bin/hello -1 -1 #success
0 chmod /usr/local/hello/bin/hello 00755 #success
3 open /dev/tty #success
3 open /dev/null #success
-1 mkdir /usr #File exists
-1 mkdir /usr/local #File exists
-1 mkdir /usr/local/hello #File exists
0 mkdir /usr/local/hello/man #success
0 mkdir /usr/local/hello/man/man1 #success
3 open /dev/tty #success
4 open /usr/local/hello/man/man1/hello.1 #success
0 chmod /usr/local/hello/man/man1/hello.1 00600 #success
0 chown /usr/local/hello/man/man1/hello.1 -1 -1 #success
0 chmod /usr/local/hello/man/man1/hello.1 00644 #success
ソフトウェア開発を学習するために開発されたツール。GNU cording standarsと呼ばれる基準に従い、autoconf、automake、libtool、gettextなどを使って作成している。
カーネルが提供する機能のうち、プロセスから呼び出せるようになっているもの。
Copyright © ITmedia, Inc. All Rights Reserved.