勢いでやったらあっけなくできました。(以前にradigo でradikoのタイムフリーを自動保存用に使っていたRaspberry Pi 3ですが、東京リージョンのSakura VPSへ移行てしてしまって、余ってしまっていたので活用を考えていたところ、USB-HDDと組み合わせてTime Machineサーバができることを知りましたのでやってみました。
はじめラズパイ側のfstabの記述を一度しくって起動しなくなったのでちょい焦ったけど、しかし、ググって先人の知恵から、virtualboxのCentOSからSDカード内のfstab再編集して治りました。
(参考 https://www.raspberrypi.org/forums/viewtopic.php?t=192947)
概要をまとめると、初期設定(Rasibian OSインストール、ネットワーク設定、SSH接続など)を事前に行い、必要なライブラリをインストール、一部ライブラリ名が異なっていたんで変更してインストールしました。
MacでUSB-HDDをフォーマットする
ディスクユーティリティで、ハードディスクを消去して、Mac OS 拡張で初期化します。
また、初期化後にハードディスクのアイコンを右クリックして、ハードディスクの情報を表示し、データの権限を変更しておく必要があります。
(これをしないとTime Machineのディスクとして認識されません)
おそらく読み込みのみの権限になっているので、読み込みと書き込みの両方の権限をONします。
ライブラリなど最新にします
sudo apt-get update
sudo apt-get upgrade
必要なライブラリが以下の通りのようです(2018/12/15現在)
sudo aptitude install build-essential libevent-dev libssl-dev libgcrypt11-dev libkrb5-dev libpam0g-dev libwrap0-dev libdb-dev libtdb-dev default-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
sudo apt-get install hfsprogs hfsplus
※ hfsplusを利用できるよう、一度、再起動が必要みたいです。
sudo reboot
fstabに自動マウントするように設定
sudo mkdir -p /media/tm
sudo vim /etc/fstab
下記を追記します。
/dev/sda2 /media/tm hfsplus force,rw,user,auto 0 0
あとは、下記のコマンドでエラーがなければ外付けハードディスクが無事マウントされます。
sudo mount -a
nettalkをソースからインストール
※ apt-getのパッケージは2.x系の為
cd /usr/local/src/
sudo wget http://prdownloads.sourceforge.net/netatalk/netatalk-3.1.12.tar.gz
sudo tar -xvzf netatalk-3.1.12.tar.gz
cd netatalk-3.1.12
sudo ./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
sudo make
sudo make install
下記コマンドでNetatalkのバージョン情報などが表示されば、インストールは完了です。
netatalk -V
Netatalkの設定
sudo vim /etc/nsswitch.conf
Hosts欄を書き換える
hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4 mdns
sudo vim /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=TimeCapsule</txt-record>
</service>
</service-group>
sudo vim /usr/local/etc/afp.conf
[Global]
mimic model = TimeCapsule6,106
[Time Machine]
path = /media/tm
time machine = yes
サービス開始!
sudo service avahi-daemon start
sudo service netatalk start
あとは自動実行するようにしておけばOK。
sudo systemctl enable avahi-daemon
sudo systemctl enable netatalk
Mac の Finderの commnd+K で afp://raspberrypi.local/にアクセス。
IP、パスワードを聞かれますので、RaspberryPi側のアカウント、パスワードを入力してください。
後はシステム管理 TimeMachine から通常のHDD追加同様一覧に出てきます。
これで、帰宅してMac開くと勝手にバックアップ始まります、便利!
※ 導入するのに下記の記事などを参考にしました。