硬件:r4s刷的openwrt固件 机械硬盘
软件:netatalk avahi
1.1
将硬盘连接到软路由并挂载
1.2
此步骤为建议步骤,将存储磁盘格式化为hfs+可在还原时直接通过usb连接mac(这将极大加快mac从时间机器恢复的速度)。将外置驱动器插入 Mac
#此命令在mac上的终端完成
#查看外置硬盘装载位置
diskutil list
#此命令在mac上的终端完成
#卸载外置存储器
diskutil unmountDisk /dev/disk6
#格式化外置存储器为区分大小写的hfs+格式,名称为timemachine
diskutil eraseDisk hfsx timemachine disk6
在openwrt上安装kmod-fs-hfsplus以支持hfs+格式的读写
#此命令使用ssh连接软路由使用
opkg updata
opkg kmod-fs-hfsplus
2.1
在openwrt上安装netatalk avahi
#此命令使用ssh连接软路由使用
opkg updata
opkg netatalk
opkg avahi-dbus-daemon
2.2
当前的 Netatalk 软件包有一点小小的 posix 权限问题。
#此命令使用ssh连接软路由使用
chmod 644 /etc/afp.conf
chmod 644 /etc/extmap.conf
3.1
netatalk文件配置,文件地址/etc/afp.conf。解释文档请参阅http://netatalk.sourceforge.net/3.0/htmldocs/afp.conf.5.html:
将文件下载至本地并用文本编辑器打开,修改为以下内容,注:
vol size limit为设置可供时间机器备份空间的大小1000为1G
;
; Netatalk 3.x configuration file
;
[Backups]
path = /mnt/sdb1/Backups
time machine = yes
vol size limit = 250000
valid users = @users
完成后将afp.conf上传至/etc目录
3.2
afp.service配置,文件地址/etc/avahi/services/afp.service(此文件需自行编辑创建)
配置模版参照以下:
<?xml version="1.0" standalone='no'?><!--*-nxml-*-->
<!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=TimeCapsule</txt-record>
</service>
<service>
<type>_adisk._tcp</type>
<port>9</port>
<txt-record>sys=waMa=0,adVF=0x100,adVU=00000000-AAAA-BBBB-CCCC-111111111111</txt-record>
<txt-record>dk0=adVN=Backups,adVF=0x81</txt-record>
</service>
</service-group>
注意:
model=TimeCapsule
决定了 macOS Finder 中显示的硬件图标。还有一些可用的选项是:Xserve, PowerBook, PowerMac, Macmini, iMac, MacBook, MacBookPro, MacBookAir, MacPro, MacPro6,1, TimeCapsule, AppleTV1,1 以及 AirPort.
adVU=00000000-AAAA-BBBB-CCCC-111111111111
必须被改为一个唯一生成的 UUID. 在 ssh中,你可以通过输入 cat /proc/sys/kernel/random/uuid
来创建一个 UUID(每次都会生成并显示一个新的 UUID)
adVN=Backups
必须和共享自 /etc/afp.conf
中的 timemachine = YES
的虚拟宗卷名称相匹配。如果你使用我上面的示例配置,将该项设置为 Backups
即可,无需更改。大多数在线教程使用 “TimeMachine”,然而 “Backups” 更经典,因为使用 macOS Server 或 Time Capsule 时,它是默认名称。不过使用什么确实无伤大雅,只要它们匹配就可以了。
4.1
创建用户和组
使用以下命令创建一个名为test(此名称可自行填写)的用户,并使用passwd命令修改密码
#此命令在ssh客户端使用
useradd --create-home --groups users --user-group test
passwd test
4.2
更改备份目录的权限。
#此命令在ssh使用 cd命令请切换至各自存储器实际地址
cd /mnt/sdb1/
mkdir Backups
chmod 775 Backups/
chgrp users Backups/
5.
启动netatalk服务并设置开机启动
#此命令在ssh终端使用
/etc/init.d/afpd strat
/etc/init.d/afpd enable