FreeBSD Daily Topics

2012年8月14日pkg(8)とPorts Collectionを共用する場合のコツ

本記事の内容は古いものとなりました。最新のデータはこちららの記事をご覧ください。

pkgng

Ports Collection and pkg(8)

Ports Collectionとpkg(8)は今のところお互いの管理関係性が弱いので、使用する場合には共用せずにどちらかに割りきって使うほうが良いと言えます。ただし、どうしても特定のソフトウェアだけはこのコンパイルオプションでビルドして使う必要があるとか、pkg(8)に対応していないソフトウェアを使う必要があるためpkg(8)とPorts Collectionを併用する必要があるといったシーンもあります。

いくつかやり方があるかと思いますが、共用する場合にはなるべくpkg(8)をベースのパッケージ管理システムとして利用し、Ports Collectionからインストールされるソフトウェアは最小限に保つというのが、ひとつの方法になると思われます。たとえば次の/var/db/pkg/は、Ports Collectionからインストールしたアプリケーション情報と、pkg(8)経由でインストールしたアプリケーション情報の双方があるケースです。pkg(8)ではインストールできないものをPorts Collectionからインストールして使っています。

# pwd
/var/db/pkg
# ls
acroreadwrapper-0.0.20110920    open-usp-tukubai-20120802
auditfile                       pkgconf-0.8.5
gobject-introspection-0.10.8_2  portaudio-19.20071207
gtk-engines2-2.20.2_1           py27-dbus-0.84.0
ibus-1.4.1                      qt4-designer-4.8.2
icu-4.8.1.1_1                   qt4-doc-4.8.2
ja-acroread9-9.4.2_1            qt4-linguist-4.8.2
ja-ibus-mozc-1.5.1090.102_7     qtscriptgenerator-0.2.0_1
ja-mozc-server-1.5.1090.102_7   qzeitgeist-0.8.0
ja-mozc-tool-1.5.1090.102_7     raptor2-2.0.8
librsvg2-2.34.1_1               repo.sqlite
libtool-2.4.2                   virtualbox-ose-4.1.18
local.sqlite                    virtualbox-ose-kmod-4.1.18_1
musescore-1.2                   vlc-1.1.13_12,3
nvidia-driver-295.59
# 

Ports Collectionからインストールする段階で、すでにpkg(8)経由でインストールされているにも関わらず、上書きする形で関連するソフトウェアがインストールされてしまうことがあります。この場合、次のようにpkg(8)のinstallサブコマンドに-y -fのオプションを指定して、pkg(8)からデータを上書きすることで対処します。

# pkg install -f -y アプリ名

将来的にはすべてpkg(8)で管理できるようになると見られますが、導入がはじまった現在ではこうした方法で共用していく必要があるシーンもあるとみられます。

おすすめ記事

記事・ニュース一覧