夕飯:七輪焼き肉屋 telnet から SSHへ、rloginもあるけど。
3月 09

はじめに
NASをTimeCapsuleして利用する方法があることを知り
古いPCにFreeBSDをインストールしこれをTimeCapsuleとして
利用することにした。
- 2009.10.25 追記:スパースバンドル・ディスクイメージをコマンドで作る。


環境

OS Version 備考
FreeBSD 7.1-RELEASE-p3 i386
MacOSX 10.5.6 PowerPC

準備

FreeBSD側ですること

  1. Netatalkをportsからインストール

    1. 参考サイトのNetatalk 2.0.3 on FreeBSD 7.0 CJK Environmentのパッチ適用

      1. /etc/make.conf

        WITH_SRVLOC=no # と変更。Leopardの場合は不要とのこと
  2. /etc/rc.conf に以下を追加
    etatalk_enable="YES"
    atalkd_enable="NO"
    papd_enable="NO"
    cnid_metad_enable="YES"
    afpd_enable="YES"
    timelord_enable="NO"
  3. /usr/local/etc/AppleVolumes.default の修正(例)
    〜 ←行末のこれは削除 (行頭 # 付加でコメントにする)
    /opt/pbg4 TimeMachine cnidscheme:cdb options:usedots
    説明:/optはUSB接続の余ったHDD(120GB) でも古いPCなのでUSB1.0接続
  4. リブート

MacOSX側ですること

  1. 「ディスクユーティリティ」で空のディスクイメージを作成

    作成するディスクイメージの条件 設定値 備考
    ボリュームサイズ 小さめ適当 後から増やせる
    ボリュームフォーマット Mac OS 拡張(ジャーナリング)
    暗号化 無し
    パーティション ハードディスク
    イメージフォーマット スパースバンドル・ディスクイメージ
  2. 作成したイメージファイルを、リモート側(FreeBSD)にコピーする。
    このイメージファイルのファイル名は、
     <macosx のホスト名>_< そのホストの有線Macアドレス>;
     Macアドレスの":"は不要で、有線LAN側のMacアドレスを指定する。
    例) < ホスト名>_NNNNNNNNNNN.sparsebundle
    が、しかし、リストアした事がないので、有効に使えるのか判らないです。また、我が家では無線LANをしてますが、指定するのはMac OSX側の有線LANのMacアドレスです。
  3. 以下のコマンドを叩く (sudo しなくてい良いみたい)
    defaults write com.apple.systempreferences TMShowUnsupportedNetworkVolumes 1
  4. Finderのメニューから「移動」→「サーバ接続」で
    afp://<freebsd のホスト(IP address指定が良いかもしれない)>
    1. ここでマウントできるなら、「+」押下で、「よく使うサーバ」に登録する。
  5. XXXX.sparsebundle (XXXXは仮、をダブルクリックするとマウントできる
  6. 「ディスクユーティリティー」で、これを選択しファイルサイズを増やす。
  7. ・・・ん、忘れてきました。参考サイトを参照してください。
  8. バックアップが可能になった場合
    1. 自動バックアップが出来る様に、ログイン時にFreeBSD側をautomountする設定をします。
    2. 後は「システム環境設定」→「タイムマシン」で、このディスクが見えたら
        おめでとう御座います。

      1. さらに、「システム環境設定」→「アカウント」で、「ログイン項目」に、上述で「よく使うサーバ」で設定した内容を登録します。このファイルは以下にあります。

        Library/よく使う項目/< 先程指定したIPアドレス>
      2. このファイルを、ログイン項目に、Drag&Drop すると登録できます。

備考

  • Netatalkで未サポートなコマンドがあるようです。
    (4C, 4Fとかが、bad function として、FreeBSD側のコンソールに出ます)
  • 安い変換アダプタ(SATA→USB2.0)を購入したのですが、PowerPCのMacとは相性が悪い様?で、mount接続&切断を繰り返します。
    • Intel版は使えます。フォーマットもPowerPC用に変更してもダメ
    • っということで、この表題をぼちぼちとやることにしました。
  • スパースバンドル・ディスクイメージをコマンドで作る。
    Mac OSX 10.6.1 になって気付いたんですが、コマンドラインで作れますね。

    $ hdiutil create -size 1M -type SPARSEBUNDLE -fs HFS+ a

     上述を実行すると、a.sparsebundle が作成される。
     結局はディスクユーティリーで容量や属性を変更することになりますが、
     取り合えず。

参考サイト

補足情報

  • netatalk 2.1devで4F対応 (試してません)
  • netatalk 2.1devは環境整備中のため、別メモにします。



6 Responses to “Mac OSX : Time Capsule for FreeBSD (+Netatalk 2.0.3 CJK Version)”

  1. HAT より:

    capsuleの綴りが間違っております。
    開発版のnetatalk 2.1devで4F対応になっており、ディスクユーティリティを使わなくても自動的にイメージが作成されるので、これもおすすめです。

  2. splwtr より:

    アドバイス、有り難う御座います。
    欲を言えば、もっと、早くその情報を知りたかったです。
    私の調査不足が原因ですが、このバックアップイメージを作るのに
    20時間以上かかったので、今後の参考とさせて頂きます。
    (USB 1.0で接続した、80GBのHDDをバックアップに使おうと試みてます)

    以上、また、何かありましたら、アドバイスや相談をしたいと思いますので
    宜しくお願い致します。

  3. splwtr より:

    すみません、
    http://www003.upp.so-net.ne.jp/hat/netatalk/freebsd70.html

    記載のパッチは充てました。
    FreeBSDからは、作成したイメージファイルを展開し
    読むことは無いので、私の記述不足ですが、
    パッチ対応は実施しています。

    開発バージョン2.1devがあるそうですが、
    FreeBSD(7.1)で使用可能でしょうか?

    FreeBSDのコンソールのエラー出力に(4C, 4F)が多発してますので改善できればと思ってます。

    ログの方も、100回、200回以上のエラーが出てるので
    エラーカウントに変わってますね。

    アドバイス、頂ければ幸いです。

  4. HAT より:

    >欲を言えば、もっと、早くその情報を知りたかったです。

    CVSが更新された直後にWikipediaのnetatalkのページを
    書き換えたし、翌日にはブログの情報を書き換えたので、
    最速でやったつもりですが。

    >開発バージョン2.1devがあるそうですが、
    >FreeBSD(7.1)で使用可能でしょうか?

    試してないのでわかりませんが、
    build出来ない理由は特にないと思います。

  5. splwtr より:

    HATさん、返答ありがとう御座います。
    仰る通り、以下で紹介されてますね。
    http://www003.upp.so-net.ne.jp/hat/netatalk/cjk.html

    是非、試してみたいと思います。

    実はこのタイムカプセル化の話は、2009.2.19頃に実施した事を
    書いています。記事の投稿日は2009.3.9になってますが、現在ブログサイトを
    こちらへ移行中の為、そうなった次第です。

    HATさんが最速で作業された事は本日(2009.3.13)知りました。
    勘違いさせたようで、すみません。

  6. HAT より:

    4Fの実装は2/26なので、2/19だとまだ存在してませんね。

コメントをどうぞ

preload preload preload