DragonFly はすべからく開発環境でなければならないので、chlamydia.fs.ei.tum.de から LATEST-Devel.iso.bz2 を取ってくる。
開発環境なんて嫌だという人は、同じ場所から Release-1.4 とかを取ってくればいい。 1.4.x の環境を install できる。
installer 自体は、*BSD の install をしたことがある人だったら迷うところなどないと思うので、特に書くことはない。もし installer が上がってこなかったら、違う iso を試してみることをすすめる。
/usr/share/examples/cvsup/DragonFly-src-supfile をベースに mirror に変えること。PREVIEW とかを追いたいなら、 DragonFly-preview-supfile とか。
# cvsup -g -L 2 DragonFly-src-supfile
面倒だったら、/etc/make.conf を書き換えて、/usr/src で make update
でも可。/etc/make.conf の書き方は FreeBSD と同じ。
/usr/src/sys/i386/conf/YOUR_HOST_NAME
# for Sound
device pcm
device snd
を追加。
/usr/src/ で make buildworld buildkernel installkernel installworld upgrade
して reboot
。 make upgrade
は reboot
の前。
/etc/defaults/rc.conf には、
dntpd_enable="NO" # Run dntpd Network Time Protocol (or NO).
dntpd_program="/usr/sbin/dntpd" # path to dntpd, if you want a different one.
dntpd_flags="" # Flags to dntpd (if enabled) also server name(s)
と、書いてある。よって、以下のような感じ。詳細は man dntpd
。
/etc/rc.conf
dntpd_enable="YES"
/etc/dntpd.conf
server 192.168.1.11
LAN 内に ntp server がなければ、どこか適当な ntp server を指定。ntp.ring.gr.jp とか。
/var/log/messages
Feb 7 21:59:25 humming dntpd[516]: dntpd version 1.0 started
Feb 7 21:59:41 humming dntpd[516]: issuing offset adjustment: 0.745117
Feb 7 22:05:12 humming dntpd[516]: issuing frequency adjustment: -26.082ppm
Feb 7 22:41:54 humming dntpd[516]: issuing offset adjustment: -0.008862
# fetch -o /tmp/pkgsrc.tar.gz ftp://ftp.NetBSD.org/pub/NetBSD/packages/pkgsrc.tar.gz
# cd /usr; tar -xzf /tmp/pkgsrc.tar.gz; chown -R root:wheel pkgsrc
# cd /usr/pkgsrc; cvs up
# cd /usr/pkgsrc/bootstrap
# ./bootstrap --pkgdbdir /var/db/pkg --prefix /usr/pkg
# cp work/mk.conf.example /etc/mk.conf
# echo 'X11_TYPE=xorg' >> /etc/mk.conf
1.5.x なら、下の 2 つは必要ないはず。
pkgsrc の脆弱性検知。
# cd /usr/pkgsrc/security/audit-packages/ && bmake install clean
の後、メッセージに出るように、
0 3 * * * /usr/pkg/sbin/download-vulnerability-list >/dev/null 2>&1
な感じのを root の crontab に追加しておくこと。
Charlie から mail をもらいたければ、 /etc/periodic/security/999.audit-packages を作成して、
if [ -x ${PREFIX}/sbin/audit-packages ]; then
${PREFIX}/sbin/audit-packages
fi
とでも書いておけばいい。
# Example /usr/pkg/etc/mk.conf file produced by bootstrap-pkgsrc
# Sun Jan 22 09:33:06 JST 2006
.ifdef BSD_PKG_MK # begin pkgsrc settings
PKG_DBDIR=/var/db/pkg
LOCALBASE=/usr/pkg
VARBASE=/var
FETCH_CMD=/usr/pkg/bin/ftp
PAX=/usr/pkg/bin/pax
X11_TYPE=xorg
WRKOBJDIR=/usr/obj/pkgsrc
PKG_OPTIONS.uim = -canna
PKG_OPTIONS.nvi-m17n = -canna
ACCEPTABLE_LICENSES+=lame-license
ACCEPTABLE_LICENSES+=no-commercial-use
.endif # end pkgsrc settings
各 package 毎の option は + とか - とか = とかで調整。どんな option が用意されているかは bmake show-options で。
今までの FreeBSD Ports/DragonFly dfports と違い、 pkgsrc は /etc/rc.d に自力で rc.d script を cp しなければならない。各サーバ類を install する時には忘れないこと。
# pkg_chk -g # generate /usr/pkgsrc/pkgchk.conf
# pkg_chk -i
unzip-5.52nb3: version mismatch - unzip-5.52nb2
flac-1.1.2nb1: version mismatch - flac-1.1.2
lame-3.96.1nb4: version mismatch - lame-3.96.1nb3
...
wmtime-1.0b2nb1: version mismatch - wmtime-1.0b2
WARNING: No wip/dfuibe_installer/Makefile - package moved or obsolete?
...
xorg-server-6.9.0nb5: version mismatch - xorg-server-6.9.0nb3
xterm-208nb2: version mismatch - xterm-208
Missing: wip/dfuibe_installer wip/dfuife_curses wip/libaura wip/libdfui wip/libinstaller
# pkg_chk -u # update all
しかし、現在の DragonFly で pkg_chk -u
を試すのにはかなり勇気がいる。pkg_chk -i
を参考に自力で
build するか、pkg_chk -u
を試すのかは、好きにすればいい。
細かいところでつめの甘い部分はあるものの、(個人使用の範囲内でなら)十分実用に耐えるものに仕上っているように思える。正常に build できる pkgsrc の数が NetBSD よりはかなり少ない(約 85%)ものの、これは現在 joerg@ が pkgsrc committer になってがりがり DragonFly 用の修正をかけているおかげで、日に日に改善されていっている。
ML や News を読むことが苦にならず、小さな(泥臭い)部分を自分で対処できるのであれば、ごく普通に使える *BSD として、選択肢の中に入れてみてもいいかもしれない。