DragonFly BSDでFreeBSDのportsを使う

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

[おわり]