4
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

家に転がっていた Raspberry Pi 3 Model B を Mac OS X の Time Machine のバックアップ先にしてみた。

Last updated at Posted at 2019-12-16

#まずはじめに
半分以上自分のための作業内容の備忘録なので、手順が足りないところ、冗長なところがあるかもしれません。あしからず。

#やってみたこと
Raspberry Pi 3 Model B を、MacBook Pro のバックアップ先としてセットアップしてみたまとめ。

#なんでやったのか
MacBook Pro を買って初めて、新しい OS のアップデートが降ってくることになったので。
外付け HDD にそのままバックアップでもよかったけど、ネットワーク経由で自動バックアップが出来たらラッキーだなーというモチベーション。

#手順
##まずは HDD の準備から

  1. バックアップ先として設定する HDD を Mac に接続
  2. Finder のアイコンを選択
  3. 「移動」メニューから「ユーティリティ」を開く
  4. 「ディスクユーティリティ」を開く
  5. フォーマット対象のドライブを選択して「消去」をクリック
  6. フォーマットは「Mac OS 拡張(ジャーナリング)」に設定
  7. その他諸々設定をして、「消去」
  8. フォーマット完了後に、デスクトップに出ているディスクのアイコンを右クリックし「情報」を表示
  9. 権限の項目で 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 のバックアップ先に使えるように資格情報など設定。

  1. Finder を開く
  2. [Command キー]+[K] で開く画面で afp://[Raspberry Pi のアドレスかホスト名] を開く
  3. ユーザー名、パスワードを求められたら Raspberry Pi のユーザー名とパスワードを入力
  4. Raspberry Pi に接続できることを確認
  5. 「システム管理」の「Time Machine」から、バックアップ先として Raspberry Pi を選択
  6. もろもろバックアップの設定を完了

これで、ネットワークに Mac をつなぐと、自動バックアップが開始されるように設定完了です!

4
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?