DPortsとは、FreeBSDのportsシステムをDragonFly BSDで使用できるようにしたものです。 DragonFly BSD 3.3以降で使用できます。ですが、pkgsrcとは併用できません。
以下のシステムで、DPortsを使用してみました。
$ uname -v
DragonFly v3.4.1-RELEASE #6: Wed Apr 24 13:11:54 PDT 2013 root@pkgbox64.dragonflybsd.org:/usr/obj/build/home/justin/src/sys/X86_64_GENERIC
準備
DragonFly BSDをクリーンインストールした状態でも、pkgsrcは使用されていてpkg_info -lを実行すると、280を超えるパッケージが出てきます。
既存のpkgsrcとDPortsが衝突するので、/usr/pkgをリネームします。削除してもDPortsの使用には問題ありませんが、リネームしておくとあとでpkgsrcシステムに戻ることができます。
# mv /usr/pkg /usr/pkg.bak
# pkg_info
pkg_info: Command not found.
pkg_infoも使用できなくなってしまうようですね。
つぎにDPortsのファイルをダウンロードします。
# cd /usr
# make dports-download
rm -f /tmp/dports.tar.gz
fetch -o /tmp/dports.tar.gz https://api.github.com/repos/jrmarino/DPorts/tarball/
fetch: https://api.github.com/repos/jrmarino/DPorts/tarball/: size of remote file is not known
/tmp/dports.tar.gz 35 MB 268 kBps
tar -xf /tmp/dports.tar.gz -C /usr
mv /usr/jrmarino-DPorts-* /usr/dports
rm -f /tmp/dports.tar.gz
これで準備は完了です。
使用してみる
python3.3をDPortsからインストールしてみます。
FreeBSDの場合は/usr/portsにportsシステムがインストールされていますが、DragonFly BSDの場合は/usr/dportsにインストールされます。
# cd /usr/dports/lang/python33/
# make config-recursive
... いろいろ設定する ...
# make
# make install
# rehash
# python3.3 -V
Python 3.3.0
# whereis python3.3
python3.3: /usr/local/bin/python3.3 /usr/local/man/man1/python3.3.1.gz
インストールが完了しました。DPortsの管理はpkgコマンドを使用します。
# pkg info
dialog4ports-0.1.3 Console Interface to configure ports
gettext-0.18.1.1_1 GNU gettext package
libiconv-1.14_1 A character set conversion library
libtool-2.4.2 Generic shared library support script
pkg-1.0.11_1 New generation package manager
python33-3.3.0_2 An interpreted object-oriented programming language
削除
インストールしたパッケージを削除してみます。
# pkg remove python33-3.3.0_2
The following packages will be deinstalled:
python33-3.3.0_2
The deinstallation will free 85 MB
Proceed with deinstalling packages [y/N]: y
Deleting python33-3.3.0_2...pkg: rmdir(/usr/local/lib/python3.3/): Directory not empty
done
# python3.3 -V
python3.3: Command not found.
# pkg info
dialog4ports-0.1.3 Console Interface to configure ports
gettext-0.18.1.1_1 GNU gettext package
libiconv-1.14_1 A character set conversion library
libtool-2.4.2 Generic shared library support script
pkg-1.0.11_1 New generation package manager
[おわり]