自建基于 Linux 的 Time Capsule 服务

更改历史 2011-02-14 更改 netatalk 部分配置参数 2011-02-10 初始化版本 前言

Apple 的 Time Machine 提供了非常完备的数据备份方案,但每次使用外接磁盘备份很 麻烦也很容易忘记备份。同时,个人对于 Time Capsule 「高昂的」售价(虽然它的确值那些钱)颇有微词。

其实,大部分管理员已经有数台 Linux 服务器,所以考虑能否安装类似 Time Capsule 的服务让 Linux 为 Mac 提供网络备份。

如果您和我一样有类似的需求,那么这篇文章可能就是你想要的 :^D

安装软件包

本人使用的 Linux 发行版为 Debian ,其他发行版的也应该类似。

首先,安装需要的软件包:

% sudo apt-get install netatalk % sudo apt-get install avahi # 通常这个包已经安装了的 % sudo apt-get install nss-mdns

注意:如果需要自己编译安装 netatalk 包,则需要加入 ssl 支持,具体看编译脚本参数。

配置

上面的软件包正常安装完毕以后,接下来就是配置了。

服务器端

1、编辑 /etc/default/netatalk 文件,找到对应的内容,更改为

ATALKD_RUN=yes PAPD_RUN=no CNID_METAD_RUN=yes AFPD_RUN=yes TIMELORD_RUN=no A2BOOT_RUN=no

2、编辑文件 /etc/netatalk/afpd.conf 在最底部加入行:

- -tcp -noddp -uamlist uams_dhx.so,uams_dhx2.so -nosavepassword

3、编辑文件 /etc/nsswitch.conf 在最底部加入行:

hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4 mdns

4、新增文件 /etc/avahi/services/afpd.service,内容为:

<?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>

这个时候 netatalk 协议已经配置完毕,我们要共享出个目录让 Mac 映射为磁盘。编辑文 件 /etc/netatalk/AppleVolumes.default 加入下面的行:

~/TimeMachine "TimeMachine" allow:mingcheng cnidscheme:cdb options:usedots,upriv,tm

简单得说明下:

其中的 mingcheng 为用户名,它指定了哪些用户应用该规则。如果有多个用户,则使用「,」逗号分割。 ~/TimeMachine 为用户主目录下的 TimeMachine 目录,也就是我们要保存备份数据的目录。 "TimeMachine" 为映射磁盘的名称,便于辨别起见,通常不用更改。 较关键的地方是 「options:tm」,这个选项其实就是让 netatalk 充当 Time Machine 服务器的意思( via )。 更多的配置参见配置文件中的说明,很详细。

Tips:由于备份数据比较大,可以考虑 mount --bind 映射到 Linux 本地的其他合适的分区或目录( 详细 )。

至此,基本的 Linux 服务器端配置完毕,重启服务(重启需要花点时间)

% service netatalk restart % service avahi-daemon restart

upload/2012_06/120622202198171.png

upload/2012_06/120622202198172.png

重启服务以后,在 Mac 端连接 Linux 服务器,输入对应的用户名和密码以后,即可挂载已经配置好的磁盘。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/08adafe5bbc7ce68703ccdf89536fffd.html