坊间传言
备份不做,十恶不赦
定期插移动硬盘跑 Time Machine 做备份太麻烦,官方 Time Capsule 又有点贵,用 Pi 搞个替代品是坠吼的哇。
准备好
- 一个正常运行的 Pi
- 用于备份的移动硬盘
- 带外接电源的 USB 集线器,Pi 自带的 USB 口可能电压不够带不动外接硬盘
处理硬盘
先确认一下 Pi 是否识别了外接硬盘。
$ sudo fdisk -l |
格式化分区,我这里要格式化/dev/sda2
。
$ sudo mkfs.ext4 /dev/sda2 |
新建硬盘挂载点。
$ sudo mkdir /mnt/TimeCapsule |
为了让 Pi 开机后能自动挂载外接硬盘,在/etc/fstab
文件尾添加:
/dev/sda2 /mnt/TimeCapsule ext4 rw,defaults 0 0 |
重启 Pi 之后,确认一下硬盘能成功挂载上。
pi@raspberrypi:~ $ df -h |
修改硬盘挂载点的 owner。
sudo chown -R pi:pi /mnt/TimeCapsule |
安装配置 netatalk
Netatalk is a freely-available Open Source AFP fileserver. A NIX/BSD system running Netatalk is capable of serving many Macintosh clients simultaneously as an AppleShare file server (AFP).
$ sudo apt-get install netatalk |
在文件/etc/netatalk/AppleVolumes.default
尾添加:
/mnt/TimeCapsule "Time Capsule" options:tm |
AppleVolumes.default
文件的每一行,代表一个共享文件夹,默认的,当前用户的家目录会被共享出来,名字为Home Directory
。
# By default all users have access to their home directories. |
重启 netatalk 服务。
$ sudo service netatalk restart |
确认
这时候,在 Time Machine 的设置里,应该能看到 Pi 上挂的盘了。
选择硬盘,输入用户名、密码验证身份,完成配置。
注意,这里输入的用户名,应该和之前 chown 的相同(我是用户 pi),否则可能有读写权限的问题。
打开 Finder,也能看到 Pi 共享出来的两个文件夹。
踩到的一些坑
可能是网上搜到的文章都比较老了,最开始,我参考这篇文章、这篇文章、这篇文章和这篇文章做了一遍配置,报了下面的错误。
不知道是什么情况。好在最后换了个套路搞定,所以我感觉
- 硬盘不一定非要是
hfs+
格式 - 不用配置 Avahi