ソースからインストールしたソフトウェアを管理するツール「paco」
ソフトウェアをソースからインストールすると、アンインストールができない*1とか、"make install"時のログから手動でファイルを消すとか大変なことが多いですが、「paco」を使うと"make install"したソフトウェアを管理できます。
paco(pacKAGE oRGANIZER)とは
paco - a source code pacKAGE oRGANIZER for Unix/Linux
pacoは、ソフトウェアインストール時に、どこにファイルが作成されたかをログに残して管理しています。
上記の動作は、LD_PRELOADメソッドを使って行います。
When installing a package from sources, paco wraps the "make install" command (or whatever command or group of commands are needed to install the files into the system), and saves installation information into a text database.
How does it perform this magic? It is accomplished using the LD_PRELOAD method, which preloads a shared library before installation using the environment variable LD_PRELOAD. During installation, this library catches the system calls that cause filesystem alterations (such as open, link, rename, ...), and logs the created files.
pacoのインストール
まず、pacoに必要なライブラリをインストールします。
このライブラリは、後述するGUIツール「gpaco」に必要となりますので、GUIを使わないサーバでは必要ありません。*2
$ sudo aptitude install libgtkmm-2.4-dev
次に、pacoをインストールします。
$ wget http://jaist.dl.sourceforge.net/project/paco/paco/2.0.9/paco-2.0.9.tar.gz $ gzip -dc paco-2.0.9.tar.gz | tar xvf - $ cd paco-2.0.9 $ ./configure $ make $ sudo make install
GUIツールを使用しない場合は、"--disable-gpaco"オプションを付けて、configureします。
$ ./configure --disable-gpaco
paco自身も管理するように、以下のコマンドを実行します。*3
$ sudo make logme
pacoを使ってインストール
"make install"する時に、以下のように"paco"をかませて実行します。
$ sudo paco -D make install
"-D"オプションは、カレントディレクトリ名がpacoで管理するソフトウェア名として使われます。
大抵、"<ソフトウェア名>-<バージョン>"ディレクトリ以下で"make install"すると思いますので、"-D"を付けておけば問題ありません。
任意に名前を付けたい場合は、"-p"オプションを使います。
良く使うコマンド
- 管理しているソフトウェア一覧表示
$ paco -a httpd-2.2.17 paco-2.0.9 $ paco -1Fdsa 23M 1214 07-May-2011 httpd-2.2.17 1.4M 20 07-May-2011 paco-2.0.9
- ソフトウェアのファイル一覧
$ paco -f paco-2.0.9 paco-2.0.9: /usr/local/share/paco/README /usr/local/lib/libpaco-log.a /usr/local/lib/libpaco-log.la /usr/local/lib/libpaco-log.so /usr/local/lib/libpaco-log.so.0 /usr/local/lib/libpaco-log.so.0.0.0 /usr/local/bin/paco /usr/local/etc/pacorc /usr/local/lib/pkgconfig/paco.pc /usr/local/share/man/man5/pacorc.5 /usr/local/share/man/man8/paco.8 /usr/local/share/man/man8/pacoball.8 /usr/local/share/man/man8/rpm2paco.8 /usr/local/share/man/man8/superpaco.8 /usr/local/share/paco/faq.txt /usr/local/share/paco/pacorc /usr/local/bin/ocap /usr/local/bin/pacoball /usr/local/bin/rpm2paco /usr/local/bin/superpaco
- ソフトウェアリストの更新
$ sudo paco -ua
- ソフトウェアのアンインストール
$ sudo paco -r httpd-2.2.17
GUIツール「gpaco」
pacoには、GUIツール「gpaco」が付属しています。
デスクトップで使用する場合などは、pacoをインストールすると、[アプリケーション]->[システムツール]->[Package Organizer]が追加されます。
ソフトウェア名を右クリックすると、ソフトウェア情報の確認やアンインストールができます。
paco - a source code pacKAGE oRGANIZER for Unix/Linux
pacKAGE oRGANIZER download | SourceForge.net