树莓派实现TimeMachin
时间:2022-04-03 09:42
最 近一段时间感觉用移动硬盘备份Mac电脑很不方便,因为要把移动硬盘拿出来,还要插上电脑备份,看了一下AirPort,但是价钱太贵,况且只能用于 Mac备份并不能用于其他的Samba服务等,感觉不太划算,于是打算自己做一个TimeMacheine以及samba服务,TimeMacheine 服务主要用于Mac备份,而samba用于局域网内的电脑上的一些文件存放。
准备工作:
树莓派
移动硬盘
5V电源适配器以及连接线
无线USB网卡或者有线
SD卡(新版本的是TF卡)
操作系统,关于操作系统,你可以到进行下载并通过软件进行写入。
在这里我自己的设备信息为:
树莓派2代
西数移动硬盘2TB自带电源
5V电源适配器以及连接线
有线网络
SD卡16GB金士顿
raspbian操作系统
操作系统设置
查看自己的移动硬盘是否加载,lsblk结果:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 1.8T 0 disk
|-sda1 8:1 0 977.9G 0 part
`-sda2 8:2 0 885.1G 0 part
mmcblk0 179:0 0 14.6G 0 disk
|-mmcblk0p1 179:1 0 56M 0 part /boot
`-mmcblk0p2 179:2 0 3G 0 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 8:0 0 1.8T 0 disk
|-sda1 8:1 0 977.9G 0 part /src/samba (已挂载成功)
`-sda2 8:2 0 885.1G 0 part
mmcblk0 179:0 0 14.6G 0 disk
|-mmcblk0p1 179:1 0 56M 0 part /boot
`-mmcblk0p2 179:2 0 3G 0 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 = 0660
directory mask = 0771
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 8:0 0 1.8T 0 disk
|-sda1 8:1 0 977.9G 0 part /src/samba (已挂载成功)
`-sda2 8:2 0 885.1G 0 part /src/timemacheine (已挂载成功)
mmcblk0 179:0 0 14.6G 0 disk
|-mmcblk0p1 179:1 0 56M 0 part /boot
`-mmcblk0p2 179:2 0 3G 0 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