MAC和树莓派如何实现文件共享和TM备份
这篇文章给大家分享的是有关MAC和树莓派如何实现文件共享和TM备份的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。
使用 netatalk 让 Linux 与 Mac OS X 共享文件
为 Mac 搭建 Time Machine 备份服务器
Mac OS X 系统自带了一款简单易用的备份软件 Time Machine,它能够每小时进行增量备份(即只备份有更改的文档),所以如果你使用 MacBook Pro/Air 笔记本而且需要处理的文档比较多,那么使用 Time Machine 通过无线网络备份是一种不错的选择。可惜使用 Time Machine 需要一个外接硬盘或者购买一台 Apple Time Capsule 设备,而下面的方法是通过安装 netatalk 软件,让一台普通 Linux 树莓派能与Mac OS X共享文件并且还能充当 Time Machine 的备份服务器。
1、树莓派安装 netatalk
netatalk 是一个免费开源的 AppleTalk 通信协议的实现,Linux 或者 BSD 系统通过它可以充当 Mac 的文件服务器 (AppleShare File Server, 网络协议是 AFP)、AppleTalk 路由、打印服务器等。
# 使用如下命令安装 netatalk
sudo apt-get install netatalk
pi@raspberrypi ~ $ sudo apt-get install netatalkReading package lists... DoneBuilding dependency tree Reading state information... DoneThe following extra packages will be installed: avahi-daemon bind9-host cracklib-runtime db-util db5.1-util libavahi-core7 libbind9-80 libcrack2 libdns88 libisc84 libisccc80 libisccfg82 liblwres80 libnss-mdns libpam-cracklib lsof rc wamericanSuggested packages: avahi-autoipd texlive-base-bin groff quota db4.2-utilThe following NEW packages will be installed: avahi-daemon bind9-host cracklib-runtime db-util db5.1-util libavahi-core7 libbind9-80 libcrack2 libdns88 libisc84 libisccc80 libisccfg82 liblwres80 libnss-mdns libpam-cracklib lsof netatalk rc wamerican0 upgraded, 19 newly installed, 0 to remove and 1 not upgraded.Need to get 4,056 kB of archives.After this operation, 9,783 kB of additional disk space will be used.Do you want to continue [Y/n]? Y
2、设置共享文件夹
编辑文件
sudo nano /etc/netatalk/AppleVolumes.default
这里的每一行即代表一个共享文件夹,默认会把当前用户的 $HOME 文件夹共享出来,如果不希望这样的话则找到"~"一行并把它注释掉,加入如下的一行:
/home/pi/nas "CohoStudio_NAS"
这表示将 /home/pi/nas 文件夹共享出来,共享名为"CohoStudio_NAS"。
3、设置 Time Machine 备份文件夹
跟上一步类似,只要在共享设置后面增加参数 "options:tm" 就可以了,比如(在nas文件夹下面创建time_capsule):
/home/pi/nas/time_capsule "Time_Capsule" options:tm
4、安装及配置 Avahi
Avahi 是 Apple's Zeroconf 协议的开源实现,实现类似 Bonjour 的功能,它可以让你在 Mac 系统里自动发现你的 Linux 计算机。
sudo apt-get install avahi-daemon(可选,用于支持网内的计算机自动发现)
创建文件
sudo nano /etc/avahi/services/afpd.service
写入如下内容(Port:548):(Archlinux 已经存在此文件,不需要创建)
%h _afpovertcp._tcp 548 _device-info._tcp 0 model=Xserve
5、启动 netatalk 和 avahi
$ sudo service netatalk restart$ sudo service avahi-daemon restart
默认2345都是on的,所以下面两个命令就没有必要了。
pi@cohostudio ~ $ sudo chkconfig --add netatalkinsserv: warning: script 'K01aria2' missing LSB tags and overridesinsserv: warning: script 'aria2' missing LSB tags and overridesinsserv: warning: script 'mathkernel' missing LSB tags and overridesnetatalk 0:off 1:off 2:on 3:on 4:on 5:on 6:offpi@cohostudio ~ $ sudo chkconfig --add avahi-daemoninsserv: warning: script 'K01aria2' missing LSB tags and overridesinsserv: warning: script 'aria2' missing LSB tags and overridesinsserv: warning: script 'mathkernel' missing LSB tags and overridesavahi-daemon 0:off 1:off 2:on 3:on 4:on 5:on 6:offpi@raspberrypi ~/nas $ sudo service netatalk restartRestarting Netatalk Daemons (this will take a while)Stopping Netatalk Daemons: afpd cnid_metad papd timelord atalkd...Starting Netatalk services (this will take a while): cnid_metad afpd.done.pi@raspberrypi ~/nas $ sudo service avahi-daemon restart[ ok ] Restarting Avahi mDNS/DNS-SD Daemon: avahi-daemon.
MAC连接LINUX上面的AFP服务
输入linux系统的用户名pi和密码即可登陆。
6、Mac OSX 系统上的设置
右击 "Finder" -> "连接服务器…" -> "服务器地址",使用 Linux 系统中的帐号和密码登录进入之后应该会看到 "CohoStudio_NAS" 和 "Time_Capsule" 文件夹。
afp://xxxx.jios.org # AFS服务器地址
然后在 Mac 打开一个终端(位于 "应用程序" -> "实用工具" -> "终端"),执行这个命令让 Time Machine 能够使用网络磁盘作为备份目标位置:
defaults write com.apple.systempreferences TMShowUnsupportedNetworkVolumes 1
打开 "系统偏好设置" -> "Time Machine" -> "开" -> "选择磁盘" 然后选择 "Time Machine" 文件夹。
现在所有设置都完成了,测试一下吧。
7、将MAC系统备份到树莓派上面
点击菜单栏上的 Time Machine 图标,再点击 "立即备份",没有问题的话应该开始备份文件了(一般来说可以只备份用户文件,即可以把系统文件都排除掉),首次备份需要很长时间,所以最好接上交流电并且设置节能器永不进入睡眠。
感谢各位的阅读!关于"MAC和树莓派如何实现文件共享和TM备份"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!