树莓派进阶(二):使用树莓派打造廉价版 Time Capsule

树莓派进阶(二):使用树莓派打造廉价版 Time Capsule_第1张图片

如果你可以自己用一个树莓派和外部驱动器去制作,为什么还要花300美元去买一个Time Capsule? 虽然需要花一些时间去设置,但一旦所有设置完成,你的Mac将自动备份,不再需要任何改动,也不再需要将外部驱动器插入Mac中。

更好的消息是:当你需要恢复文件的时候,你可以从树莓派拔下外部驱动器,并直接插入到你的Mac,再从Time Machine中恢复数据。

你需要什么

使用Time Machine备份Mac ,甚至通过网络执行Time Machine备份都需要需要另一台Mac作为服务器。 所以,如果你只有一台Mac,你可能认为你唯一的选择是插入一个外部驱动器或购买一个$300的Time Capsule。

其实不是这样的。使用树莓派连接外部驱动器可以替代Time Capsule或者另一台Mac,并且这样的组合更加便宜。

本教程假设你已经知道如何设置树莓派的基础知识。 另外还需要一些设备:

  • 树莓派。 推荐使用树莓派 3B。
  • SD卡。用于给树莓派安装操作系统。 推荐使用Class10,存储空间8G以上的的TF卡,这样可以提升系统的运行速度。
  • Pi的电源。 树莓派的电源端口是microUSB,建议为Pi选择一个可靠的电源,电压在2.5V以上。
  • Pi的有线网络连接。可以使用Wi-Fi,但这需要更多的设置并且有线将更适合那些大型的网络备份。
  • 外部驱动器 。通过USB连接到树莓派。 建议使用具有自己专用电源的外部驱动器,除非你有一个已经过测试与树莓派配合正常使用的硬盘。
    你可以选择一个树莓派入门套件来得到这些东西,当然你可以单独购买。

最后一点注意:这个组合目前工作得很好,但它毕竟只是一个替代方案。 为此,我建议做一些其他的备份,最好是异地备份。 (其实无论如何都应该有一个异地备份 ,以防火灾或其他自然灾害的发生。)

第一步:为Time Machine准备外部驱动器

你需要做的第一件事是准备外部驱动器以使用Time Machine。 将硬盘插入你的Mac,然后启动“磁盘工具“ 。 选择你的外部驱动器,将硬盘格式化为“Mac OS 扩展(日志式)”,也称为HFS +。

树莓派进阶(二):使用树莓派打造廉价版 Time Capsule_第2张图片

接下来,要确保你的树莓派和每个设备都有权限控制硬盘。 转到Finder,然后右键单击侧栏中的硬盘。 点击“显示简介”。

树莓派进阶(二):使用树莓派打造廉价版 Time Capsule_第3张图片

在打开的窗口底部,你将找到权限设置。

树莓派进阶(二):使用树莓派打造廉价版 Time Capsule_第4张图片

点击右下角的锁,然后输入你的密码。 接下来,选中“忽略此宗卷上的所有权”。这样,你就可以将外部驱动器连接到树莓派。

第二步:在你的树莓派上安装Raspbian并通过SSH连接到它

接下来,你需要使用Raspbian设置树莓派,如本文所述 。 我们不会在这里详细说明这个过程,因为这本身又是一项工程,所以去看看那个文章,来通过Raspbian设置你的树莓派。 我使用Raspbian Core来进行设置,因为我没有连接到显示器,但即使这样GUI版本的Raspbian也是能工作的。

说到这里,你有两个选择。你可以将你的树莓派连接到一个键盘和显示器,来进行设置,或者你可以通过Mac运行SSH来连接到你的树莓派。我认为通过SSH的方法比找到一个显示器要容易得多。这里将展示这是如何做到的。

树莓派进阶(二):使用树莓派打造廉价版 Time Capsule_第5张图片

在Mac上启动终端,然后输入以下命令:

ssh [email protected]

用你的树莓派的IP地址替换192.168.1.11。你可以通过到路由器的Web管理界面找到连接到你的网络(包括你的树莓派)的任何设备的IP地址 。

然后,系统会要求你输入用户 pi 的密码。默认情况下,pi的密码为raspberry

如果你是第一次连接到系统,我建议你在继续之前先配置一些内容。首先,运行sudo raspi-config并更改默认密码。如果你有一个存储空间较大的SD卡,你也可以在这里扩展你的默认文件系统(在这里这不是必需的),然后你的树莓派将重新启动以继续下一步。

第三步:安装外部驱动器

在设置你的Time Machine之前,你需要先安装外部驱动器,以便你的树莓派可以读取和写入。

首先,确保树莓派上的所有软件都是最新的。依次运行这两个命令:

sudo apt-get update

sudo apt-get upgrade

接下来,安装两个软件包:hfsprogs和hfsplus。这将让你的树莓派能够读取Mac格式化的驱动器。

sudo apt-get install hfsprogs hfsplus

树莓派进阶(二):使用树莓派打造廉价版 Time Capsule_第6张图片

你现在有能够安装驱动器的软件了,但需要知道安装哪个驱动器,因此需要进行一些研究。从启动Parted开始。

sudo /sbin/parted

接下来,键入print以查看当前连接的驱动器的列表。你应该在这里看到你的外部驱动器。

树莓派进阶(二):使用树莓派打造廉价版 Time Capsule_第7张图片

从这个屏幕截图我们可以看到,我的驱动器是一个164GB的Maxtor驱动器,重要的信息是驱动器的位置/dev/sda。你的驱动器应该有一个类似的名字,你应该记下来。

接下来,看看下面的文本块。在这里,很明显我要找的是第二个更大的分区。因此,我想要挂载的分区是sda2。如果你有多个驱动器或多个分区,则可能需要稍微不同。

现在你已经拥有所需的信息,输入quit,然后按Enter键。

接下来,我们将创建一个文件夹作为我们的挂载点。

sudo mkdir -p /media/tm

然后向fstab文件添加一些信息。

使用此命令打开文本编辑器:

sudo nano /etc/fstab

将以下行粘贴到文档中。如果你的驱动器位置不是/dev/sda2,将/dev/sda2替换为你的驱动器的分区。

/dev/sda2 /media/tm hfsplus force,rw,user,auto 0 0

树莓派进阶(二):使用树莓派打造廉价版 Time Capsule_第8张图片

粘贴文本后,按Control + O 保存编辑,接着按 Enter 键确认,然后按Control + X 退出编辑器。

然后,安装驱动器:

sudo mount -a

如果你没有看到有错误消息,恭喜你!你已经成功装载驱动器。

第三步:编译和安装Netatalk

Netatalk是一个模拟AFP的软件,苹果目前用于的Time Machine备份的网络协议。你可以使用sudo apt-get install netatalk安装一个古老版本的Netatalk,但我强烈建议你不要这样做。因为某些复杂的原因,Raspbian建立的Debian在其存储库中提供了一个非常过时的Netatalk版本。你可以使用这个过时的Netatalk版本使Time Machine工作,但以我的经验,它是十分难用的。

所以,我建议你编译最新的版本。这样稍有些麻烦,但这是值得的。

首先,你需要安装依赖项。在这一条命令中包含你需要安装的所有依赖:

sudo aptitude install build-essential libevent-dev libssl-dev libgcrypt11-dev libkrb5-dev libpam0g-dev libwrap0-dev libdb-dev libtdb-dev libmysqlclient-dev avahi-daemon libavahi-client-dev libacl1-dev libldap2-dev libcrack2-dev systemtap-sdt-dev libdbus-1-dev libdbus-glib-1-dev libglib2.0-dev libio-socket-inet6-perl tracker libtracker-sparql-1.0-dev libtracker-miner-1.0-dev

这可能需要一段时间才能安装。接下来,下载最新版本的Netatalk。在写这篇文章时,这是3.1.11,你可以检查netatalk的主页获得最新的版本号。然后,运行此命令下载它:

wget http://prdownloads.sourceforge.net/netatalk/netatalk-3.1.11.tar.gz

如果你在其主页网站上找到更高版本,请更换版本号。

现在,解压缩你下载的文件:

tar -xf netatalk-3.1.11.tar.gz

然后切换到刚刚创建的文件夹。

cd netatalk-3.1.11

接下来,你可以在编译程序之前使用以下命令配置netatalk的所有设置:

./configure \
    --with-init-style = debian-systemd \
    --without-libevent \
    --without-tdb \
    --with-cracklib \
    --enable-krbV-uam \
    --with-pam-confdir = / etc / pam.d \
    --with-dbus-daemon = / usr / bin / dbus-daemon \
    --with-dbus-sysconf-dir = / etc / dbus-1 / system.d \
    --with-tracker-pkgconfig-version = 1.0
树莓派进阶(二):使用树莓派打造廉价版 Time Capsule_第9张图片

如果你没有看到任何错误消息,你可以继续到下一个阶段并运行:

make

这将需要一段时间。树莓派编译软件速度并不快。

当一切都完成后,你可以最终安装Netatalk:

sudo make install

是不是很有趣?安装完成后使用下面这条命令检查Netatalk是否正在运行:

netatalk -V

你将看到一些有关Netatalk安装的信息。如果一切看起来没有问题,让我们配置东西!

第四步:配置Netatalk

现在Netatalk已经安装,你需要告诉它共享你的驱动器。 首先,你需要编辑nsswitch.conf。

sudo nano /etc/nsswitch.conf

这里你需要添加mdns4和mdns到以“hosts:”开头的行,看起来像这样:

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

树莓派进阶(二):使用树莓派打造廉价版 Time Capsule_第10张图片

这个调整意味着一旦你连接你的树莓派到网络,你的Time Machine将显示在Finder的边栏。

接下来,你需要编辑afpd.service :

sudo nano /etc/avahi/services/afpd.service

复制此文本块并将其粘贴到该文件中:




    %h
    
        _afpovertcp._tcp
        548
    
    
        _device-info._tcp
        0
        model=TimeCapsule
    

除此之外,这些信息使你的树莓派模拟一个苹果的 Time Capsul,并显示图标。

最后,是时候将外部驱动器设置为网络共享:

sudo nano /usr/local/etc/afp.conf

在本文档的底部,粘贴以下文本:

[Global]
  mimic model = TimeCapsule6,106
  hostname = TimeCapsule

[Time Machine]
  path = /media/tm
  time machine = yes

默认的hostname用的是主机的hostname,一般情况下是raspberrypi。

如果需要,你可以在第二个括号内放置与“Time Machine”不同的名称。这将更改你备份的驱动器的名称,如同Finder和Time Machine本身名字一样。

最后,继续并启动网络服务。依次运行这两个命令:

sudo service avahi-daemon start
sudo service netatalk start

你的驱动器现在可以网络上找到。为了确保每次启动树莓派时都会自动启动服务,请再输入这些命令:

sudo systemctl enable avahi-daemon
sudo systemctl enable netatalk

我们真的很近了!

第五步:连接到你的Time Machine

在你的Mac上的Finder,你应该可以看到你的树莓派。

树莓派进阶(二):使用树莓派打造廉价版 Time Capsule_第11张图片

你可以从这里进行连接,方法是单击“连接身份...”,然后输入用于通过SSH连接的相同用户名和密码。

然而,根据我的经验,如果你通过其IP地址连接到驱动器,尤其是如果你已经在你的路由器上设置了静态IP地址,Time Machine能更好的工作。要连接,请打开Finder,然后按键盘上的Command + K。

树莓派进阶(二):使用树莓派打造廉价版 Time Capsule_第12张图片

安装驱动器后,转到系统偏好设置->Time Machine,然后将驱动器选择为Time Machine备份。

树莓派进阶(二):使用树莓派打造廉价版 Time Capsule_第13张图片

Time Machine将运行第一次备份,之后每小时进行备份。


How to Use a Raspberry Pi as a Networked Time Machine Drive For Your MacTime Machine
树莓派打造廉价版TimeCapsule

你可能感兴趣的:(树莓派进阶(二):使用树莓派打造廉价版 Time Capsule)