■エラーが出るまでの流れは以下です。
#cd /usr/ports/distfiles
/usr/ports/distfiles#fetch http://www.java.net/download/jdk6/6u3/promoted/b05/jdk-6u3-fcs-src-b05-jrl-24_sep_2007.jar
fetch: jdk-6u3-fcs-src-b05-jrl-24_sep_2007.jar: open(): Read-only file system
/usrがread only mountされていませんか?
mount を実行して、/usrパーティションの属性にread onlyとかかれていないか調べてください。
mount -w -u /usr
とすれば書き込み可でmountしなおします。
それは、/usr/portsか/usr/ports/distfilesが/backupのほうにsymbolic linkが張られているとかいう理由ではないでしょうか。
read-only mountされている/backupについて、mount -u -w /backupすればなんとなく大丈夫そうですが、/backupをread-onlyになっている理由はあると思うので、注意は必要だろうと思います。
というか、非常にお節介ですが、結構危険なオペレーションなので、内容理解されてから操作したほうがいいと思います。
たぶん http://www.rapidsite.jp/product/vps/ のVPSだと思うのですが。
そこは/usr/ports以下をreadonlyで全仮想環境で共通に管理しているはずです。
それだと/usr/ports/distfilesにソースコードをfetchできませんので/etc/make.confなどにWRKDIRPREFIX環境変数を「/var/なんちゃら」として設定されていて、そっちにソースを置くようになっていると思います。
つまりjdk1.6のソースはそこにcdしてfetchすればOkです。
会社は違いますが、VPSです。
make.confを見ると以下のような記述でした。
WRKDIRPREFIX=/var/build
DISTDIR=/var/distfiles
...
/var/buildのディレクトリは存在がなく/var/distfilesは空のディレクトリとして存在しました。
buildのディレクトリを作成しそこにファイルを置けば良いのでしょうか?
make.confを見ると以下のような記述でした。
WRKDIRPREFIX=/var/build
DISTDIR=/var/distfiles
そのmake.confだとDISTDIRがソースコードを保存しておくディレクトリなので
cd /var/distfiles
fetch http://www.java.net/download/jdk6/6u3/promoted/b05/jdk-6u3-fcs-s...
とすれば良いと思います。
つまりFreeBSD HandBookやその他ドキュメントで説明に出てくる「/usr/ports/distfiles」を「/var/distfiles」と置き換えて読み取ればOkです。
mountを実行すると下記のように出ます
/dev/da0e on / (ufs, local, with quotas)
/dev/da1e on /backup (ufs, local, read-only)
#mount -w -u /usrを行った結果は下記となります。
mount: not currently mounted /usr