ソースからビルド/インストールするときのパッケージ管理ツール Porg

はじめに

yumやaptなどのパッケージ管理ツールは大変便利だなぁとしみじみ思います。ふと最近はソースからインストールすることがなくなったなと思ったところでちょっと前に使っていたツールを思い出しました。

porg というのですが、これはソースからインストールされるソフトウェアのパッケージ管理ツールです。インストールから簡単な使い方までをちょっと紹介したいと思います。

https://sourceforge.net/projects/porg/

インストール

[root@centos ~]# wget https://downloads.sourceforge.net/project/porg/porg-0.10.tar.gz
[root@centos ~]# tar xvfz porg-0.10.tar.gz 
[root@centos ~]# cd porg-0.10/
[root@centos porg-0.10]# ./configure 
[root@centos porg-0.10]# make && make install

使ってみる

まずはporg自身を管理してみます。

[root@centos porg-0.10]# porg -lD make install

これでporg自身が管理されます。-a オプションですべてのリストがでるので確認してみます。

[root@centos porg-0.10]# porg -a
porg-0.10

そして、porgをインストールするときに展開したファイル群を確認してみます。

[root@centos porg-0.10]# porg -f porg
porg-0.10:
/usr/local/bin/grop
/usr/local/bin/paco2porg
/usr/local/bin/porg
/usr/local/bin/porgball
/usr/local/etc/bash_completion.d/porg_bash_completion
/usr/local/etc/porgrc
/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/applications/grop.desktop
/usr/local/share/man/man5/porgrc.5
/usr/local/share/man/man8/porg.8
/usr/local/share/man/man8/porgball.8
/usr/local/share/pixmaps/grop.png
/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をporgコマンドによって削除します。

# 削除
[root@centos porg-0.10]# porg -r porg
The following packages will be removed:
    porg-0.10
Do you want to proceed (y/N) ? y

# 確認
[root@centos porg-0.10]# porg -a 
-bash: /usr/local/bin/porg: そのようなファイルやディレクトリはありません

お、削除されたので当然コマンドは使用できません。

では、またporgをインストールして他のパッケージも管理してみましょう。

# nginxをインストールして管理します。
[root@centos ~]# wget https://nginx.org/download/nginx-1.19.5.tar.gz
[root@centos ~]# tar xvfz nginx-1.19.5.tar.gz
[root@centos ~]# cd nginx-1.19.5/
[root@centos nginx-1.19.5]# ./configure 
[root@centos nginx-1.19.5]# make

# make isntall の頭にporgをつけて実行
[root@centos nginx-1.19.5]# porg -lD make install

# 確認
[root@centos nginx-1.19.5]# porg -a 
nginx-1.19.5

[root@centos nginx-1.19.5]# porg -f nginx-1.19.5
nginx-1.19.5:
/usr/local/nginx/conf/fastcgi.conf
/usr/local/nginx/conf/fastcgi.conf.default
/usr/local/nginx/conf/fastcgi_params
/usr/local/nginx/conf/fastcgi_params.default
/usr/local/nginx/conf/koi-utf
/usr/local/nginx/conf/koi-win
/usr/local/nginx/conf/mime.types
/usr/local/nginx/conf/mime.types.default
/usr/local/nginx/conf/nginx.conf
/usr/local/nginx/conf/nginx.conf.default
/usr/local/nginx/conf/scgi_params
/usr/local/nginx/conf/scgi_params.default
/usr/local/nginx/conf/uwsgi_params
/usr/local/nginx/conf/uwsgi_params.default
/usr/local/nginx/conf/win-utf
/usr/local/nginx/html/50x.html
/usr/local/nginx/html/index.html
/usr/local/nginx/sbin/nginx

単純にソースからインストールするソフトウェアの管理や、一般ユーザでroot権限がなくてもパッケージを管理したいなど(ちょっと工夫は必要みたいです)の用途があるようです。