在FreeBSD上搭建Mac的文件及time machine备份服务
上周将工作用电脑由公司配备的台式机切换到自己低配的macbook air上面,小本本的128G SSD远远不能满足工作的储存需要,但又不舍得入手昂贵的AirPort Time Capsule,于是考虑将空闲下来的pc主机作为Mac的文件及time machine的备份服务器。
服务器的操作系统当然要用我最爱的FreeBSD,她无论在稳定性、性能和易用性方面都要完胜已经是四分五裂的linux。需要在服务器上面安装netatalk及avahi。
netatalk是一个开源的afp文件服务器,可为Mac Os提供文件共享服务。
安装过程采用FreeBSD的ports编译方式。
安装netatalk
cd /usr/ports/net/netatalk/ && make WITHOUT_X11=yes config install clean
文件服务器不需要工作在桌面环境下,所以要特别注意编译的时候排除掉X11.
编辑 /etc/rc.conf 以保证开机的时候能够启动文件服务。
netatalk_enable="YES"
afpd_enable="YES"
cnid_metad_enable="YES"
编辑netatalk的共享配置 /usr/local/etc/AppleVolumes.default
/home/share/apple "Time Machine" allow:kmd options:usedots,upriv,tm cnidscheme:dbd
Time Machine 是备份空间的名称
/home/share/apple 备份空间的路径
kmd 系统用户名
启动netatalk
/usr/local/etc/rc.d/netatalk start
到mac下的finder里按快捷键command+k
afp://[服务器ip]

这个时候应该就可以正常的连接到文件服务器,进行正常的读写操作。但是要特别注意服务器目录的访问权限。
安装avahi
为了让Mac Os在还原模式下(开机时按command+R快捷键)能够搜索到netatalk,文件服务器还需要安装avahi服务,Avahi和苹果的Bonjour同为Zeroconf规范的开源实现。
以 ports 方式安装 avahi,配置里只需要选择 avahi-libdns
cd /usr/ports/net/avahi/ && make WITHOUT_X11=yes config install clean
在 /etc/rc.conf 添加:
avahi_daemon_enable="YES"
启动 avahi-daemon:
/usr/local/etc/rc.d/avahi-daemon start
开始享受time machine吧
首次备份需要很长的时间,由机器性能及网络环境决定的,以后会定期自动进行增量备份。

操作环境说明
FreeBSD9.1
OS X Mountain Lion
Next..
在pc上跑文件服务器还是比较费电的, 以后要尝试下树莓派+FreeBSD的方式,目前树莓派的磁盘IO有瓶颈,可能会有性能问题等。
参考
http://mikuru.tw/wordpress/archives/1980
在FreeBSD上搭建Mac的文件及time machine备份服务的更多相关文章
- 利用WebClient上传参数及文件流到远程ashx服务
原文 利用WebClient上传参数及文件流到远程ashx服务 1 思路: WebClient.UploadFile()方法可以上传文件:UploadData()方法可以上传数据参数:如何合二为一既上 ...
- docker 下mysql 和postgresql 数据库的搭建以及数据文件的迁移和备份
service docker start - docker 启动 service docker stop - docker 关闭 1.docker 镜像创建—使用的默认镜像有数据卷 docker pu ...
- 在MAC服务器上搭建docker-registry(转)
在MAC服务器上搭建docker-registry 2014-03-14 0个评论 来源:在MAC服务器上搭建docker-registry 收藏 我要投稿 本文介绍如何在M ...
- 在MAC上搭建cordova3.4.0的IOS和android开发环境
Hello,大家好,今天给大家说说在mac上搭建cordova3.4.0的iOS和Android开发环境,首先下载cordova,地址:https://cordova.apache.org/#down ...
- Mac上搭建直播服务器Nginx+rtmp
简介 nginx是非常优秀的开源服务器,用它来做hls或者rtmp流媒体服务器是非常不错的选择,本人在网上整理了安装流程,分享给大家并且作备忘. 步骤安装 1.安装Homebrow Homebrew简 ...
- MAC中在eclipse luna上搭建移动平台自己主动化測试框架(UIAutomator/Appium/Robotium/MonkeyRunner)关键点记录
这几天由于原来在用的hp laptop的电池坏掉了,机器一不小心就断电.所以仅仅能花时间在自己的mackbook pro上又一次搭建整套环境.大家都知道搭建好开发环境是个非常琐碎须要耐心的事情,特别是 ...
- MAC中在eclipse luna上搭建移动平台自动化测试框架(UIAutomator/Appium/Robotium/MonkeyRunner)关键点记录
这几天因为原来在用的hp laptop的电池坏掉了,机器一不小心就断电,所以只能花时间在自己的macbook pro上重新搭建整套环境,大家都知道搭建环境是个很琐碎需要耐心的事情,特别是当你搭建的安卓 ...
- mac上搭建appium+IOS自动化测试环境(一)
阅读须知 由于OS X系统最近才开始接触,所以有些东西也不是很清楚,这里只提供方法不提供原理,能解释清楚的我也会尽量解释.可能也有一些地方说的不严谨或有错的,还望大家指点一二. 实验环境 操作系统: ...
- 在Mac上搭建React Native开发环境
概述 前面我们介绍过在window环境下开发React Native项目,今天说说怎么在mac上搭建一个RN的开发环境. 配置mac开发环境 基本环境安装 1.先安装Homebrew:用于安装Node ...
随机推荐
- Linux日志
一.Linux 常見的日志文件 /var/log/cron:你的 crontab 排程有没有实际被进行? 进行过程有没有发生错误?你的 /etc/crontab 是否撰写正确?在这个登录档内查询看看. ...
- ADO.NET数据库
ASP.NET提供了ADO.NET技术,它是ASP.NET应用程序与数据库进行交互的一种技术. ADO.NET技术把对数据库的操作分为几个步骤,并为每个步骤提供对象来封装操作过程,从而使对数据库的操作 ...
- Linux 64位编译\链接32位程序
测试机器:Ubuntu14.04 64位 gcc编译32位程序,添加参数-m32: $ gcc -c -fno-builtin -m32 TinyHelloWorld.c ld链接32位代码,添加参数 ...
- 【SMS】移动短信网关返回信息状态代码说明【China Mobile】
1 由SMSC返回的一般结果状态报告 含义 说明 处理建议DELIVRD 消息发送成功 用户成功接收到短信 ??EXPIRED 因为用户长时间关机或者不在服务区等导致的短消息超时没有递交到用户手机上 ...
- 我都使用了这些VS插件
VS作为一个.net开发的必备工具,当然有必要将其打造成一个利器!所以,安装一些必要的插件来增强它是最佳的选择! 首先不得不说一下,Resharper太有用了! 接下来的这一些插件,对我来说,也都是比 ...
- Silverlight 读取配置文件
1.ExtranetLink.xml <?xml version="1.0" encoding="utf-8" ?> <menus> & ...
- java实现的MySQL自动备份和还原(struts2+Hibernate)---兼容 window+Linux
相信很多朋友都经历过数据库出问题的情况,我也同样(见我的上一篇博文:phpmyadmin误删表后的恢复过程(心惊胆跳啊) ).如果数据很大或者很重要,那么恢复起来是相当困难的,所以我们在做一个相对 ...
- 【转】mysql字符串函数
对于针对字符串位置的操作,第一个位置被标记为1(即:第一个字母索引为1). ASCII(str) 返回字符串str的 最左面字符的ASCII代码值.如果str是空字符串, 返回0.如果str是NULL ...
- VB 进制转换大全
'二进制转十进制 Public Function B2D(vBStr As String) As Long Dim vLen As Integer '串长 Dim vDec As Long '结果 D ...
- U盘启动
2014.4.3修改 其实用U盘制作系统也可以下载一个软碟通UltraISO,就可以很方便的制作. ----以前的版本 用U盘装系统,很方便快捷,下面这个网站介绍的比较详细,于是自己整理了一下,作为收 ...