futoase

よろしくお願いします。

Raspberry Pi 初代(Model B)を使ってTimeCapsuleとして利用する

コメントでModel Bだ、という指摘を受けました。のでタイトル直しましたm(_ _)m

f:id:syanbi:20160107002124j:plain

TimeCapsule

について、初代が出た時に買ったんだけど(もう8年ぐらい前なんだね...)、シェアハウスに住んでる時にTimeCapsuleの電源で使われてる電解コンデンサが死んでしまった。ネットで交換できるのかなーと思って調べてみると、TimeCapsuleを分解して接着剤を剥がしつつ電解コンデンサをハンダゴテで熱して交換する...ということがめんどくさすぎてそれ以来ずっとUSB HDDを利用してわざわざMac Book Pro Retina(初代)にマウントして使ってた。

Raspberry Pi 2を買う

買った。買ってから、Raspberry Pi 初代 (RAM 512モデル)について持て余してて、
且つUSB HDD 1TBのものも持て余してる状態なので、TimeMachine向けのHDDとして利用できないかなと思って調べてみた

簡単に利用できた

というのが結論。

参考にしたブログ、ネットソースは

ruzia.hateblo.jp
DIY Time Capsule with a Raspberry Pi
LinuxでUSB-HDDを接続時に所定のディレクトリへ自動マウントする方法 -- ぺけみさお

以上3つ。

Raspberry Pi 初代でUSB HDDをマウントして利用するまで

参考にしたブログ記事を元に...

RaspbianをSDカードに焼く

Raspbianという、Raspberry Pi 向けのDebianベースのLinux Distributionがある。
2015/11にイメージがリリースされているのでそれを利用した。

Download Raspbian for Raspberry Pi

Mac OS X(Mac Book Retina)をホストとし、SDカードをSDカードスロットに突っ込んでddで焼く単調な作業。

> wget https://downloads.raspberrypi.org/raspbian_lite_latest
> unzip raspbian_lite_latest 
> Archive:  raspbian_lite_latest
replace 2015-11-21-raspbian-jessie-lite.img? [y]es, [n]o, [A]ll, [N]one, [r]ename: y
> inflating: 2015-11-21-raspbian-jessie-lite.img
> diskutil list
> # ここでSDカードが/dev/disk2としてマウントされていることを確認、
> # diskutil で unmountする
> diskutil unmountDisk /dev/disk2
> # ddで先ほど解凍したraspbianのイメージファイルを焼く
> # rdisk2 として、なぜrdisk* を選択するのか、という理由は
> # rdiskとしてデバイスを指すほうがバッファを利用しないため高速になる。
> # http://superuser.com/questions/631592/why-is-dev-rdisk-about-20-times-faster-than-dev-disk-in-mac-os-x
> dd if=2015-11-21-raspbian-jessie-lite.img of=/dev/rdisk2 bs=1m

SDカードにイメージを焼いた後SDカードをRaspberry Pi に刺す

刺した後、USBケーブル経由でRaspberry Piに電源を送る。そうすると
Raspbianが起動する。

ユーザの作成

Mac OS X側でマウントする際、ログインが求められるので
ログイン用のユーザを作成しておく。

> sudo groupadd futoase
> sudo useradd -m -G futoase futoase
> sudo passwd futoase #パスワードの設定

Raspbianにてnetatalkのインストール

を行う。といってもとても簡単。
2015-11-21に配布されているRaspbianのバージョンでは、netatalk 2.2.5が利用できるため、
特に最新のnetatalkを落としてビルドして...とか考えなくても良くなってる。とても楽だ。

> sudo apt-get update
> sudo apt-get install netatalk

USB HDDの設定

ext4でフォーマットを行う。

> sudo mkfs.ext4 /dev/sda2

マウント用領域確保

領域、とはちょいと概念が違うが、マウント元 -> マウント先で問題なく利用できるよう、
ファイルノードのパスを作成しとく。/mnt/usb_hdd_1tbとなってるのは、まんま。USB 外付けHDD(2.5inch)で容量が1TBのもの、だったから。

> sudo mkdir -p /mnt/usb_hdd_1tb
> sudo chmod 0777 /mnt/usb_hdd_1tb

USB HDDのUUID確認

について先ほどあげた以下のエントリを参考にした。

LinuxでUSB-HDDを接続時に所定のディレクトリへ自動マウントする方法 -- ぺけみさお

/etc/fstabの設定

以下の内容を追記する。

UUID={さっき確認したUSB HDDのUUID}       /mnt/usb_hdd_1tb ext4   defaults,noatime  0       2 

これで抜き差ししても/mnt/usb_hdd_1tbにマウントされるはず(まだ確認してないけど)。

netatalkの設定

先ほど出したが、以下のエントリを参考にした。

ruzia.hateblo.jp

> sudo echo "/mnt/usb_hdd_1tb "Time Capsule" options:tm" >> /etc/netatalk/AppleVolumes.default

以上の設定だけでTimeCapsuleっぽい使い方ができている

初回マウント時に接続するためのユーザアカウント情報入力を求められるので、
Raspberry Piに追加したユーザ/パスワードを入力し、マウントする。

f:id:syanbi:20160107005903p:plain

NICについて100Mbpsなものだったりするけど、特に転送速度に問題は感じていない。
というか安い。(初代は2世代目より割高に感じるかもしれんが)
TimeCapsule次壊れたらどうしよう、とかすでにAP導入してるからTimeCapsuleは
自宅にはオーバースペックだ、と感じてる人は導入したらどうだろう。

個人的にはおすすめする。(Raspberry Pi 2を利用しても割安だろう。)

Copyright (c) 2013-2017 Keiji Matsuzaki