NetatalkでTimeMachine(CentOS 7版)

NetatalkでTimeMachineを。超メモ。CentOS 6.5版はこちら

サーバ:
 CentOS 7.6.1810(最小インストール) / Netatalk 3.1.12(2018/12)
 Netatalkはソースからビルド。-> http://netatalk.sourceforge.net
 firewalld, selinuxは無効にしています...

【事前に】
・ファイルシステムがext4の場合は、共有するマウントポイントに属性を追加(user_xattr)する。(/etc/fstab)

  ext4:
    UUID=...      /ext         ext4    defaults,user_xattr,usrquota,noatime        0 0

  xfs:
    UUID=...      /ext         xfs      defaults,usrquota,noatime                         0 0

・(入っていない場合)コンパイラ環境を入れておく
  # yum install gcc

・(入っていない場合)必要なパッケージを入れておく
  # yum install avahi-devel quota-devel libacl-devel libgcrypt-devel libdb-devel

自分の環境ではこれで良かったけども…もしかしたら不足あるかもしれません。

【ビルド】
・ソースを入手して...
  # cd /tmp
  # wget http://sourceforge.net/projects/netatalk/files/netatalk/3.1.12/netatalk-3.1.12.tar.gz

・ソースを展開して…
  # tar xvfz netatalk-3.1.12.tar.gz

・configureして...
  # cd /tmp/netatalk-3.1.12
  # ./configure --with-init-style=redhat-systemd    ←systemdに組み込む

最後に表示されるサマリはこんな感じです。:

Compilation summary:
    CPPFLAGS       = -I$(top_srcdir)/include -I$(top_builddir)/include -I$(top_srcdir)
    CFLAGS         = -D_U_="__attribute__((unused))" -g -O2
    LIBS           =
    PTHREADS:
        LIBS   =
        CFLAGS = -pthread
    LIBGCRYPT:
        LIBS   = -lgcrypt -ldl -lgpg-error
        CFLAGS =
    BDB:
        LIBS   =  -L/usr/lib64 -ldb-5.3
        CFLAGS =
    ZEROCONF:
        LIBS   =  -lavahi-common -lavahi-client
        CFLAGS =  -D_REENTRANT
    LIBEVENT:
        bundled
    TDB:
        bundled
Configure summary:
    INIT STYLE:
         redhat-systemd
    AFP:
         Extended Attributes: ad | sys
         ACL support: yes
         Spotlight: no
    CNID:
         backends:  dbd last tdb
    UAMS:
         DHX2    ( SHADOW)
         clrtxt  ( SHADOW)
         guest
    Options:
         Zeroconf support:        yes
         tcp wrapper support:     no
         quota support:           yes
         valid shell check:       yes
         cracklib support:        no
         ACL support:             auto
         Kerberos support:        auto
         LDAP support:            no
         AFP stats via dbus:      no
         dtrace probes:           yes
    Paths:
         Netatalk lockfile:       /var/lock/netatalk
         init directory:          /usr/lib/systemd/system
    Documentation:

         Docbook:                 no

・Make&インストール...
  # make
  # make install

【設定ファイルの修正(/usr/local/etc/afp.conf)】
;
; Netatalk 3.x configuration file
;

[Global]
; Global server settings
  vol preset = default_for_all_volumes
  log file = /var/log/netatalk.log

[default_for_all_volumes]
    file perm = 0600
    directory perm = 0700

; [Homes]
; basedir regex = /xxxx

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

[My TimeMachine]
  path=/ext/shareafp  ←TimeMachine用の領域パス
  time machine=yes  ←TimeMachineですよ

  vol size limit=524288  ←サイズ制限(512GB)

【バージョン確認】
# afpd -v
afpd 3.1.12 - 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 3.4
         CNID backends: dbd last tdb

              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/lib/netatalk//

  Server messages path: /usr/local/var/netatalk/msg/

【systemdの設定と起動】
# systemctl enable natatalk
# systemctl enable avahi-daemon

# systemctl start netatalk
# systemctl start avahi-daemon

-----
更新履歴:
2019/01/14: CentOS 7.6.1810/Netatalk 3.1.12で確認しました。
2017/03/18: CentOS 7.3.1611/Netatalk 3.1.11で確認しました。
2016/09/17: CentOS 7.2.1511/Netatalk 3.1.10で確認しました。
2016/08/14: CentOS 7.2.1511/Netatalk 3.1.9で確認しました。ただし、パッチ適用が必要です。(こちらにメモしました)
2015/03/07: ファイルシステムがxfsの場合の例を追加しました。
2014/12/08: Netatalk 3.1.7で確認しました。
2014/08/29: Netatalk 3.1.6で確認しました。
2014/08/24: CentOS 7.0/Netatalk 3.1.5環境で確認しました。

コメント