上周将工作用电脑由公司配备的台式机切换到自己低配的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备份服务的更多相关文章

  1. 利用WebClient上传参数及文件流到远程ashx服务

    原文 利用WebClient上传参数及文件流到远程ashx服务 1 思路: WebClient.UploadFile()方法可以上传文件:UploadData()方法可以上传数据参数:如何合二为一既上 ...

  2. docker 下mysql 和postgresql 数据库的搭建以及数据文件的迁移和备份

    service docker start - docker 启动 service docker stop - docker 关闭 1.docker 镜像创建—使用的默认镜像有数据卷 docker pu ...

  3. 在MAC服务器上搭建docker-registry(转)

    在MAC服务器上搭建docker-registry 2014-03-14      0个评论    来源:在MAC服务器上搭建docker-registry   收藏    我要投稿 本文介绍如何在M ...

  4. 在MAC上搭建cordova3.4.0的IOS和android开发环境

    Hello,大家好,今天给大家说说在mac上搭建cordova3.4.0的iOS和Android开发环境,首先下载cordova,地址:https://cordova.apache.org/#down ...

  5. Mac上搭建直播服务器Nginx+rtmp

    简介 nginx是非常优秀的开源服务器,用它来做hls或者rtmp流媒体服务器是非常不错的选择,本人在网上整理了安装流程,分享给大家并且作备忘. 步骤安装 1.安装Homebrow Homebrew简 ...

  6. MAC中在eclipse luna上搭建移动平台自己主动化測试框架(UIAutomator/Appium/Robotium/MonkeyRunner)关键点记录

    这几天由于原来在用的hp laptop的电池坏掉了,机器一不小心就断电.所以仅仅能花时间在自己的mackbook pro上又一次搭建整套环境.大家都知道搭建好开发环境是个非常琐碎须要耐心的事情,特别是 ...

  7. MAC中在eclipse luna上搭建移动平台自动化测试框架(UIAutomator/Appium/Robotium/MonkeyRunner)关键点记录

    这几天因为原来在用的hp laptop的电池坏掉了,机器一不小心就断电,所以只能花时间在自己的macbook pro上重新搭建整套环境,大家都知道搭建环境是个很琐碎需要耐心的事情,特别是当你搭建的安卓 ...

  8. mac上搭建appium+IOS自动化测试环境(一)

    阅读须知 由于OS X系统最近才开始接触,所以有些东西也不是很清楚,这里只提供方法不提供原理,能解释清楚的我也会尽量解释.可能也有一些地方说的不严谨或有错的,还望大家指点一二. 实验环境 操作系统: ...

  9. 在Mac上搭建React Native开发环境

    概述 前面我们介绍过在window环境下开发React Native项目,今天说说怎么在mac上搭建一个RN的开发环境. 配置mac开发环境 基本环境安装 1.先安装Homebrew:用于安装Node ...

随机推荐

  1. 001Linux命令

    1.删除非空目录的命令:rm -rf [目录名],r表示迭代,f表示强制: 删除空目录:rmdir [目录名]: 删除文件:rm [文件名]: 2.用户管里类命令: (1)添加用户:useradd [ ...

  2. 使用SE16N_INTERFACE

    调用函数直接修改table数据             在PRD上通常没有权限 但是可以激活sap内置的修改模式     SE16N 修改表数据.增加.删除行项目: 1. Execute tcode ...

  3. ASP.NET验证控件一

    为了更好地创建交互式Web应用程序.加强应用程序安全性,程序开发人员应该对用户输入的内容进行验证. ASP.NET提供了一系列输入验证控件,使用这些控件用户可以很方便地实现输入验证. ASP.NET还 ...

  4. 对象之间的引用传递 之 .NET中的深拷贝和浅拷贝

    1.场景 首先,场景是这样的. 有一个Person类,类中有一个类型是Car的属性.用于表述,人开的车. Car类中有一些描述诸如汽车拼盘之类的属性.基本场景就是这样.   2.浅拷贝 Person ...

  5. JavaScript高级 引用类型(一)《JavaScript高级程序设计(第三版)》

    引用类型是一种数据结构.它也被称作类.有时也被称作 对象的定义. 对象 是某个特定引用类型的实例.   一.Object类型 表达式上下文(expression context):指能够返回一个值 语 ...

  6. SQLServer附加数据库5120错误

    装有MSSQL的电脑 需要附加的数据库文件(*.mdf)及其日志文件(*.ldf) 1. 打开SQL Server Management Studio,并连接上数据库.右键"数据库" ...

  7. JS匿名函数自执行函数

    JS匿名函数自执行函数:(function(){})();(function(){}) 这是一个函数,函数后面接(),则是调用函数 比如(function(arg){console.log(arg); ...

  8. Delete PeopleSoft Query From the Database

    There could be different reasons why a PeopleSoft developer would like to delete a query from the da ...

  9. MongoDB 创建数据库

    语法 MongoDB 创建数据库的语法格式如下: use DATABASE_NAME 如果数据库不存在,则创建数据库,否则切换到指定数据库. 实例 以下实例我们创建了数据库 runoob: > ...

  10. Python之定向爬虫Scrapy

    1.Scrapy介绍 Scrapy,Python开发的一个快速,高层次的屏幕抓取和web抓取框架,用于抓取web站点并从页面中提取结构化的数据.Scrapy用途广泛,可以用于数据挖掘.监测和自动化测试 ...