20101215222200

PortsとPortage

FreeBSDとGentooLinuxにおけるパッケージPostgresqlは:
Ports(FreeBSD):
/usr/ports/databases/postgresql-server-8.3.12_2/
/usr/ports/databases/postgresql-server-8.4.5_2/
/usr/ports/databases/postgresql-server-9.0.1_2/

Portage(Gentoo Linux):
/usr/portage/dev-db/postgresql-server/postgresql-server-8.3.12.ebuild
/usr/portage/dev-db/postgresql-server/postgresql-server-8.4.5.ebuild
/usr/portage/dev-db/postgresql-server/postgresql-server-9.0.1.ebuild
のような感じで情報を保存しています。

Linux系のパッケージが良く行う/usr/直下へシステムと混ぜて展開するパッケージ管理システムと、FreeBSD Portsのように/usr/local/以下にシステムと切り分けて展開するが、パッケージ情報のツリーが増えたり消えたり激しい (原因はツリー情報に細かいバージョンまで含んでる為) 管理システムどっちが便利なんだろうなぁ・・・最近揺れています。今まで妄信的にFreeBSDのPortsに軍配を上げていたのだけれど、依存関係でPortsの古いバージョンを入れる必要が出た場合に味わう地獄 (cvs-upでわざわざ取り寄せ) や、バージョンを含まないディレクトリのパッケージの内容が知らぬ間にメジャーバージョンアップされて以前のものはいつの間にか作られたバージョン付きのディレクトリからインストールをする必要があったりとか。あとは、知らぬ間にツリーから消えていてアップデート用のコマンドが通らなかったり(Portupgrade等) するのは本当に致命的ではないだろうか。システムを管理する分には使いやすいのだけれど、パッケージ自体の管理システムが実は使いづらいのではないかと思い始めたり。Gentooだと使っているバージョンのパッチを継続してアップデートするのですがねぇ・・・あと古いバージョンも一つのパッケージ化されたプロジェクト毎に管理されているし、古いバージョンも大抵同梱されていたりします。評価が高いのはPortsですが、何かと使っていて実はPortageも捨てたものではないと思うのです。 PortsとPortageの中間はないものかな・・・

Posted by uso8000k | Categories: Tech | [ツィート(笑)] | [2010/12/15/T22_22_00/]