MyEnigma

とあるエンジニアのブログです。#Robotics #Programing #C++ #Python #MATLAB #Vim #Mathematics #Book #Movie #Traveling #Mac #iPhone

Raspberry PiにTime Machineサーバを立てる方法

APPLE AirMac Time Capsule - 2TB ME177J/A

APPLE AirMac Time Capsule - 2TB ME177J/A

目次

はじめに

先日、Raspberry Piを購入して、

セットアップした記事を公開しましたが、

myenigma.hatenablog.com

 

そのRaspberry Piの用途として、

Macのバックアップ機能であるTime Machineのサーバを

Raspberry Piと外付けUSBハードディスクで作ってみたので、

その方法をメモとして残しておきたいと思います。

 

0. セットアップの方法

基本は下記の記事の通りです。

www.howtogeek.com

上記の記事通りにやればOKですが、

簡単に概要を説明したいと思います。

詳細は上記の記事を参照下さい。

 

1. ハードディスクの設定

Time Machineのデータを保存する

外付けハードディスクの設定をします。

 

自分は下記のハードディスクを使いました。

 

ディスクユーティリティで、

ハードディスクを消去して、

Mac OS 拡張で初期化します。

 

ここで重要なのが、

初期化後にハードディスクのアイコンを右クリックして、

ハードディスクの情報を表示し、

データの権限を変更しておく必要があります。

(これをしないとTime Machineのディスクとして認識されません)

おそらくすべてのユーザの部分が、

読み込みのみの権限になっているので、

読み込みと書き込みの両方の権限をONします。

 

2. Raspberry Piでsshログインできるようにする。

下記の記事を参照下さい。

myenigma.hatenablog.com

ちなみに自分はRaspberry pi3を使っています。

Raspberry Pi 3 MODEL B

Raspberry Pi 3 MODEL B

3. Raspberry Piで外付けハードディスクをマウントする

Max OS拡張で初期化されたハードディスクを

Raspberry PiのLinuxでマウントするように設定します。

下記のコマンドで、必要なソフトとディレクトリを準備し、

$ sudo apt-get update

$ sudo apt-get upgrade

$ sudo apt-get install hfsprogs hfsplus

$ sudo mkdir -p /media/tm

下記のコマンドで、

設定ファイルに自動マウントの設定を追記します。

$ sudo vim /etc/fstab

下記を追記します。

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

あとは、下記のコマンドで特にエラーが出なければ、

無事外付けハードディスクがマウントされたことになります。

$ sudo mount -a

4. Netatalkのインストール

Netatalkという、AppleのTime Machineのプロトコルを

無線通信上でエミュレートするソフトをインストールします。

 

まず下記のコマンドでNetatalkのインストールに

必要なソフトをインストールします。

$ 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のインストールですが、

apt-getでも入れられるようですが、

ソースコードからインストールした方が

問題が起きにくいみたいなので、

ソースコードからインストールします。

(バージョンはその時の最新に置き換えて下さい)

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

$ tar -xf netatalk-3.1.10.tar.gz

$ cd netatalk-3.1.10

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

$ make

$ sudo make install

あとは、下記のコマンドでNetatalkのバージョン情報などが表示されば、

インストールは完了です。

$ netatalk -V

5. Netatalkの設定

続いて、Netatalkの設定をします。

 

下記のコマンドでnsswitchの設定ファイルの

$ 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

$sudo systemctl enable avahi-daemon

$sudo systemctl enable netatalk

 

6. Time Machineの設定

最後に、上記の設定が成功していれば、

Finder上で、Cmd+Kを押して、

サーバへの接続のwindowで

afp://pi_IP_address

としてネットワークドライブをマウントします。

 

そしてTime Machineの環境設定のwindowで、

ディスクの選択を選ぶと、

設定した外付けハードディスクが見えるはずなので、

そちらを選択すると、自動でTime Machineのバックアップが開始されます。

 

改善したい所

上記の設定で無事、無線環境でのバックアップはできたのですが、

バックアップの量が大きくなる時もあるので、

できれば有線でバックアップもできるようにしたいです。

ただRaspberry Piに刺さっている外付けHDを

そのままMacに挿しても、どのようにつながっているのかを認識しているためか、

バックアップしてくれませんでした。

 

上記の問題を解決できた方は、コメント欄にて教えて頂けると幸いですm( )m。

 

参考資料

www.higuchi.com

qiita.com

myenigma.hatenablog.com

myenigma.hatenablog.com

myenigma.hatenablog.com

myenigma.hatenablog.com

myenigma.hatenablog.com

myenigma.hatenablog.com