2011年5月22日日曜日

Time Machineが「マウントできませんでした」で失敗したときに試してみること

現在、Time MachineをNAS上のボリュームで使っているのですが、たまに、
「マウントできませんでした」
という感じのエラーが発生し、バックアップができなくなることがあります。
そのとき、/var/log/system.logには以下の様な出力がありました。
May 22 04:20:49 ariel com.apple.backupd[6949]: Error 45 creating backup disk image
May 22 04:20:49 ariel com.apple.backupd[6949]: Failed to create disk image /Volumes/Public/ariel.sparsebundle, status: 45
May 22 04:20:54 ariel com.apple.backupd[6949]: Backup failed with error: 20
May 22 04:20:55 ariel com.apple.backupd[6949]: Ejected Time Machine network volume.

こういう場合には、以下を試してみます。

なお、これらの作業は自己責任でお願いします。
私の環境ではうまく行きましたが、すべての環境でうまく行くとは限りません。


  1. Time Machineバックアップに失敗すると、ディレクトリ名に日付/時間がついてしまうので、それを元に戻す。
    $ mv ariel_XXXXXXXXXXXX_2011-05-21-113228.sparsebundle ariel_XXXXXXXXXXXX.sparsebundle



  2. 変更禁止フラグがたっている(らしい)ので、それを解除。
    $ chflags nouchg ariel_XXXXXXXXXXXX.sparsebundle


  3. 以下のファイル内容の修正を行う。
    $ vim ariel_XXXXXXXXXXXX.sparsebundle/com.apple.TimeMachine.MachineID.plist



    <key>VerificationState</key>
    <integer>2</integer>



    <key>VerificationState</key>
    <integer>1</integer>

    に変更。

  4. 変更禁止フラグを再度設定。
    $ chflags uchg ariel_XXXXXXXXXXXX.sparsebundle


  5. 再度、バックアップを試してみる。





#まぁ、本当に大丈夫なのかどうかは、リストアしてみるまでわかりませんが。。w

参考サイト: mtaneda’s diary - 続・Time Machine によるバックアップの検証が完了しました。信頼性を向上するために、新規バックアップの作成が必要になりました。

2011年5月6日金曜日

MacでHaskell

ふと、Haskell学習を再開してみたくなったので、
本棚から、「ふつうのHaskellプログラミング」を引っ張りだしたが、
「ん?ghcはどうするんだ?」と思い、ググる。

http://www.haskell.org/haskellwiki/Mac_OS_X#Mac_OS_X_10.6_.28Snow_Leopard.29から、
http://hackage.haskell.org/platform/mac.html
で、「Download Haskell for Mac OS X 10.6 (Intel, 32 bit GHC)」のリンクをクリックし、
インストールパッケージをダウンロード。

Note: Xcode 3.0 or later is required prior to installation.


と、書いてあるので、App StoreでXcodeをインストール(600円也。まぁいいか。。)。
ちなみに、Xcodeは4.5GB程度あるのでディスク残量に注意。

ダウンロードしてる間に、「ふつうのHaskellプログラミング」を再読。
全く忘れている。。。

そんなこんなで、ダウンロード完了。

Xcode installerを起動しインストール。うまく行かないこともあるが、
その場合はもう一回やってみるとうまく行くこともあるらしい。(何だそりゃ)

で、Xcodeのインストールが完了したら、
Haskell Platform 2011.2.0.1-i386.pkgをダブルクリックし、インストール。

インストールが完了したら、ターミナルで実行してみる。

コンパイル(というかリンク時?)にwarningが出るものの、とりあえず実行バイナリが作成されて、
「Hello, world!」も表示されたので、良しとする。

参考書籍: