入口
benchmarks
  bonnie
    results
  bytebench
comms
  mgetty
    /etc/mail/aliases
  mgetty+sendfax
    pppd サーバを作る mgetty
    設定の概要
    /etc/tty00 --モデム
    /etc/ttys
    mgetty.config, login.config
    まずは login して見る
    /etc/ppp/options
    /etc/ppp/pap-secrets
    確認方法
cross
  i386-mingw32
  ming-w64
    二つの不思議
databases
  mysql-server
    mysql_install_db
    rc.d/mysqld
    mysql_secure_installation
    20050605
      pkg_add
      (err)
      grant
    help
    error
      mysqlcheck
      reset password
      backup
    reset password
    create db
    create user
    grant
    ProFTPD+mysql
    操作
  postgres
  rrdtool
devel
  cvsync
    cvsync.conf
    ソースの取出
    問題
      desired version
  distcc
    url
    distcc って何
    用意するもの
    distccmon-text
    pkg_add
  doxygen
    Doxyfile
    出力を利用する
    1.4.5
    2007/04
  doxygen/gcc
    doxy 1.4.5
  mercurial
  git
font
  設定方法
    mkfontdir
    fontpath
  確認方法
    fontpath
    全ての書体
  intlfonts
    fontpath
  ipa
graphics
  graphviz
  magicpoint
  tgif
    print error
    work around
ham
  hamlog
inputmethod
  anthy
    kinput2
mail
  cyrus-imapd
    url
    説明
    pkg_info -D
    bin/master
    /etc/rc.d/
    認証
    cyrus-saslauthd
    メール box の管理
    着信(MTA)
    問題
    古い cyrus
    sieve
      設定
      .sieve
      操作
      検査
      有効にするには
      問題
        saslauthd
        passwd is asked
  fml
  sendmail
  milter-regex
  smtpfeed
    smtpfeed.mc
    ./Build
    test
    起動準備
  spamassassin
    pkg_add
    sa-learn
    local.cf
  spamass-milter
    メール見出
    設定
    問題
    tuning
  squirrelmail
    url
    設置と設定
    pkg_info -D
    apache
    開始画面例
    文字符号
    課題
    問題
  ja-squirrelmail
    url
    設置と設定
    pkg_info -D
    開始画面例
    文字符号
    課題
    問題
  ctorrent
  urjtag
misc
  ttyrec
multimedia
  mplayer
  gmplayer
  libdvdcss
  xine-ui
net
  bind9
    設定確認
    起動
    必要な機能の分類
    chroot 環境
  TCP/IP と AppleTalk
  netatalk
    AppleTalk と TCP/IP
    版と構成部品
    pkg_info -D
    afpd
    一時的に起動
    認証
    動作確認
    誤り
  mrtg
  net-snmp
    設定
    起動
    log
    mrtg
    snmpget
    snmpwalk
    man pages
    参考
  rsync
  samba
    版
    設定
      smb.conf
      /etc/rc.d
    起動
    add user
    debug
    problem
news
  inn
pkgtools
  pkg_chk
print
  mf
    pktogf + gftodvi
  bibtex
    ごみ
  xpdf
  ja-ptex-bin
    jpbibtex
  ja-ptex
    dvipdfmx
    その他
  pdvipdfmx
personal
  fml
    設定作業の流れ
    pkg_info -D
    fml-system
    ml を作る
      newml
    /etc/mail/aliases
    Generic From
    sendmail.cf
    最初の会員
    自動で送られるメール
    MHonArc
    majordomo
    覚え
      password の設定
      members-admin
      log
      cf を変更した時には
      自動登録
      メールで管理するには
      admin add で welcome
      asymmetric mode って
      debug
      問題
      package 問題
  id-utils
security
  cyrus-sasl
  cy2-crammd5
  openssh
sysutils
  dd_rescue
  mklivecd
      config
  memtester
textproc
  hyperestraier
    更新
    異常停止
wip
  emacs-current
    X11
wip-jp
wm
  fvwm2
www
  apache
    rc.d
    httpd.conf
    start
    mkcert
    startssl
  ap2-auth-pgsql
  cvsweb
    pkgsrc
  firefox
    Fonts
    言語毎設定
    Firmacs
  php4
    mb_string
      Wordpress
    php.ini
  w3m
X11
  qt2
wip
  u-boot

Software 入口 | Hardware | NetBSD 解説 | packages | macppc | TsubaiBSD 絹/software/全文検索

This is under: http://www.ki.nu/software/pkgsrc/

NetBSD/pkgsrc

Last Update: "2013/06/06 18:18:16 makoto"

TCP/IP と AppleTalk

Macintosh が初めて Network 機能を持った時にしゃべる言葉は AppleTalk でした。
並行して世の中には Internet 接続が TCP/IP で広く使われるようになりました
自然な流れとして Macintosh も TCP/IP もしゃべるようになります。 それでも、しばらくは AppleTalk も Mac の世界でも並行して使われていました。
そのうちに、AppleTalk 上で使われていた上位の通信を TCP/IP でも行なえる ようになります。例えば port 548 を使った File 共有の通信です。
AppleTalk は、自分(サーバ)の存在を広く放送します。このように放送を行なう場合に、 これは使う側からは (何が利用出来るかが分るので)便利ですが、二つ問題があります。常に放送が流れる ので通信量が大きいです。また安全上も何があるか教えてくれているので、攻撃しやすいです。 本来 TCP/IP と AppleTalk は対立(並立)する用語です。

netatalk

Netatalk (英語的には「ねらとーく」のように言うようです)。 は、Unix と Macintosh が仲良くなるためのソフトウェアです。 もう少し別の言い方をしますと、 Apple のプロトコルをしゃべるためのものです。

AppleTalk と TCP/IP

Apple のプロトコルは AppleTalk と呼ばれます。TCP/IP ではなくて AppleTalk、ということです。 ただし、最近の Mac は TCP/IP (port 548) を使ったファイルサーバも使える ので、その機能も内蔵しています (Netatalk への TCP/IP の追加は asun (Adrian Sun)のおかげです)。

ちなみに、ルータを介した通信は、特にルータに設定がない場合、TCP/IP だけが利用出来ます。ルータを自前で用意して設定しているような場合には、 そのルータに Netatalk のうちの atalkd を入れておけば、AppleTalk の中継が可能となります。つまり、 ルータ越にファイルサーバ機能を使う場合には、次の組合せがあります。

クライアントとサーバ が通信するプロトコルルータに必要な機能
純粋 Appletalk + atalkd
AppleTalk over TCP TCP/IP only
更に付加えると、純粋 AppleTalk の場合でも、 ネットワークをつないでいる箱が、ルータでなくブリッジであれば、その箱を越えて AppleTalk 通信 が(当然)可能です。 Mac OS X のファイルサーバ機能は、 サーバ側としても、クライアント側としても AppleTalk over TCP を話しますので、 ルータについては、あまり考えなくてもいいということになります。

話がそれますが、AppleTalk (だけ)をしゃべるプリンタを、AirMac を通じて使いたい、という時には AirMac のブリッジ機能を有効 にすれば可能になります (ただしブリッジは、二つのネットワークを一つに見えるように つないでしまう ものですから、単純に有効にすると、問題が起きてしまう場合 もあります)。

版と構成部品

以下の記述は、次の版の設置時点で加筆したものです。
ttyp6:makoto@st4200  10:14:24/050219(...powerpc/All)> pkg_info | grep netatalk
netatalk-2.0.2      Netatalk appletalk file and print services
netatalk はいくつかの部品から構成されています。
構成部品 機能 備考
atalkd AppleTalk デーモン Native AppleTalk の場合には必須
afpd ファイルサーバ AppleTalk over TCP であれば、これだけ動かすのも可
papd プリントサーバ
timelord 時刻サーバ

pkg_info -D

make install や、pkg_add netatalk した時、 また設置後であれば、
% pkg_info -D netatalk
を使うと、いくつかの情報が表示されます。 そこに書いてあることですが、起動用の 手続は次のように用意します。
/etc/rc.d/atalkd (m=0755)
/etc/rc.d/afpd (m=0755)
/etc/rc.d/papd (m=0755)
/etc/rc.d/timelord (m=0755)
これらの見本が /usr/pkg/share/examples/rc.d にありますので、例えば、次のように します。
% foreach i (atalkd afpd papd timelord) sudo cp /usr/pkg/share/examples/rc.d/$i /etc/rc.d end
これらは、置いただけでは有効にならないので、 /etc/rc.conf に次のように書くと、本当に起動時に有効になります。
atalkd=YES
afpd=YES
papd=YES
timelord=YES
この中で atalkd は必須ですが、他は必要に応じて設定します。 また、それぞれの設定は次のところに行ないます。
/usr/pkg/etc/netatalk/AppleVolumes.default
/usr/pkg/etc/netatalk/AppleVolumes.system
/usr/pkg/etc/netatalk/afpd.conf
/usr/pkg/etc/netatalk/atalkd.conf  (初期値は実質、空。通常、自動的に設定される)
/usr/pkg/etc/netatalk/netatalk.conf
/usr/pkg/etc/netatalk/papd.conf
設定例は /usr/pkg/share/examples/netatalk にありますが、これを上のところに写して使います。 設置時にこれらが存在しない時には、設定例が写されます。

afpd

設定
譜名 機能(どういう時に読まれるか)
1/usr/pkg/etc/netatalk/AppleVolumes.system 常に有効
2/usr/pkg/etc/netatalk/AppleVolumes.default 利用者の設定がない時に有効
3~/AppleVolumes利用者の設定
4~/.AppleVolumes利用者の設定 (先頭にピリオドが付いている)
これらのうちいくつかは make install で既に置かれています。 これらの見本は /usr/pkg/share/examples/netatalk にあるので、 実物の方を変更しても、元の見本と比較が可能です。 ここの四つの設定の文法は全て同じです。

良く行なわれる例としては、共通なものは 1 に書いておき、追加の設定を 4 に書いてもらいます。 また、もし 4 がない人のために 2 を用意しておきます。 便利な設定としては、良く使う path を

path    name
の形式で書いておくことです。これで画面には name が表示され、それを選ぶと、 path への読書き等が利用出来るようになります。

一時的に起動

再起動する前に、一時的に試すには、次のようにします。
/etc/rc.d/atalkd onestart
または
sudo env atalkd=YES /etc/rc.d/atalkd start
これは通常、結構時間がかかります。 次のようになることもあります。
> sudo env atalkd=YES /etc/rc.d/atalkd start
Starting atalkd.
Setting AppleTalk info with nbprgstr.
nbp_rgstr: Can't assign requested address
Can't register harry:Workstation@*
この時でも atalkd は起動している場合も多いです。 その場合には、次のように afpd を起動できます。
> sudo env afpd=YES /etc/rc.d/afpd start
Starting afpd.
ttyp1:makoto@harry  19:47:03/050218(...net/netatalk)> !ps
ps ax | grep atalk
11739 ?     S    0:00.02 /usr/pkg/libexec/netatalk/atalkd 
28818 ?     S    0:00.03 /usr/pkg/libexec/netatalk/afpd 
ttyp1:makoto@harry  19:47:23/050218(...net/netatalk)> 

認証

UAM は User Authentication Method とか User Access Management の略かと思います。 netatalk では、まず、どの認証方法を使うかを、 afpd.conf の -uamlist に設定します。afpd は /usr/pkg/etc/netatalk/afpd.conf を読みます。 その中に、次のような部分があります。
#     -uamlist <a,b,c> Comma-separated list of UAMs. 
# (default:  uams_guest.so,uams_clrtxt.so,uams_dhx.so)
#   
#        some commonly available UAMs:
#        uams_guest.so: Allow guest logins
#
#        uams_clrtxt.so: (uams_pam.so or uams_passwd.so)
#                       Allow logins with passwords
#                       transmitted in the clear.
#
#        uams_randnum.so: Allow Random Number and Two-Way
#                        Random Number exchange for
#                        authentication.
#
#        uams_dhx.so: (uams_dhx_pam.so or uams_dhx_passwd.so)
#                     Allow Diffie-Hellman eXchange
#                     (DHX) for authentication.
ここに書いてあることを整理すると、次のようになります。
-uamlist の引数 機能
uams_dhx_passwd.so Diffie-Hellman eXchange (DHX) を使ったログイン
uams_dhx.so
uams_guest.so ゲストログイン
uams_passwd.so 平文パスワードによるログインを許可する (vipw で設定)
uams_clrtxt.so
uams_randnum.so 乱数と双方向乱数通信による認証 (/etc/netatalk/afppaswd に設定)
-uaamlist の引数に挙げてある名前を -uamlist の次に、カンマでつない 上記 (default: の行に示してあるように で記述します。 色を変えてある部分は初期設定で有効になっているものです。 これらの実体は、/usr/pkg/libexec/netatalk/uams にありますので、 次のようにして存在を確認出来ます。(2.0.1 と 2.0.3 で一部文字が変更になっているようです)。
ttyp0:makoto@s900 18:38:06/051124(~)> cd /usr/pkg/libexec/netatalk/uams ttyp0:makoto@s900 18:38:07/051124(...netatalk/uams)> ls -l *so lrwxr-xr-x 1 root wheel 14 Oct 20 03:08 uams_clrtxt.so@ -> uams_passwd.so lrwxr-xr-x 1 root wheel 18 Oct 20 03:08 uams_dhx.so@ -> uams_dhx_passwd.so -rwxr-xr-x 1 root wheel 9999 Oct 20 03:08 uams_dhx_passwd.so* -rwxr-xr-x 1 root wheel 8421 Oct 20 03:08 uams_guest.so* -rwxr-xr-x 1 root wheel 9622 Oct 20 03:08 uams_passwd.so* -rwxr-xr-x 1 root wheel 13875 Oct 20 03:08 uams_randnum.so* ttyp0:makoto@s900 18:38:10/051124(...netatalk/uams)>
この設定を /usr/pkg/etc/netatalk/afpd.conf にします。設置例では、 その中身は実質空になっていますが、そのままでも、次のような設定 が生きています。# が付いていますが、そのままでも別途有効になっているという意味です。 もし、これを変更する時には、最初の # を消して、必要な文字を 記述します。
# - -transall -uamlist uams_clrtxt.so,uams_dhx.so -nosavepassword
参考 http://www.linux.or.jp/JM/html/netatalk/man5/afpd.conf.5.html

password の設定は適切に行なっているはずなのに、 「パスワードが合っていない」と言われる時があります。 /var/log/messages を見れば書いてあるかも知れませんが、その ID に設定されている shell が /etc/shells に入っていない時にもそうなります。

動作確認

Mac OS X の場合、Finder の画面で command + k をすると、

..のような画面になります。

そこで、afp://server.example.com

のように入力します。

誤り

Database environment version mismatch
版を新しくした時に、
Nov 29 08:16:38 u afpd[16432]: cnid_open: dbenv->open of 
                      /home/username/hoge/.AppleDB failed: 
DB_VERSION_MISMATCH: Database environment version mismatch
というような字を見ることがあります。これは
% mv /home/username/hoge/.AppleDB /home/username/hoge/.AppleDB-old
のようにすれば、取敢えずは、回避出来るはずです。 あるいは、消してしまっても大丈夫だと思います。
fopen: No such file or directory
debug (standalong) モードで起動したり、起動直後に /var/log/messages に fopen: No such file or directory と出るのは
/usr/pkg/etc/netatalk/afp_ldap.conf
がないためかと思います。重要ではないのですが、重要ではないと判断するのに時間がかかる気がするので、 書いておきます。
modena@makoto 14:24:06/120417(..net/netatalk)% \
sudo ktrace -t n /usr/pkg/libexec/netatalk/afpd -d -P  /var/run/afpd.pid 

fopen: No such file or directory
NetBSD解説/pkgsrc
Last Update: Mon, 08 Feb 2016 22:22:20 GMT 1.66 2008/03/08