NetBSD2 | NetBSD | 1.6 | amd | autoconf | apache | bind | booting | boot/install/disk | boot-cd | build.sh | (daily) | Canna | CF+sendmail | cvs | dhcpd | dvi2ps | emacs-20 | ftpmirror | fvwm2 | gcc | gettext | ghostscript | inn | IPv6 | jitterbug | Install(OHP) | kernel | (old) | majordomo | make build | MHonArc | MRTG | namazu | ndtpd | PHP + PostgreSQL | netatalk | netboot | NFS | NIS | ntp | opie | Open Firmware | perl | procmail | sendmail | sharutils | smtpfeed | tcsh | TeX | time make | ucspi-tcp | w3 | wget | Wnn | wu-ftpd | X11 | Site Map |
全文検索

NetAtalk on NetBSD

Netatalk は University of Michigan で開発された Unix の上で動く Macintosh 用の File Server と AppleTalk Printer 用の道具である。 もっと簡単に言うと Unix に AppleTalk をしゃべらせる系である。

Adrian Sun という方がこれに改良を加えたものを公開していて、 こちらを使うと IP だけしか通らないネットワークでも Macintosh から File Server が利用出来る。 (ただし その時には Macintosh の 方は MacOS 8 以上を使う必要がある)

NetBSD の場合、2.1.3-asun 版を /usr/pkgsrc/net/netatalk-asun/ から 入れるととてもうまく行く(2000/09/23 追記)

Related Web

もともとの Netatalk (ミシガン大学)
http://www.umich.edu/~rsug/netatalk/
netatalk-admin Mailing List
http://www.umich.edu/~rsug/netatalk/archive/admins/
DownLoad
Michigan University
ftp://terminator.rs.itd.umich.edu/unix/netatalk/
NetAtalk (ASun -- Adrian Sun version)
TCP/IP (port 548) でも通信出来る
ftp://ftp.cobaltnet.com/pub/users/asun/
release/2.1.3
ftp://ftp.cobaltnet.com/pub/users/asun/release/
(/usr/local/atalk/etc に入る)
testing/2.1.4
ftp://ftp.cobaltnet.com/pub/users/asun/testing/
この版から shared library を使っている。
(/usr/local/atalk/sbin に入る)
NetBSD/Packages つまり NetBSD/packages/ にある pkgsrc.tar.gz を展開してから /usr/src/pkgsrc/net/netatalk で make という方法がある。 net/ netatalk-asun には、 asun の改良が入っている。
これを使えばいいのだけれど、それを見る前に作業したので、 ここでは、たまたま使っていない。

Make

2.1.3+asun の場合、 一番安易なのは Makefile を少し変更して DES,TCPWRAPPER,PAM を使わな いようにそれぞれを ## で消しておいて から、
make
make install
これで /usr/local/atalk に設置される

Kernel の再構成

(macppc の場合、初めから設定してあるので、この項不要)
NetBSD で利用する場合、option NETATALK を設定しておく必要がある。 再構成の方法は次のところを参考にする PowerPC/kernel.shtml。 実際には GENERIC を別の名前(例えば GENERIC-at) に写して #option NETATALK の行の # をはずして
config GENERIC-at; 
cd ../compile/GENERIC-at
make
とすれば良い。/netbsd を別の名前に退避して cp netbsd /netbsd して 再起動 ( reboot ) すれば良い。

ただし sparc の場合、GENERIC は SCSI-id(0) が sd0 となっていて GENERIC-SCSI3 とは違うので、基になる構成(GENERIC or GENERIC-SCSI3) にどちらを使うか注意した方がいい (僕は一回間違えてしまった)

setup

/etc/services
cat services.atalk >> /etc/services
起動設定
起動の設定例が rc.atalk.bsd という名前で用意されているので、 これを少し調整して /etc/atalk/rc.atalk.bsd などとして(この場合だと) sh /etc/atalk/rc.atalk.bsd & という行を /etc/rc.local に書き加えておく
/usr/local/atalk/etc
AppleVolumes.system に
. TEXT UNIX
というような行がある。これは、良く知らない ものは文字形式だとして LF(0x0a)/CR(0x0d) の変換をする という意味になるが、これは、最近はあまりいいことがない。 二進形式のものをやりとりすることの方が多いと思うので、
. BINA UNIX
としておくことをおすすめする。
文字形式は、おかしいことにすぐ気が付くが、 二進形式だと、何が問題か気が付きにくいというのも理由の 一つである。

動作確認・一般

getzone
/usr/local/atalk/bin/getzone と入力して見る。 既に動いている AppleTalk の zone があれば、ここに表示される
nbplkup
またその中に出て来た zone 名を使って /usr/local/atalk/bin/nbplkup 'zone名' とすると、その中で動いている機械名(ただし共有設定をしているもの) が表示される。

/usr/local/atalk/bin/nbplkup とだけ入力すれば、同じ Network segment (localtalk zone) にある 機械の一覧が表示される

動作確認・File server

man afpd を参考にする。
/etc/atalk/AppleVolumes.default
/etc/atalk/AppleVolumes.system
などに初期値の設定をすることが出来る(Path は一例)

動作確認・AppleTalk Printer への出力

例えば次のような設定を/etc/printcap に加える
lp:\
                :sd=/usr/spool/lpd:\
                :lp=/dev/lp:\
                :lf=/var/adm/lpd-errs:\
                :pw#80:\
                :of=/usr/local/atalk/etc/filters/ofpap:\
                :if=/usr/local/atalk/etc/filters/ifpap:\
                :tf=/usr/local/atalk/etc/filters/tfpap:\
                :df=/usr/local/atalk/etc/filters/dfpap:\
                :mx=#2000:
この中で /dev/lp (名前は一例) mknod /dev/lp c 3 2 のようにして
/dev/null と同じものを(違う名前で)作っておく

makoto@komekome  23:18:16/990510(~)> ls -l /dev/lp
crw-rw-rw-   1 root     staff      3,   2 Sep  6  1996 /dev/lp
そうして sd= で指定した directory の中の .paprc という名前の譜の中 に AppleTalk Printer の名前を書いておく。必要なら @zone名も付けておく
cat /usr/spool/lpd/.paprc
LaserWriter II NTX:LaserWriter

動作確認・Unix lpd printer を Macintosh 側に見せる方法

これは man papd を参考にする。

日誌

2000/09/23 atalkd is already running (pid = 23583), or the lock file is stale. atalkdnbp_rgstr: Network is unreachable というようなことを言われ る
2000/08/19 結局 pkgsrc/net/netatalk-sun から入れたらとてもうまく行った
2000/07/20: NetBSD/sparc-1.4.1 + pre-asun2.1.4-39_test.tar.gz
atalkd: difaddr(0.0): Can't assign requested address -- /etc/atalkd.conf を置いておく

2.1.3 を組立てて見る (SS-2) 612.577u 137.317s 17:40.17 70.7% 0+0k 5295+5405io 1008pf+0w
makoto@tateyama ■20:02:41/000720(...making/netatalk-1.4b2+asun2.1.3)>
1999/12/30, NetBSD/sparc
(time make SS-10)
465.293u 94.684s 11:21.72 82.1% 0+0k 1067+6325io 762pf+0w

(make install)
Install is done.  You might need to add services from
services.atalk to /etc/services. The ddp services need to be
added for NetBSD versions earlier than 1.3, and the AFP over
TCP services need to be added for NetBSD 1.3.X, and for
1.3-current dated June 27, 1998 and earlier.

Don't forget to call rc.atalk in /etc/rc.local.  See README
and README.NETBSD for more information.