QNAP TS-412のnetatalk

NAS,netatalk

先日、NASを購入しました。

購入時と最新Firmwareの違いを調べてみました。

Firmware 3.8.1のnetatalkのバージョンは、次の様になっていました。

# afpd -V
afpd 2-2-3-p1 - Apple Filing Protocol (AFP) daemon of Netatalk

This program is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free Software
Foundation; either version 2 of the License, or (at your option) any later
version. Please see the file COPYING for further information and details.

afpd has been compiled with support for these features:

          AFP versions:	1.1 2.0 2.1 2.2 3.0 3.1 3.2 3.3 
DDP(AppleTalk) Support:	Yes
         CNID backends:	cdb dbd last tdb 
           SLP support:	No
      Zeroconf support:	No
  TCP wrappers support:	No
         Quota support:	Yes
   Admin group support:	Yes
    Valid shell checks:	Yes
      cracklib support:	No
        Dropbox kludge:	No
  Force volume uid/gid:	No
            EA support:	ad | sys
           ACL support:	Yes
          LDAP support:	No

             afpd.conf:	/usr/local/etc/netatalk/afpd.conf
   AppleVolumes.system:	/usr/local/etc/netatalk/AppleVolumes.system
  AppleVolumes.default:	/usr/local/etc/netatalk/AppleVolumes.default
    afp_signature.conf:	/usr/local/etc/netatalk/afp_signature.conf
      afp_voluuid.conf:	/usr/local/etc/netatalk/afp_voluuid.conf
         afp_ldap.conf:	not supported
       UAM search path:	/usr/local/etc/netatalk/uams/
  Server messages path:	/usr/local/etc/netatalk/msg/
              lockfile:	/var/lock/afpd

バージョン"2.2.3″はわかるけど、"p1″って何でしょうか? QNAPが独自に当てているパッチ?

Firmwareのバージョンアップに併せて、netatalkもバージョンアップされました。

# afpd -V
afpd 3-0-1-p5 - Apple Filing Protocol (AFP) daemon of Netatalk

This program is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free Software
Foundation; either version 2 of the License, or (at your option) any later
version. Please see the file COPYING for further information and details.

afpd has been compiled with support for these features:

          AFP versions:	2.2 3.0 3.1 3.2 3.3 
         CNID backends:	cdb dbd last tdb 
      Zeroconf support:	No
  TCP wrappers support:	No
         Quota support:	Yes
   Admin group support:	Yes
    Valid shell checks:	Yes
      cracklib support:	No
            EA support:	ad | sys
           ACL support:	Yes
          LDAP support:	No

              afp.conf:	/usr/local/etc/afp.conf
           extmap.conf:	/usr/local/etc/extmap.conf
       state directory:	/usr/local/var/netatalk/
    afp_signature.conf:	/usr/local/var/netatalk/afp_signature.conf
      afp_voluuid.conf:	/usr/local/var/netatalk/afp_voluuid.conf
       UAM search path:	/usr/local/etc/netatalk/uams//
  Server messages path:	/usr/local/var/netatalk/msg/

やはり、"3.0.1″の後に"p5″と付く、独自バージョンになっています。

Zeroconfサポートを使っていない様です。ですが、Finderからは、QNAP(AFP)が見えます。これは、"/etc/avahi/services/afp.service"で設定しているからです。古い実装方法です。

afp.confの場所が、"/usr/local/etc/afp.conf"になっていますが、実際には、"/etc/afp.conf"を使います。これは、"/etc/init.d/atalk.sh"が、"afpd"を起動するオプションとして、"-F /etc/afp.conf"を指定しているからです。なぜ、こんな面倒な使い方をするのでしょうか?

/usr/local/sbin/afpd -F /etc/afp.conf -p /var/afpd3.pid

一番期待していたのが、iPhotoのライブラリを、QNAPに置く事です。置く事自体はできました。(当たり前)

ですが、Firmware 3.8.1だと、netatalkのバージョンが"2-2-3-p1″で、遅いのです。写真のスクロールがもたつきます。

Firmware 3.8.2だと、netatalkが"3-0-1-p5″になって、パフォーマンスが上がりました。しかし、Firmware 3.8.2のnetatalk 3-0-1-p5の動作には、バグがありそうです。

iPhotoでデジカメの写真を取り込むと、ファイルに"hidden"属性が付いてしまい、Finder上で見えません(iPhotoの上では見える)。

QNAPのForumで質問してみた所、同様の問題に陥っている人がいました。そして、QNAPはこの問題を認識済みで、調査している所だそうです。結局、QNAPの人は、「ごめんなさい」をしていました。

色々調べた所、QNAPのnetatalkの/etc/afp.confの設定が悪い事に気がつきました。

invisible dots = yes

このオプションの意味は、次の通りです。

invisible dots = BOOLEAN (default: no) (V)

make dot files invisible. WARNING: enabling this option will lead to unwanted sideeffects were OS X applications when saving files to a temporary file starting with a dot first, then renaming the temp file to its final name, result in the saved file being invisible. The only thing this option is useful for is making files that start with a dot invisible on Mac OS 9. It’s completely useless on Mac OS X, as both in Finder and in Terminal files starting with a dot are hidden anyway.

afp.confより

この、"invisible dots"を"yes"にすると、OS Xでは、アプリケーションによって、ファイルが「不過視」になるみたいです。

この行をコメントアウトして、デフォルトの"no"のままにしておくと、"hidden"属性はつきませんでした。

ただ、QNAP TS-412の/etc/afp.confは自動作成される物なので、Firmwareを修正してくれないと、コメントアウトが消えてしまいます。

それにしても、Firmware 3.8.2に搭載されているnetatalk 3-0-1-p5は変です。かなり変な使い方をしています。例えば、"netatalk"デーモンが無い(直接afpdを起動している)とか。気持ちが悪いです。これは、設定ファイル置き場を、コンパイルした時の"/usr/local/etc/afp.conf"ではなく、"/etc/afp.conf"にしたかったからじゃないかな?

多分、GUIや、他のシステムの修正を最小限にするために、netatalkにしわ寄せを持って行ったのだと思います。

また、自力でnetatalk 3.0.3をインストールしました。一応動くのですが、QNAPが自動生成する"afp.conf"だと、不都合があります。マウントしたフォルダが、読み込み専用になってしまいます。この原因は、"rolist"の指定と言う所まではわかりました。"rolist"をコメントアウトすると、正常に読み書きできます。

rolist = "@everyone"
rwlist = "admin","user_a"

この原因は調査中です。

netatalk 3.0.3のQNAPへのインストール方法については、また別の記事で書きます。滅茶苦茶面倒でした。

Posted by お市のかた