Arch Linuxでnetatalk
こちらのWikiがすべてですが、Arch Linuxでnetatalkを実際に導入するときの手順を記します。
インストール
$ pikaur -S netatalk
netatalkはAURパッケージです。AURを取り扱える適当なパッケージマネージャを先に導入し、netatalkをインストールします。自動的にソースからコンパイルしますが、途中で以下のような選択肢が出てきますので適切に処理します。
( サポートがないパッケージ: 潜在的に危険です ! ) ==> PKGBUILD を編集しますか ? [Y/n] ("A" で中止) ==> ---------------------------------- ==> ==> netatalk の依存パッケージ: - avahi>=0.6 (既にインストールされています) - libldap (既にインストールされています) - libgcrypt>=1.2.3 (既にインストールされています) - python2 (既にインストールされています) - dbus-glib (既にインストールされています) - pam (既にインストールされています) - libevent (パッケージが見つかりました) - python2-dbus (パッケージが見つかりました) ==> netatalk.install を編集しますか ? [Y/n] ("A" で中止) ==> ------------------------------------------ ==> ==> netatalk のビルドを続行しますか ? [Y/n] ==> ---------------------------- ==> ==> パッケージのビルドとインストール ==> netatalk に欠けている依存パッケージをインストールあるいはビルド:
依存パッケージでまだ導入されていないものがあれば、そちらから先にインストールされます。
設定例
インストール後、/etc/afp,conf を適切に設定します。
[Global] ; Global server settings mimic model = RackMac ※ネットワーク上に表示するアイコンの種類 log level = default:warn log file = /var/log/afpd.log hosts allow = 192.168.0.0/16 ※接続を許可するネットワーク範囲 uam list = uams_dhx2.so uams_guest.so guest account = guest ※ゲストアカウントを指定 vol preset = My Default Values [My Default Values] ※後述 ea = samba file perm = 0664 directory perm = 0775 [Homes] basedir regex = /home [Shared Volume] ※共有ボリューム path = /srv/share rwlist = guest file perm = 0660 directory perm = 0770 [My Time Machine Volume] ※MacからTime Machineとして利用するボリューム path = /path/to/backup time machine = yes
mimic modelはnetatalkが動作しているコンピュータの種類を指定します。例)RackMac, Xserve, PowerBook, PowerMac, Macmini, iMac, MacBook, MacBookPro, MacBookAir, MacPro, AppleTV1,1, AirPort
My Default Valuesにて ea = samba としていますが、これはsambaとの相互運用をするときの設定です。拡張属性をsambaの方式と合わせます。以下のブログが詳しいです。
起動と恒常化
systemdにサービスとして登録します
$ sudo systemctl start netatalk
問題なく起動できることを確認し、以下で恒常化します。
$ sudo systemctl enable netatalk
その後発生した問題(自環境)
ここからは自環境で発生したことなので他には当てはまらないと考えていますが、事象ととして記します。
設定でゲスト接続を有効にしたのですが、どうも上手く接続できません。原因を探るとgroupが異なるためにアクセス拒否されている状態でした。しかし、netatalkではgroupを設定する項目が見当たりません。そのため筆者の環境ではnetatalkの使用を諦め、sambaのみの運用となっています。