14
13

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 5 years have passed since last update.

Raspberry PiをTime Capsuleにする(2019年8月編)

Last updated at Posted at 2019-08-17

はじめに

Time Capsule作ろうと思ったのですが情報が古かったりしてかなりハマったので新しく書き記すことにしました。
こんなのを作る方法として今回のNetatalkを使う方法と、Sambaを使う方法の2種類があり、将来性のことを考えたら後者の方がいいかなーと思いましたが、残念ながら私の環境では動きませんでした。誰か成功したらやり方教えて下さい。

環境

  • Raspbian Buster
  • macOS Mojave
  • netatalk 3.1.12

HDDの準備

HDDをMac OS拡張(HFS+)でフォーマットします。
Macが起動しなくなってバックアップから戻す時、バックアップしたHDDを直接つないで読み込ませる必要があるのでこの作業が必要です。
ext4だと泣くことになります。泣きました。
Macに一旦つないでディスクユーティリティからフォーマットしましょう。
フォーマット後、デスクトップにあるHDDのアイコンを右クリックし、「情報を見る」からeveryoneにR/Wの権限を与えましょう。
後述するhfsprogsが既にRaspberry Piに入ってる人はGParted等からフォーマットする事も出来ます。

先ずはおまじない

念のためやっておきましょう

sudo apt update
sudo apt upgrade

Netatalkとかのインストール

ここも他のサイトでは大量のパッケージを入れてビルドしてみたいなことをやってますが、シンプルに

sudo apt install netatalk 
sudo apt install avahi-daemon

で問題ありません。

HFS+を扱うための諸々のインストール

sudo apt install hfsprogs hfsplus

自動マウントとfstabの編集

マウント先のフォルダをまず作ります。私は/media/tmにマウントしたので

sudo mkdir /media/tm
sudo chown pi:pi /media/tm
sudo chmod 777 /media/tm

次に、フォーマット済みのHDDを接続して

sudo blkid

でUUIDを調べます。TYPE="hfsplus"がついてるやつがそれです。
UUIDをコピーしたら、

sudo nano /etc/fstab 

でfstabを開いて

UUID=[PUT YOUR UUID] /media/tm hfsplus force,rw,user,auto,nofail 0 0

を追記します。
ここまで完了したらsudo mount /media/tmで特にエラーも出ずマウントされればオッケーです。

Netatalk等の設定

こっから下は情報が錯乱してて私も動くまで色々試行錯誤したので、もしかしたらおかしいところがあるかもしれないのですが、最低限これで大丈夫なんじゃないだろうかってのを書き記します。
動かなかったら報告ください...

ひとまずこれは絶対必要そうなafp.confの設定です。

sudo nano /etc/netatalk/afp.conf

で設定ファイルを開いて

afp.conf
[Global]
  mimic model = TimeCapsule6,106
  mac charset = MAC_JAPANESE

[TimeMachine]
  path = /media/tm
  time machine = yes

に変更します。

続いて、

sudo nano /etc/nsswitch.conf

で設定ファイルを開いて
hostsの部分を

nsswitch.conf
files mdns4_minimal [NOTFOUND=return] dns mdns4 mdns

に書き換えます。

そんでもって

 sudo nano /etc/avahi/services/afpd.service

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→ディスク選択に出てくると思います。多分

これでダメだったら...

sudo nano /etc/nsswitch.conf

をまた開いて

nsswitch.conf
passwd:         compat
group:          compat
shadow:         compat

にしてみてください

また、afp.confの場所も

sudo nano /etc/netatalk/afp.conf

ではなく、

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

かもしれません。

再起動して書き込めなくなったら

これで治る

sudo fsck.hfsplus -f /dev/sdb1
sudo mount -a
14
13
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
14
13

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?