如何在 CentOS 上搭建类似 Time Capsule服务并配置 MacOS X的 TimeMachine备份

Mac OS X 上可以通过 TimeMachine 将我们的数据备份那个到 Time Capsule服务的,
使用增量备份方式,也就是第一次备份速度慢,之后的速度就快了,但是这需要我们有一个
Time Capsule设备,也就是带有无线网络和硬盘的移动设备,价格也不便宜。但是我空余
的旧电脑,安装了 CentOS,于是就探索了一下将它模拟成为一个类似Time Capsule的设备。
要达到以上目的,就需要我们的 CentOS 支持 AppleTalk 通信协议,并要是 Mac OS 能
发现我们的 CentOS,这就需要 Bonjour 的功能,幸亏我们都能找到相关的成熟的软件支持。

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

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

安装需要的软件:

yum install -y netatalk avahi nss-mdns

服务器端:

cat >> /etc/default/netatalk <<EOF
ATALKD_RUN=yes
PAPD_RUN=no
CNID_METAD_RUN=yes
AFPD_RUN=yes
TIMELORD_RUN=no
A2BOOT_RUN=no
EOF

cat >> /etc/avahi/services/afpd.service << EOF
<?xml version="1.0" standalone='no'?>
<!DOCTYPE service-group SYSTEM "avahi-service.dtd">
<service-group>
<name replace-wildcards="yes">%h</name>
<service>
<type>_afpovertcp._tcp</type>
<port>548</port>
</service>
<service>
<type>_device-info._tcp</type>
<port>0</port>
<txt-record>model=Xserve</txt-record>
</service>
</service-group>
EOF

echo '- -tcp -noddp -uamlist uams_dhx.so,uams_dhx2.so -nosavepassword' >> /etc/netatalk/afpd.conf

echo 'hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4 mdns' >> /etc/nsswitch.conf

共享出我们的备份目录,比如我的用户是 zpz, 目录是 /home/zpz/TimeMachine
修改配置文件 /etc/netatalk/AppleVolumes.default,格式为
相对于主目录的目录名 共享名称 allow:允许的用户 options:选项

echo '~/TimeMachine "TimeMachine" allow:zpz cnidscheme:cdb options:usedots,upriv,tm' >>\
/etc/netatalk/AppleVolumes.default

echo 'dbus-daemon --system'>>/etc/rc.local

解决:dbus_bus_get_private(): Failed to connect to socket /var/run/dbus/system_bus_socket: No such file or directory

启动服务

dbus-daemon --system
service netatalk restart
service avahi-daemon restart

chkconfig netatalk on
chkconfig avahi-daemon on

Mac OS X 上的设置
终端执行

defaults write com.apple.systempreferences TMShowUnsupportedNetworkVolumes 1

连接到 CentOS 服务器
打开 “Finder” -> “前往” -> “连接服务器”

connect

select-share

select-devic

where-to

Post a Comment

Your email is never shared. Required fields are marked *

*
*