読者です 読者をやめる 読者になる 読者になる

pacoのインストール

概要

ソースコードからインストールした場合の欠点は、ソフトウェアが管理されないことです。そのため、何がインストールされているのかわからなくなったり、アンインストールできなくなったり、、、インストール時のログを残しておいてそこから読み解くというのも、一苦労です。

いまでは、たいていはyumやaptでパッケージ管理されたものを使えばいいのですが、まだパッケージになっていない最新版を使いたいときや、用途に応じたオプションを指定してコンパイルしたいときなど、ソースコードからインストールしなければならないこともままあります。

そのようなとき、make installのログを記録して管理してくれるのがpacKAGE oRGANIZER(以下、paco)です。pacoを使うことで、ソースコードからインストールした場合も、パッケージでインストールした場合と同様、ソフトウェアを管理できるようになります。



構成

Amazon Linux 2010.11.1 (beta)
paco 2.0.7



インストール

最新版はpacKAGE oRGANIZER | SourceForge.netからダウンロードできます。

# cd /usr/local/src
# wget http://downloads.sourceforge.net/project/paco/paco/2.0.7/paco-2.0.7.tar.bz2
# tar jxvf paco-2.0.7.tar.bz2
# cd paco-2.0.7
# ./configure
# make
# make install

./configureの途中、次のエラーが発生した場合はgtkmm-2.4をインストールして、./configureをやり直します。gtkmm-2.4はGUIインターフェース用のライブラリです。

checking for GTKMM... configure: error: Package requirements (gtkmm-2.4 >= 2.12) were not met:

No package 'gtkmm-2.4' found

Consider adjusting the PKG_CONFIG_PATH environment variable if you
installed software in a non-standard prefix.

Alternatively, you may set the environment variables GTKMM_CFLAGS
and GTKMM_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.

gpaco(GUI版paco)を使わないときは、--disable-gpacoオプションを指定します。この場合、gtkmm-2.4をインストールする必要はありません。

# ./configure --disable-gpaco

makeの途中、次のエラーが発生した場合はg++をインストールして、./configureからやり直します。

../../build/depcomp: line 511: exec: g++: not found

g++をインストールするには、gcc-c++をインストールします。

# yum install gcc-c++
...
==================================================================================================
 Package                     Arch               Version                    Repository        Size
==================================================================================================
Installing:
 gcc-c++                     x86_64             4.1.2-51.el5               base             3.8 M
Installing for dependencies:
 libstdc++-devel             x86_64             4.1.2-51.el5               base             2.8 M

Transaction Summary
==================================================================================================
Install       2 Package(s)
Upgrade       0 Package(s)

make installまで終わったら、paco自身をpacoの管理対象に加えます。

# make logme
# paco -a
paco-2.0.7



使い方

ソフトウェアのインストール

pacoを噛ませてmake installを実行します。-Dオプションを指定すると、カレントディレクトリがパッケージ名に使われます。

# paco -D make install

-pオプションを指定すると、指定した名前がパッケージ名に使われます。

# paco -p ruby-1.9.2-p290_ext_openssl make install

残念ながら、/はパッケージ名に使えませんでした。

# pwd
/usr/local/src/ruby-1.9.2-p290/ext/openssl
# paco -p ruby-1.9.2-p290/ext/openssl make install
paco: ruby-1.9.2-p290/ext/openssl: Invalid package name


パッケージのアンインストール

-rオプションの後ろにパッケージ名を指定すると、そのパッケージをアンインストールできます。

# paco -r git-1.7.4.rc2
Remove package git-1.7.4.rc2 (y/N) ? 


管理しているパッケージの確認

pacoの管理対象になっているパッケージを表示します。

# paco -a
paco-2.0.7

オプションを指定すると、より詳しい情報を確認できます。

1 1行に1パッケージを表示します
F そのパッケージに含まれるファイル数を表示します
d そのパッケージをインストールした日付を表示します
s そのパッケージが占有しているディスク容量を表示します
# paco -1Fdsa
1.3M  13  30-Jan-2011  paco-2.0.7


パッケージの内容の確認

パッケージとしてインストールされたファイルを表示します。

# paco -f ruby-1.9.2-p290_ext_openssl
ruby-1.9.2-p290_ext_openssl:
/usr/local/lib/ruby/site_ruby/1.9.1/x86_64-linux/openssl.so


パッケージ情報の削除

パッケージ情報だけを削除してpacoの管理対象から外します。アンインストールはしません。

# paco -U ruby-1.9.2-p290_ext_openssl