harumaki.net

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

[パッケージ管理]porgのインストール

   


テスト環境にpacoを入れておこうと、久々に本家サイトへアクセスしたら
"This project is no longer active."とのこと。あらら・・・
つづけて、"Development of paco continues under a new project called porg. Please visit its web site for more information."
との説明が。

"paco"の後継として"porg"なるプロジェクトが・・・とのことで、そちらのサイトへお邪魔して、ソースをいただいて入れてみることにしました。
インストール環境はCentOS6.5です。

いきなりテスト環境に入れるのではなく、まずLAN内のSANDBOX環境(すでにpacoインストール済み)に入れて、まずはささっと操作感をチェック。

porgの公式サイトを見た感じでは、"paco2porg"なるツールで、paco環境で作成したログをporgのデータベースにインポートできるとのことで、引継ぎはしやすい様子。
また、gpacoに該当するGUIツールとして、grop (the GUI of porg)というツールもあるとのこと。

ダウンロードと展開

今年(2014年)の3月からsourceforgeにアップされていて、まだバージョンは0.7とのこと。
0.6まではgzipだったが、0.7からはxzに変更されていたので、unxzにて解凍してtarで展開。
2014.09.02に通常のtar.gzでのアーカイブに変わってました。

  1. ダウンロード
    $ wget http://sourceforge.net/projects/porg/files/porg-0.7.tar.gz/download
  2. 展開
    $ tar zxvf porg-0.7.tar.gz
  3. 展開したら中身をチェック。
    $ ll porg-0.7
    合計 808
    -rw-rw-r-- 1 user user   1012  6月 16 17:36 AUTHORS
    -rw-rw-r-- 1 user user  17823  4月 28 06:32 COPYING
    -rw-rw-r-- 1 user user   5063  6月 25 05:49 ChangeLog
    -rw-rw-r-- 1 user user  34093  5月 18 05:56 ChangeLog.paco
    -rw-r--r-- 1 user user  15752  6月  7 04:43 INSTALL
    -rw-rw-r-- 1 user user    616  6月 16 21:51 Makefile.am
    -rw-rw-r-- 1 user user  28743  6月 25 04:59 Makefile.in
    -rw-rw-r-- 1 user user   4131  5月 26 05:31 README
    -rw-rw-r-- 1 user user  51389  6月 25 04:59 aclocal.m4
    drwxrwxr-x 2 user user   4096  6月 25 05:54 build
    -rw-rw-r-- 1 user user    465  3月 20 17:13 config-bot.h.in
    -rw-rw-r-- 1 user user   3978  6月 25 04:59 config.h.in
    -rwxrwxr-x 1 user user 596530  6月 25 04:59 configure
    -rw-rw-r-- 1 user user   3246  6月 25 04:59 configure.ac
    drwxrwxr-x 2 user user   4096  6月 25 05:54 doc
    drwxrwxr-x 2 user user   4096  6月 25 05:54 grop
    drwxrwxr-x 4 user user   4096  6月 25 05:54 lib
    drwxrwxr-x 2 user user   4096  6月 25 05:54 porg
    drwxrwxr-x 2 user user   4096  6月 25 05:54 scripts

ビルド、コンパイル

prefixは指定しない場合は/usr/local以下に配置される。
また、ビルドオプション無しの場合はgropのインストールが前提となるが、その場合はgtkmm-3.0以上が必要となる。
今回はコマンドラインで試せればよい(そもそもVPSなのでGUIはいらないw)ので、grop無しで進めることに。

  1. ビルド
    $ cd porg-0.7
    $ ./configure --disable-grop
  2. コンパイル
    $ make
  3. インストール
    インストールはpacoで(笑)。おそらく最後のpaco利用になると思われ。
    $ su -
    # paco -lD make install
  • インストールしたファイルの構成
    # paco -f porg
    porg-0.7:
    /usr/local/bin/paco2porg
    /usr/local/bin/porg
    /usr/local/bin/porgball
    /usr/local/etc/bash_completion.d/porg_bash_completion
    /usr/local/lib/libporg-log.a
    /usr/local/lib/libporg-log.la
    /usr/local/lib/libporg-log.so
    /usr/local/lib/libporg-log.so.0
    /usr/local/lib/libporg-log.so.0.0.0
    /usr/local/share/man/man5/porgrc.5
    /usr/local/share/man/man8/porg.8
    /usr/local/share/man/man8/porgball.8
    /usr/local/share/porg/README
    /usr/local/share/porg/download.png
    /usr/local/share/porg/faq.txt
    /usr/local/share/porg/index.html
    /usr/local/share/porg/porg.png
    /usr/local/share/porg/porgrc

porgを試してみる

今回は、お試しで07/21にリリースされたpostgreSQLの9.4beta2を入れる際に
porgを使ってmake installとインストール後の操作を試してみることに。
(実際のpostgresのテスト環境は別に作りますw)

  • porg実行時のオプションとしては
    -l ログモードを許可する(ログに出力する際はマスト)
    -p パッケージ名の指定。無くてもOK。
  • 書式例:公式サイトのトップページから拝借しました。
    $ sudo porg -lp foo-1.3 "make install" 
  1. ダウンロードからコンパイルまで
    $ wget http://ftp.postgresql.org/pub/source/v9.4beta2/postgresql-9.4beta2.tar.bz2
    $ tar jxf postgresql-9.4beta2.tar.bz2
    $ cd postgresql-9.4beta2
    $ ./configure
    $ make
  2. インストール
    $ sudo porg -lp postgresql-9.4beta2 "make install"

インストールしたパッケージのログに対する各種操作

pacoのオプションに準拠している様子で、馴染みやすい。
manから確認できた操作を一部抜粋。

※以下、postgresql-9.4beta2を例にまとめていますが
都度インストールするパッケージに読み替えてください。

  • ファイル一覧の出力
    使い方、出力結果はpacoに準じた感じ。

    $ porg -f postgresql-9.4beta2
    postgresql-9.4beta2:
    /usr/local/pgsql/bin/clusterdb
    /usr/local/pgsql/bin/createdb
    /usr/local/pgsql/bin/createlang
    /usr/local/pgsql/bin/createuser
    /usr/local/pgsql/bin/dropdb
    /usr/local/pgsql/bin/droplang
    /usr/local/pgsql/bin/dropuser
    /usr/local/pgsql/bin/ecpg
    /usr/local/pgsql/bin/initdb
    /usr/local/pgsql/bin/pg_basebackup
    /usr/local/pgsql/bin/pg_config
    /usr/local/pgsql/bin/pg_controldata
    /usr/local/pgsql/bin/pg_ctl
    /usr/local/pgsql/bin/pg_dump
    /usr/local/pgsql/bin/pg_dumpall
    /usr/local/pgsql/bin/pg_isready
    /usr/local/pgsql/bin/pg_receivexlog
    …以下略
  • インストールされたファイルのカウント
    $ porg -F postgresql-9.4beta2
    1277  postgresql-9.4beta2
  • インストールされたファイルの総サイズ
    $ porg -s postgresql-9.4beta2
    18M  postgresql-9.4beta2
  • ソフトの削除
    $ porg -r postgresql-9.4beta2

    コンフィグを残しておきたい場合は、-eオプションでコンフィグファイルを指定することで、除外可能。

    • 書式例
      パッケージを削除しつつ、コンフィグを残す(man porgでもexampleがあります!)

      $ porg -r -e '/usr/local/pgsql/etc:*.conf' postgresql-9.4beta2

paco2porgやporgballなどの操作は、また後日にでも。

 - GNU/Linux, infra, サーバー, 作業ログ