Skip to content

9legacyの更新をCDイメージから取り込む

9fansで見たところ、これが公式のアップデート方法らしい。ローカルでfossilやkfsが動作しているなら /dist/replica/cd を使えばいいが、ネットワークブートしている場合は以下のようなファイルを作っておく。

#!/bin/rc
s=/n/dist/dist/replica
serverroot=/n/dist
serverlog=$s/plan9.log
serverproto=$s/plan9.proto
fn servermount { status='' }
fn serverupdate { status='' }
if ( ! test -e /srv/boot && ! test -e /srv/kfs ) {
echo 'error: neither /srv/boot nor /srv/kfs present; make sure you are running on the file server'
exit '/srv/boot or /srv/kfs not present'
}
fn clientmount { mount -c /srv/boot /n/boot }
c=/n/boot/dist/replica
clientroot=/n/boot
clientdb=$c/client/plan9.db
clientexclude=(dist/replica/client)
clientlog=$c/client/plan9.log
clientproto=$c/plan9.proto
applyopt=(-u -T$c/client/plan9.time)

これでダウンロードして更新する。

Terminal window
cd /tmp
hget http://9legacy.org/download/9legacy.iso.bz2 >9legacy.iso.bz2
bunzip2 9legacy.iso.bz2
9660srv
mount /srv/9660 /n/dist 9legacy.iso
replica/pull -v /dist/replica/cdboot

問題点

  • setgidがエラーになる
  • replica/pullでmkdirに失敗する