Create a gist now

Instantly share code, notes, and snippets.

What would you like to do?
TimeMachineサーバをNetatalkで作る話

UbuntuでTimeMachineサーバを建てる

※ちょっと古い

参考

概要

  • Netatalkを使う(2.2.x以上が必要。Ubuntu 12.04だと2.2.1がapt-getで入る
  • ユーザ認証はOSアカウントを使用
  • 容量制限はNetatalk側で制限可能
  • 保存領域はユーザ専用でも共用でも可能
  • 一度指定すればいいだけなので、Bonjour(avahi-daemon)は使わない
    • 設定時にIPアドレス指定する

手順

  • TimeMachineは共用にせず、各自用にそれぞれ用意
  • /home/timemachine/以下に、各ユーザ毎に保存領域(ディレクトリ)を作成する
  • 1ユーザあたりの容量は(仮に)500GBととする

Netatalkインストール

$ sudo apt-get install netatalk
$ sudo service netatalk stop
Stopping Netatalk Daemons: afpd cnid_metad papd timelord atalkd.
$

保存領域の作成

$ sudo mkdir -m 0755 /home/timemachine/
$ sudo mkdir -m 0700 /home/timemachine/(ユーザ名)
$ sudo chown (ユーザ名):nogroup /home/timemachine/(ユーザ名)
  • 該当ユーザは普通に作成しておく

設定ファイルの修正

  • afpd.conf
  • AppleVolumes.default
$ sudo vim /etc/netatalk/afpd.conf
	:
# for Timemachine
- -tcp -noddp -uamlist uams_dhx.so,uams_dhx2_passwd.so -nosavepassword
$ sudo vim /etc/netatalk/AppleVolumes.default
	:
#~/                     "Home Directory"		<- コメントアウト
	:
# for TimeMachine
/home/timemachine/(ユーザ名) "TimeMachine for (ユーザ名)" allow:(ユーザ名) cnidscheme:dbd volsizelimit:512000 options:usedots,upriv,tm
  • ホームディレクトリは必要がないのでコメントアウトする
  • volsizelimit = 容量制限のサイズ(512,000MiB = 500GiB)

Netatalk起動

$ sudo service netatalk start
Starting Netatalk services (this will take a while):  cnid_metad afpd.
$

クライアント側

Bonjourで広報していないので、手動でマウントしてからTimeMachineで指定する

  • Finder -> 移動 -> サーバへ接続...
afp://(サーバのIPアドレス)/
  • システム設定変更 -> Time Machine -> ディスクを選択 -> 「TimeMachine for (ユーザ名)」を選択する

もし上手くいかない場合、下記の操作が必要かも知れない

  • ターミナル.appから下記を実行
$ defaults write com.apple.systempreferences TMShowUnsupportedNetworkVolumes 1
  • sudoは不要(Time Machineを設定するユーザ毎に実行する必要があるため)
  • 設定後はOS再起動が必要

関係なかったら下記のコマンドで元に戻しておく

$ defaults delete com.apple.systempreferences TMShowUnsupportedNetworkVolumes

参考

Finderから見えるようにするには、avahi-daemonを動かしておく

$ sudo apt-get install avahi-daemon
  • 特別な設定は要らない
  • TimeMachineからOS復旧させる場合などは、これを動かしておくと良い
    • IPアドレス指定前提なのであれば、普段は止めておいても構わない
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment