harumaki.net

インフラ屋の覚書や、ラーメン食べある記とか。

paco“package organizer”のインストール

   


paco“package organizer”のインストール

インストール作業を監視し、make installを実行した際にインストールさ
れたファイルのリストを作成してくれる便利ツール。
ソースからのコンパイル/インストール時に重宝する。
X上での操作が可能なgpacoもある。

【本家サイト】
http://paco.sourceforge.net/

1)ダウンロードと展開

2005/09/13時点で最新版1.9.4をダウンロード。

[root@example src]# pwd
/usr/local/src
[root@example src]# wget http://jaist.dl.sourceforge.net/sourceforge/paco/paco-1.9.4.tar.gz
--13:34:38--  http://jaist.dl.sourceforge.net/sourceforge/paco/paco-1.9.4.tar.gz
           => `paco-1.9.4.tar.gz'
jaist.dl.sourceforge.net をDNSに問いあわせています... 150.65.7.130
jaist.dl.sourceforge.net[150.65.7.130]:80 に接続しています... 接続しました。
HTTP による接続要求を送信しました、応答を待っています... 200 OK 
長さ: 378,953 [application/x-gzip]

100%[====================================>] 378,953      253.45K/s 

13:34:40 (252.64 KB/s) - `paco-1.9.4.tar.gz' saved [378,953/378,953] 

[root@example src]# tar -zxvf paco-1.9.4.tar.gz

2)コンパイルとインストール

通常はオプション無しでOK。
prefixは/usr/localになる。

但しgpacoを使用する場合GTX2.6以上が必要なため、こちらも
先にインストールする必要がある。
gpacoを使わない場合はオプション–disable-gpacoをつければOK。
※今回はめんどくさいのでgpacoは無しで。

▼gpacoを入れる場合はオプション不要。

[user@example paco-1.9.4]$ ./configure

▼gpaco無しの場合は以下のオプションをつけて。

[user@example paco-1.9.4]$ ./configure --disable-gpaco
[user@example paco-1.9.4]$ make
[user@example paco-1.9.4]$ su -
[root@example ~]# cd /usr/local/src/paco-1.9.4
[root@example paco-1.9.4]# make install

インストールが完了すると/usr/local/binに実行ファイルpacoが置かれる。

3)設定

設定ファイルは/usr/local/etc/pacorc。
設定項目は以下の5つ。全てコメントとなっている。
有効にする場合はコメントを外すが、設定しない場合はデフォルト値が有効になる。
基本的に全てデフォルトでOK。

  • INCLUDE
    パッケージの設置を記録する場合に走査するべきパスのコロンに分離されたリスト。
    デフォルトは/。
  • EXCLUDE
    パッケージの設置を記録する場合にスキップするパスのコロンに分離されたリスト。
    但し/devと/procは指定できない(デフォルトでスキップされる)。
  • LOGDIR
    Pacoのログを保存するディレクトリ。
    デフォルトは/var/log/paco。
  • APPARENT_SIZE
    不明??
    デフォルトは0になっているので、ひとまずこれで。
  • MAX_DB_AGE
    データベースの更新世代数(詳細不明)
    デフォルトは7なので、ひとまずこれで。

4)使用方法

▼make install実行時にファイルに保存する

環境設定、makeまで完了した時点で、pacoコマンドとオプションを使って
make installを実行する。

・httpd-2.0.54をインストールする場合の例

[root@example httpd-2.0.54]# paco -lp httpd-2.0.54 "make install"

上記入力後、通常通りmake installが実行されるが
インストール完了後に/var/log/paco/ディレクトリにpacoが生成した
httpd-2.0.54のリストファイルが生成される。

[root@example httpd-2.0.54]# ls -al /var/log/paco/ 
合計 100
drwxr-xr-x   3 root root  4096  9月 13 14:41 .
drwxr-xr-x  24 root root  4096  9月 13 14:04 ..
-rw-------   1 root root     0  9月 13 14:24 .updated
drwxr-xr-x   2 root root  4096  9月 13 14:41 _info
-rw-r--r--   1 root root 79466  9月 13 15:56 httpd-2.0.54

▼インストールされたファイルを確認する

インストールされたファイルを確認するには以下のオプションをつけて
ファイル名を指定して実行する。

[root@example httpd-2.0.54]# paco -fstxy httpd
httpd-2.0.54:
  60k  /usr/local/apache2/bin/ab
   4k  /usr/local/apache2/bin/apachectl
   8k  /usr/local/apache2/bin/apr-config
   8k  /usr/local/apache2/bin/apu-config
  24k  /usr/local/apache2/bin/apxs
  12k  /usr/local/apache2/bin/checkgid
  12k  /usr/local/apache2/bin/dbmmanage
   4k  /usr/local/apache2/bin/envvars-std
  24k  /usr/local/apache2/bin/htdbm 

--- 中略 ---

  16k  /usr/local/apache2/manual/vhosts/name-based.xml.ja
  12k  /usr/local/apache2/manual/vhosts/name-based.xml.ko
   4k  /usr/local/apache2/manual/vhosts/name-based.xml.meta
  12k  /usr/local/apache2/modules/httpd.exp
 1.2M  /usr/local/src/httpd-2.0.54/.libs/httpd
   8k  /usr/local/src/httpd-2.0.54/httpd

TotaL: 21M

▼パッケージを削除する

パッケージはリストを確認しつつ削除する。
httpdを削除する場合は以下のとおり。
削除する際、パッケージの削除とリストの削除を確認しながら
実行していく。

[root@example httpd-2.0.54]# paco -rx -e /etc:/root httpd
Remove package 'httpd-2.0.54' (y/n) ? y
Remove the logs of the package httpd-2.0.54 (y/n) ? y
[root@example httpd-2.0.54]#

パッケージ名の前にオプション-batchをつけると強制削除となる。

実行オプション

通常よく使うと思われるオプションを以下に記載。
オプションが大量にあるが、そのほかは–helpで。
※このへんまだ未確認なので誤りがあるかも…

  • リスト生成時
    書式は上記を参照。

    -l	ログモードを許可
    -p	パッケージ名を指定
    -L	ログ保管ディレクトリを指定
    	指定しない場合は/var/log/pacoに保管される
  • リスト閲覧時
    書式例:paco -fstxy <packagename>

    -f	リストを閲覧するアプリを指定する
    -v	冗長出力
    -x	コマンドラインから与えられたパッケージ名にバージョンを追加して出力
    -s	パッケージサイズを表示
    -k	パッケージサイズをキロバイト単位で表示
    -i	アプリケーションの情報を表示
    --version	pacoのバージョンを表示
  • リストにあるパッケージを削除
    書式例:paco -rx -e /etc:/root –batch PACKAGENAME

    -r	パッケージを削除
    -batch	確認しないで強制削除
    -e	指定したディレクトリ内の関連パッケージを削除対象から除外
    -U	データベースから指定したパッケージのログを削除

 - GNU/Linux, infra, サーバー, 運用 ,