リモートからログイン出来るようになったのでちょっと調べてみると、samba/netatalk のバージョンがちょっと古いのが分かった。
- samba-2.2.8a-ja-1.1
- netatalk-1.6.4
さて、netatalk から 2.x 系に上げて見る。
方針はシンプルで「debian sarge のバイナリをただコピーして動かすだけ」。
ファイル共有が目的なので afpd を動かすだけの物を選別してコピーする。
- /usr/lib/libdb-4.2.so
- /usr/lib/libslp.so.1.0.0
- /usr/lib/netatalk/uams_guest.so
- /usr/lib/netatalk/uams_pam.so
- /usr/lib/netatalk/uams_passwd.so
- /usr/sbin/afpd
- /usr/sbin/cnid_dbd
- /usr/sbin/cnid_metad
- /usr/bin/cnid2_create
- /usr/bin/cnid_index
- /usr/bin/cnid_maint
次に以下のシンボリックリンクを張る。
- /etc/netatalk -> /etc/atalk
- /usr/lib/libslp.so.1 -> /usr/lib/libslp.so.1.0.0
次に/etc/init.d/atalk内の無用なオプション(-k sjis)をコメントアウトして、atalk を再起動する。
個々まで、作業すると「afp://サーバIP」で接続出来る寸前間で行くが、エラーが発生してうまく行かない。/var/log/message には以下ログが残される。
Jul 23 17:17:37 TERA afpd[2251]: Warning: No CNID scheme for volume /mnt/array1/data. Using default.
Jul 23 17:17:37 TERA afpd[2251]: Setting uid/gid to 100/100
Jul 23 17:17:37 TERA afpd[2251]: cnid_open: Found version 1 of the CNID database. Please upgrade to version 2
Jul 23 17:17:37 TERA afpd[2251]: Cannot open CNID db at [/mnt/array1/data].
Jul 23 17:17:37 TERA afpd[2251]: Fatal error: cannot open CNID or invalid CNID backend for /mnt/array1/data: cdb
CNID database をバージョンアップしろと指示しているが、どうするんだ?
分からんがディレクトリ .AppleDB を削除してみたところ、上手く接続できるようになった。むむ。
netatalk 2.0.2 に入れ替えたことで、ファイル名のエンコードがUTF-8のNFCになり、かつファイル長の31文字制限は無くなった。使い勝手がかなり上がった。
0 件のコメント:
コメントを投稿