So-net無料ブログ作成
検索選択

EA未対応AFPサーバ上の*.appを削除できない [Mac OS X]

Snow LeopardからAFPサーバ上にコピーした*.appや*.pkgを削除しようとすると、エラーになることがあります。
これはAFPサーバの問題ではなく、Snow Leopardのバグです。
10.6.1, 10.6.2, 10.6.3, 10.6.4, 10.6.5で確認済です。

再現方法:
  1. Internetからサイズのでかい*.appを含むファイルをダウンロードする。
  2. *.appをダブルクリックしない。つまり実行しない。
  3. これをAFPサーバにコピーする。
  4. AFPサーバ上の*.appをダブルクリックしない。
  5. Finderを使ってこの*.appを削除しようとする。 → エラー発生


Terminal.app内でrm -rf xxx.appとした場合は問題なく削除できます。
この問題が発生するAFPサーバとして確認しているのは、netatalk 2.0.xとTigerです。
EA対応のnetatalk 2.1では発生しません。ただし、敢えてea:noneに設定すると発生します。

つまり、AFPサーバがEA未対応のときに発生する問題です。

原因:
インターネットからダウンロードしたファイルにはcom.apple.quarantineという名前のEAがつきます。このEAがついたファイルを実行しようとすると、「開いてもよろしいですか?」という警告が表示されます。開いたタイミングでこのEAが削除されます。
で、巨大な*.appの場合、その中に含まれる全てのファイルにcom.apple.quarantineがついています。そのままEA未対応AFPサーバにコピーすると、「._」で始まるファイルが大量にできます。
この*.appをFinderで削除すると、まずディレクトリ内のファイルを全部消してから親ディレクトリを削除します。
しかし、ファイルを全部消していないのに親ディレクトリを消そうとして、失敗するわけです。「._」ファイルが沢山あると、ファイル数を間違えていると思われます。

対策:
本質的な対処方法はありません。
AFPサーバをEA対応のものにする。コマンドラインでrm -rfして消す。Snow Leopardが直るのを待つ。などですね。

nice!(0)  コメント(0)  トラックバック(0) 
共通テーマ:パソコン・インターネット

nice! 0

コメント 0

コメントを書く

お名前:[必須]
URL:[必須]
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

トラックバック 0

この記事のトラックバックURL:
※言及リンクのないトラックバックは受信されません。