back

DragonFly BSD 1.4.x/1.5.x INSTALL NOTE

Install iso

DragonFly はすべからく開発環境でなければならないので、chlamydia.fs.ei.tum.de から LATEST-Devel.iso.bz2 を取ってくる。

開発環境なんて嫌だという人は、同じ場所から Release-1.4 とかを取ってくればいい。 1.4.x の環境を install できる。

installer 自体は、*BSD の install をしたことがある人だったら迷うところなどないと思うので、特に書くことはない。もし installer が上がってこなかったら、違う iso を試してみることをすすめる。

Update your source

/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 と同じ。

Sound support

/usr/src/sys/i386/conf/YOUR_HOST_NAME

# for Sound
device          pcm
device          snd

を追加。

Rebuild your world

/usr/src/ で make buildworld buildkernel installkernel installworld upgrade して rebootmake upgradereboot の前。

Setup dntpd

/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

Get pkgsrc and cvs update

# 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

pkgsrc bootstrap

# 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 つは必要ないはず。

security/audit-packages

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

とでも書いておけばいい。

/etc/mk.conf example

# 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 で。

Notice: pkgsrc and rcNG

今までの FreeBSD Ports/DragonFly dfports と違い、 pkgsrc は /etc/rc.d に自力で rc.d script を cp しなければならない。各サーバ類を install する時には忘れないこと。

pkgtools/pkg_chk

# 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 として、選択肢の中に入れてみてもいいかもしれない。

Related links