#まずはじめに
半分以上自分のための作業内容の備忘録なので、手順が足りないところ、冗長なところがあるかもしれません。あしからず。
#やってみたこと
Raspberry Pi 3 Model B を、MacBook Pro のバックアップ先としてセットアップしてみたまとめ。
#なんでやったのか
MacBook Pro を買って初めて、新しい OS のアップデートが降ってくることになったので。
外付け HDD にそのままバックアップでもよかったけど、ネットワーク経由で自動バックアップが出来たらラッキーだなーというモチベーション。
#手順
##まずは HDD の準備から
- バックアップ先として設定する HDD を Mac に接続
- Finder のアイコンを選択
- 「移動」メニューから「ユーティリティ」を開く
- 「ディスクユーティリティ」を開く
- フォーマット対象のドライブを選択して「消去」をクリック
- フォーマットは「Mac OS 拡張(ジャーナリング)」に設定
- その他諸々設定をして、「消去」
- フォーマット完了後に、デスクトップに出ているディスクのアイコンを右クリックし「情報」を表示
- 権限の項目で everyone の権限を R/W に変更
続いて必要なパッケージのインストール
まずはパッケージのアップデートから。
sudo apt update
sudo apt upgrade
続いて必要なパッケージをできるだけ apt でインストール。
sudo apt install avahi-daemon
sudo apt install hfsprogs hfsplus
sudo apt-get -y install build-essential libevent-dev libssl-dev libgcrypt-dev libkrb5-dev libpam0g-dev libwrap0-dev libdb-dev libtdb-dev libmariadbclient-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 のビルド。
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 -V
ここまでやって、netatalk のバージョンとして 3.1.12 が表示されてれば準備 OK。
HDD のマウントの設定
マウントポイントを作って諸々の設定。
sudo mkdir /media/timemachine
sudo chown [ユーザー名]:[グループ名] /media/timemachine
sudo chmod 777 /media/timemachine
マウント先の HDD の UUID を確認してコピペ。
sudo blkid
マウント用の設定を fstab に書く。
sudo vi /etc/fstab
で fstab を開いて、以下の一行を追記。
UUID=[UUIDをここに書く] /media/timemachine hfsplus force,rw,user,auto,nofail 0 0
マウントしてみてエラーが起きないことを確認。
sudo mount /media/timemachine
NetaTalk の設定ファイルを色々書く。
afp.conf を編集するために開く。
sudo vi /etc/netatalk/afp.conf
下記の内容を追記。
[Global]
mimic model = TimeCapsule6,106
mac charset = MAC_JAPANESE
[TimeMachine]
path = /media/timemachine
time machine = yes
nsswitch.conf も編集。
sudo vi /etc/nsswitch.conf
hosts の行を下記のように編集。
files mdns4_minimal [NOTFOUND=return] dns mdns4 mdns
以下のコマンドで afpd.service というファイルを作成。
sudo 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=TimeCapsule</txt-record>
</service>
</service-group>
サービスの起動を試してみる
下記コマンドでサービスを試しに起動してみる。
sudo service avahi-daemon start
sudo service netatalk start
うまく動いたらサービスの自動起動の設定
自動起動の設定はこんな感じ。
sudo systemctl enable avahi-daemon
sudo systemctl enable netatalk
Mac 側のバックアップ設定
TimeMachine のバックアップ先に使えるように資格情報など設定。
- Finder を開く
- [Command キー]+[K] で開く画面で afp://[Raspberry Pi のアドレスかホスト名] を開く
- ユーザー名、パスワードを求められたら Raspberry Pi のユーザー名とパスワードを入力
- Raspberry Pi に接続できることを確認
- 「システム管理」の「Time Machine」から、バックアップ先として Raspberry Pi を選択
- もろもろバックアップの設定を完了
これで、ネットワークに Mac をつなぐと、自動バックアップが開始されるように設定完了です!