MacのためのNASを作ります。NetatalkをFedora 19にインストールします。
Time Machineでバックアップが出来るようにします。
OS X 10.9, 10.10(多分)対応です。

NASって?

NASとは、Network Attached Storageの頭文字をとったものです。
つまりは、「ネットワーク越しに使える共有HDD」のことです。
MacBookを使っている人はディスクの容量不足に悩むことがしばしばあると思います。NASがあれば解決ですね!

なぜ最新版?

yumリポジトリにもNetatalkは含まれています。
しかし、リポジトリのNetatalkはバージョンが古く、現在のOS Xでは使用できません。

こんなかんじのアラートが出ます。

最新版のnetatalkはバージョンが3系になっているので、それを使いましょう。

ビルドからインストール

1. rpm-buildをインストール

rpmを作るために、rpm-buildというツールをインストールします。

1
# yum -y install rpm-build

2. 依存関係を解決

依存するライブラリをインストールします。

1
# yum -y install cracklib-devel openssl-devel quota-devel libtool automake  autoconf libdb-devel pam-devel  tcp_wrappers-devel  avahi-devel libacl-devel  openldap-devel  libevent-devel dbus-devel dbus-glib-devel glib2-devel systemtap-sdt-devel libtdb-devel tracker-devel mariadb-devel

3. ソースのダウンロードと展開

Netatalk Wikiより、最新版のsrpmをダウンロードしてきます。
カテゴリから最新版の記事を見つけるのがいいでしょう。

1
2
$ wget http://path/to/file/netatalk-xxxxx.src.rpm
$ rpm -ivh netatalk-xxxxx.src.rpm

ユーザーがありませんとか言われても無視しましょう。

4. ビルド

1
2
$ cd ~/rpmbuild/SPECS/
$ rpmbuild -bb netatalk.spec

成功すると、~/rpmbuild/RPMS/x86_64配下にrpmが生成されます。

5. インストール

1
2
$ cd ~/rpmbuild/RPMS/x86_64/
# rpm -ivh *.rpm

2つあるrpmを両方インストールします。すでにyumかなんかでnetatalkがインストールされている環境には、

1
# rpm -Uvh *.rpm

を実行してください。
これでインストールは終わりです。

6. 設定

netatalk 2系は、ボリューム設定がAppleVolume.defaultかなんかのファイルに記載してました。
3系では、すべて/etc/afp.confに記述します。

以下、自分の記述内容です。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
[Global]
log level = defalut:warn
log file = /var/log/netatalk.log
uam list = uams_clrtxt.so uams_dhx.so uams_dhx2.so

; [Homes]
; basedir regex = /home

; [My AFP Volume]
; path = /path/to/volume

[Disk]
  path = /mnt/disk

[Time Machine]
  path = /mnt/disk/timeMachine
  time machine = yes
  vol size limit = 512000

自分の環境では、主に/mnt/diskというパスを共有しています。
TimeMachineも上記のように書くことができます。
Globalにあるuam listは、ユーザの権限を指定するものらしいです。詳しくは謎です。勉強したら追記します。

7. 起動

1
2
3
4
# systemctl enable avahi-daemon
# systemctl enable netatalk
# systemctl start avahi-daemon
# systemctl start netatalk

以上でlinuxのフォルダがMacから見えるはずです。お疲れ様でした。

2014/12/03追記

コメントより、上記のuamの設定は現行のOS Xでは必要がないという指摘をいただきました。
uams_clrtxt.soは、古の時代に認証をクリアテキストで行っていた際の設定であり、残りの2つはデフォルトで設定されているそうです。
修正した[Global]は、以下のようになります。

1
2
3
[Global]
log level = defalut:warn
log file = /var/log/netatalk.log

指摘してくださったHATさん、ありがとうございました。