树莓派实现TimeMachine以及samba服务

时间:2023-01-21 00:00:02

最近一段时间感觉用移动硬盘备份Mac电脑很不方便,因为要把移动硬盘拿出来,还要插上电脑备份,看了一下AirPort,但是价钱太贵,况且只能用于Mac备份并不能用于其他的Samba服务等,感觉不太划算,于是打算自己做一个TimeMacheine以及samba服务,TimeMacheine服务主要用于Mac备份,而samba用于局域网内的电脑上的一些文件存放。

准备工作:

1、树莓派
2、移动硬盘
3、5V电源适配器以及连接线
4、无线USB网卡或者有线
5、SD卡(新版本的是TF卡)
6、操作系统,关于操作系统,你可以到raspberry官方网站进行下载并通过win32diskimager软件进行写入。

在这里我自己的设备信息为:

1、树莓派2代
2、西数移动硬盘2TB自带电源
3、5V电源适配器以及连接线
4、有线网络
5、SD卡16GB金士顿
6、raspbian操作系统

查看自己的移动硬盘是否加载,lsblk结果:

 NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda :  .8T  disk |-sda1 :  .9G  part `-sda2 :  .1G  part mmcblk0 :  .6G  disk |-mmcblk0p1 :  56M  part /boot `-mmcblk0p2 :  3G  part /

在这里我是把我的硬盘分为两个分区,/dev/sda1 为ntfs格式、/dev/sda2 为 hfs格式,如果你需要进行分区可以通过fdisk以及cfdisk进行分区。

格式化分区:

 mkfs.ntfs -v “samba” /dev/sda1 && mkfs.hfsplus -v “timemacheine” /dev/sda2

准备timemacheine以及samba的挂载目录:

 mkdir /srv/samba mkdir /srv/timemacheine

samba搭建

安装ntfs-3g,让raspberry支持ntfs格式

 apt-get install ntfs-3g

挂载分区到指定目录

 mount -t ntfs /dev/sda1 /srv/samba

查看是否成功挂载,lsblk结果:

 NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda :  .8T  disk |-sda1 :  .9G  part /src/samba (已挂载成功) `-sda2 :  .1G  part mmcblk0 :  .6G  disk |-mmcblk0p1 :  56M  part /boot `-mmcblk0p2 :  3G  part /

安装samba

 apt-get install samba samba-common-bin

修改samba配置文件

 vi /etc/samba/smb.conf

添加共享配置信息

 [BackupFolder] (共享名字) comment = Backup Folder path = /srv/samba (路径) valid users = @users force group = users create mask =  directory mask =  read only = no

添加samba用户

 useradd backuser -m -G userspasswd backuser smbpasswd -a backuser

重启服务

 /etc/init.d/samba restart

timemachine搭建

安装必要的软件:

 apt-get install hfsplus hfsutils hfsprogs

挂载目录:

 mount -t hfsplus /dev/sda2 /src/timemacheine

修改目录的所属组、所有者:

 chown -R pi:pi /srv/timemacheine

查看是否成功挂载,lsblk结果:

 NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda :  .8T  disk |-sda1 :  .9G  part /src/samba (已挂载成功) `-sda2 :  .1G  part /src/timemacheine (已挂载成功) mmcblk0 :  .6G  disk |-mmcblk0p1 :  56M  part /boot `-mmcblk0p2 :  3G  part /

安装Netatalk

Netatalk 是一个开源的 AppleTalk 通信协议的实现,Linux 系统通过它可以充当 Mac 的文件服务器 、AppleTalk 路由、打印服务器等。 安装:

 apt-get install netatalk

把最先设置的目录添加到配置文件:

 echo “/srv/timemacheine \”TimeMacheine\” options:tm” >> /etc/netatalk/AppleVolumes.default

或者

 vi /etc/netatalk/AppleVolumes.default

然后把/srv/timemacheine “TimeMacheine” options:tm 添加到最后 这里可以把samba服务器也设置进来,这样就可以统一访问

 vi /etc/netatalk/AppleVolumes.default

然后把/srv/samba “samba” options:tm 添加到最后

安装avahi-daemon和libnss-mdns

添加Avahi工具让Mac电脑可以在Finder工具栏的共享里发现磁盘

 apt-get install avahi-daemon libnss-mdns

配置nsswitch.conf文件,在原有的hosts行后面添加 mdns

 hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4 mdns

让Avahi在局域网广播AFP共享:

 vi /etc/avahi/services/afpd.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=Xserve</txt-record>
 </service>
 </service-group>

重启avahi服务

 /etc/init.d/avahi-daemon restart