Linux安装:TimeMachine服务

在centOS上安装TimeMachine服务需要安装:Netatalk 和 Avahi。

Netatalk 是一个免费开源的 AppleTalk 通信协议的实现,Linux 或者 BSD 系统通过它可以充当 Mac 的文件服务器 (AppleShare File Server, 网络协议是 AFP)、AppleTalk 路由、打印服务器等。

Avahi 是 Apple’s Zeroconf 协议的开源实现,实现类似 Bonjour 的功能,它可以让你在 Mac 系统里自动发现你的 Linux 计算机。

 

1、安装Avahi

安装

yum install -y avahi

启动服务并设置开机启动

systemctl enable avahi-daemon
systemctl start avahi-daemon

开放防火墙

firewall-cmd --zone=public --add-port=5353/udp

 

2、安装Netatalk

安装基础依赖

yum install -y libdb-devel libacl-devel dbus-glib-devel libgcrypt-devel gcc-c++ bzip2

下载源码,可以下载更新的版本

https://netatalk.sourceforge.io/

比如下载3.1.11版本

wget https://nchc.dl.sourceforge.net/project/netatalk/netatalk/3.1.11/netatalk-3.1.11.tar.bz2

解压

tar -xvf netatalk-3.1.11.tar.bz2 && cd netatalk-3.1.11/

配置编译环境

./configure --with-init-style=redhat-systemd --with-acls --with-pam-confdir=/etc/pam.d --with-afpstats --with-dbus-sysconf-dir=/etc/dbus-1/system.d

如果报错,没有pkg-config

1.官网下载自己想要的版本,我这里下载的是目前最新版
https://www.freedesktop.org/wiki/Software/pkg-config/

2.安装
tar xf XXX.tgz
cd XXX
./configure --with-internal-glib #需要加此选项,否则会报如下错:
make
make check
make install

编译安装

make && make install

添加afp用户,Mac的时间机器连接服务器的时候需要账户密码。

useradd mac
passwd mac

创建Time Machine备份目录,这个目录mac用户必须有读写权限

mkdir -p /opt/timemachine/mac
chown mac:mac /opt/timemachine/mac

修改apf的配置文件

vi /usr/local/etc/afp.conf

[Global]

[mac Time Machine Volume]
    valid users = mac
    path = /opt/timemachine/mac
    time machine = yes
    vol size limit = 512000
    #单位是MB,即:512G

启动服务并设置开机启动

systemctl enable netatalk
systemctl start netatalk

开放防火墙

firewall-cmd --zone=public --add-port=548/tcp

 

3、连接

 

然后在弹出的对话框中输入afp://server_ip:

确认连接之后输入前面创建的mac用户的用户名和密码即可。

打开时间机器(在系统偏好设置中):

选择备份磁盘:

点击选择备份磁盘,在弹出的对话框中选择刚刚连接的那个服务器对应的磁盘:

完成上述步骤之后,只需要输入之前创建的用户的账号密码,Mac会开始准备自动备份。

测试:在finder里 “前往” -> “服务器” 输入 afp://192.168.1.x