Linux中國

使用 Orange Pi 搭建 Time Machine 伺服器

我的工作之一是為各類家用計算機安排進行自動備份,包括存放重要數據的一組 Mac 計算機。我決定使用運行 Armbian Linux 的便宜的 Orange Pi 做實驗,目的是希望 Time Machine 可以通過網路使用掛載在 Orange Pi 主板上的 USB 驅動器。在這種情況下,我找到並成功地安裝了 Netatalk。

Netatalk 是一個用作蘋果文件伺服器的開源軟體。通過 Avahi 和 Netatalk 配合運行,你的 Mac 設備能夠識別網路上的 Orange Pi 設備,甚至會將 Orange pi 設備當作 「Mac」 類型的設備。這使得你能夠手動連接到該網路設備,更重要的是使得 Time Machine 能夠發現並使用遠程驅動器。如果你想在 Mac 上設置類似的備份機制,下面的指南也許能夠幫到你。

準備工作

為了配置該 USB 驅動器,我首先嘗試了 HFS+ 格式文件系統,不幸的是我沒能成功寫入。所以我選擇創建一個 EXT4 文件系統,並確保用戶 pi 有讀寫許可權。Linux 有很多格式化磁碟的方法,但是我最喜歡(而且推薦)的仍然是 gparted。由於 gparted 已經集成在 Armbian 桌面了,所以我直接使用了該工具。

我需要當 Orange Pi 啟動或者 USB 驅動連接的時候,這個設備能夠自動掛載到相同的位置。於是我創建了一個目錄(timemachine)用於掛載:在其下新建一個 tm 目錄用於真正的備份路徑,並將 tm 的所有者更改為用戶 pi

cd /mnt
sudo mkdir timemachine
cd timemachine
sudo mkdir tm
sudo chown pi:pi tm

下一步,我打開一個終端並編輯 /etc/fstab 文件。

sudo nano /etc/fstab

並在該文件末尾添加了一行我的設備信息(根據我的設備情況,設置為 sdc2):

/dev/sdc2 /mnt/timemachine ext4 rw,user,exec 0 0

你需要通過命令行預裝一些包,可能其中一些已經安裝在你的系統上了:

sudo apt-get 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 hfsprogs hfsutils avahi-daemon

安裝並配置 Netatalk

下一步是下載 Netatalk,解壓下載的文件,然後切換到 Netatalk 目錄:

wget https://sourceforge.net/projects/netatalk/files/netatalk/3.1.10/netatalk-3.1.10.tar.bz2
tar xvf netatalk-3.1.10.tar.bz2
cd netatalk-3.1.10

然後需要順序執行 ./configuremakemake install 命令安裝軟體。在 netatalk-3.1.10 目錄中執行 如下的 ./configure 命令,這個命令需要花點時間才能執行完。

./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

./configure 運行完成後執行 make

make

執行完 make 命令需要花較長時間,可以考慮喝杯咖啡或者做點其他什麼。之後,執行以下命令:

sudo make install

這個命令能夠快速執行完成。現在你可以通過下面兩個命令驗證安裝是否成功,同時找到配置文件位置。

sudo netatalk -V
sudo afpd -V

然後你需要編輯 afp.conf 配置文件並在其中指定 Time Machine 備份路徑,可以訪問的帳號名並指定是否使用 Spotlight 為備份建立索引。

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

下面是 afp.conf 的配置示例:

[My Time Machine Volume]
path = /mnt/timemachine/tm
valid users = pi
time machine = yes
spotlight = no

最後,啟用 Avahi 和 Netatalk 並啟動它們。

sudo systemctl enable avahi-daemon
sudo systemctl enable netatalk
sudo systemctl start avahi-daemon
sudo systemctl start netatalk

連接到網路驅動器

此時,你的 Mac 可能已經發現並識別了你的 Pi 設備和網路驅動器。打開 Mac 中的 Finder,看看是否有像下面的內容:

當然你也可以通過主機名或者 ip 地址訪問,比如:

afp://192.168.1.25

Time Machine 備份

最後,打開 Mac 上的 Time Machine,然後「選擇備份硬碟」,選擇你的 Orange pi。

這樣設置肯定有效,Orange Pi 能夠很好的處理進程,不過這可能並不是最快速的備份方式。但是,這個方法比較簡單且便宜,並且正如其展示的一樣能夠正常工作。如果對這些設置你已經成功或者進行了改進,請在下面留言或者發送消息給我。

Amazon 上有售賣 Orange Pi 主板。

via: http://piboards.com/2017/02/13/orange-pi-as-time-machine-server/

作者:MIKE WILMOTH 譯者:beyondworld 校對:jasminepeng

本文由 LCTT 原創編譯,Linux中國 榮譽推出


本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive

對這篇文章感覺如何?

太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
0
雨落清風。心向陽

    You may also like

    Leave a reply

    您的電子郵箱地址不會被公開。 必填項已用 * 標註

    此站點使用Akismet來減少垃圾評論。了解我們如何處理您的評論數據

    More in:Linux中國