2008/09/17

ReadyNAS で TimeMachine を実行時にディスクアイコンを表示させない方法

ReadyNAS を TimeMachine の保存先に設定して、便利に使っているのですが、1点気になる点が。

バックアップが開始されると、TimeMachine 用の SparseBundle が mount され、また、その中の「ディスクイメージ」も mount されるわけですが、この「ディスクイメージ」ディスクアイコンがデスクトップへ表示されてしまうのです。


実害があるわけではないのですが、なんとなく格好悪いし、万が一誤って「ゴミ箱」へ捨ててしまったら、どうしようかと...(ふつう、捨てません)。

ふと思い立って、chflags(1) のマニュアルページを見たところ、
hidden set the hidden flag [Hide item from GUI]
というのを見つけました。そこで、早速実験。

以下、無保証なので、真似して実験する場合には、十分に注意してください。失敗すると過去のバックアップを失う恐れがあります。また、MacOS Xを英語環境で使っているので、メニューの文字などが英語表記なのは、ごめんなさい。

まずは安全の為、TimeMachineが稼働中でないことを確認して停止させます。単に「OFF」にするだけです。

次にTimeMachineのSparseBundleをmountします。該当SpaceBundleをDiskUtilityへDnDして「Mount」を選択するか、Terminal上で、hdiutil の attach を使うと良いでしょう。ちなみに私は、hdiutil を使ったのですが、fsck が自動的に実行されてしまい、時間がかかりそうだったので、-noautofsck を付けて回避してしまいました(回避してしまって良かったのかどうかは不明 ^^;)。

% sudo hdiutil attach -noautofsck foo_001122334455.sparsebundle
Password:
/dev/disk2 Apple_partition_scheme
/dev/disk2s1 Apple_partition_map
/dev/disk2s2 Apple_HFS /Volumes/ディスクイメージ

この「ディスクイメージ」に対して hidden 属性を付与します。Terminal上でchflagsを使いましょう。

% ls -ldvO /Volumes/ディスクイメージ 
drwxr-xr-x 10 n-miyo staff - 408 Jul 5 16:22 /Volumes/ディスクイメージ
% sudo chflags hidden /Volumes/ディスクイメージ
% ls -ldvO /Volumes/ディスクイメージ
drwxr-xr-x@ 10 n-miyo staff hidden 408 Jul 5 16:22 /Volumes/ディスクイメージ

終わったら「ディスクイメージ」を忘れずに detach します。勿論DiskUtilityの「Eject」を使っても同じです。これを忘れるとTimeMachineが転ける筈。

この後、TimeMachineを「ON」に設定します。

「Back Up Now」を選んで、または、TimeMachineアプリケーションを起動してみて、デスクトップに「ディスクイメージ」が表示されなければ、成功です。

なんとなくもう少し簡単に設定できそうな気もしますが、まぁ、とりあえず。

AFP越しファイルへのchflagsが効く様になったのがReadyNAS のファームを4.1.3に変えたからなのか(「Added advanced AFP permission option to allow」)、それとも、それ以前から可能だったのかは、ちと、分かりませんが、うれしい限りです。

0 件のコメント:

コメントを投稿