FreeBSD設定の覚書です。
某サーバでは、管理者の方針で emacs が入ってません。日本語入力環境として、 jvim + canna を使用せよ、とのこと。
パッケージとしてインストールされているものは
ja-jvim-canna-2.0r Japanized Vim (with Canna) ja-onew-canna-2.2.10 A library for Japanese Input Method Canna
実際に使用するための設定方法は… アナウンスなし。 (管理者の方々も設定方法を知らない、とか………) 仕方がないので自分で調べてみました。
パッケージ名にもついていますが、ONEW というエンジンを使用するようです。 /usr/local/share/doc/ja-onew-canna/README.ONEW に書いてある環境変数を設定します。 少なくとも必要なのは、ONEW_ENGINE, CANNAHOST, ONEW_CANNA_RKPATH の3つ。 当然ですが、LANG も設定しておきます。csh をお使いの場合は、.cshrc に下記を追加します。
setenv LANG ja_JP.eucJP setenv CANNAHOST localhost setenv ONEW_ENGINE canna setenv ONEW_CANNA_RKPATH /usr/local/share/canna/dic
とりあえずローマ字かな入力はできるようになりましたが、html ファイルでよく使われている iso-2022-jp は表示と編集(新規作成も含めて)が可能かどうかは未確認です。 また、jvim-2.0では UTF-8 コードは確実に化けます.
/etc/login.conf にて
des_users:\ :passwd_format=des:\ :tc=default:
を設定。 その後
cap_mkdb /etc/login.conf
を実行。 特定ユーザには des_users というログインクラスを指定する。 ログインクラスは、passwd(5) の 5 番目のフィールドに指定する。
makeするときは
make LOCALIZED_LANG=ja
としましょう。環境変数忘れると英語版を作成しちゃいます。 (実際に英語版を作成してしまった…)
package作成のときは
make LOCALIZED_LANG=ja package
とします。こちらも LOCALIZED_LANG 指定忘れると、英語版が作成されます。
2.0.3では grass-i18n も必要のようです。(2.0.1では必要なかったのに) lapackのコンパイルも始まったので、ちょっとびっくり。
July 7,2006 FreeBSD-EN-06:01.jail にて修正。
どういうわけかboot時にezjailが起動しません。
# /usr/local/etc/rc.d/ezjail.sh start ezjailConfiguring jails:. Starting jails:ifconfig: interface alias does not exist
なるメッセージが表示されます。
解決法として http://groups.google.fi/group/fido7.ru.unix.bsd/browse_thread/thread/b8196929f12ca53f/9498387277d04074?hl=sv#9498387277d04074 を参照し、 /etc/rc.d/jail に下記のpatchをあててみました。
@@ -164,7 +164,7 @@ echo -n " [${jail_hostname} already running (/var/run/jail_${_jail}.id exists)]" continue; fi - if [ -n ${jail_interface} ]; then + if [ -n "${jail_interface}" ]; then ifconfig ${jail_interface} alias ${jail_ip} netmask 255.255.255.255 fi if checkyesno jail_mount; then @@ -239,7 +239,7 @@ jail_umount_fs echo -n " $jail_hostname" fi - if [ -n ${jail_interface} ]; then + if [ -n "${jail_interface}" ]; then ifconfig ${jail_interface} -alias ${jail_ip} fi rm /var/run/jail_${_jail}.id
以上で上記メッセージは表示されなくなりました。 しかしもう1点問題があり、
# /usr/local/etc/rc.d/ezjail.sh start ezjailConfiguring jails:. Starting jails: hoge.hogeo.jpeval: 1: Syntax error: Bad substitution
というメッセージが表示されます。これをどう解決するか、ですね。
単に /usr/local/etc/jail/hoge.hogeo.jp~ というバックアップファイルが存在していることが原因でした。
エラーメッセージは出力されなくなりましたが、やはりboot時に起動しません。 どうもezjail.shを起動していないっぽい。
/etc/rc.confに
rc_debug="YES"
を書いてブート時にdebugを出力してみました。 すると
Jun 2 12:27:53 hoge root: /etc/rc: INFO: checkyesno: jail_enable is set to NO.
なる行はあるものの、ezjailに関する出力がない!
強引ではありますが、/usr/local/etc/rc.d/ezjail.sh を /etc/rc.d/ezjail としてリンクしてリブート。 すると何事もなかったように起動しちゃいました。
これって jail のバグ?
どうやら make world 後、ezmail起動問題は解消されたようです。よかった〜
/bin/ls はコピーしたのですが、まだ何かが足りないのですね。
wu-ftpd FAQ QA49より http://www.wu-ftpd.org/wu-ftpd-faq.html#QA49
To test if /bin/ls is working in the ~ftp dir, type : chroot ~ftp /bin/ls
を実行してみました。
# chroot ~ftp /bin/ls ELF interpreter /libexec/ld-elf.so.1 not found アボート
/libexec/ld-elf.so.1 をコピーしたら、無事ls表示されるようになりました。
FreeBSD QandA 428より http://www.jp.freebsd.org/QandA/HTML/428.html
/etc/master.passwd の形式で ~ftp/etc/master.passwd を用意して、
$ /usr/sbin/pwd_mkdb -d ~ftp/etc ~ftp/etc/master.passwd
を実行することで必要な DB ファイルが作成され、ユーザ名が参照されるようになりました。
rpmでStarSuite8をアップグレード
# rpm --upgrade --force --ignorearch --ignoreos --nodeps *.rpm
インストールする場合は --upgrade を -i へ変更。