Mac OS Xが非Mac(HFS)ボリュームに.DS_Storeファイルを作成するのを防ぐ方法は?


17

Mac OS XがNTFSやFATなどの外部ボリュームに.DS_Storeやその他の隠されたメタファイルを作成するのを防ぐ方法はありますか?NTFSパーティションをMac OS XとWindows間でThunderird&FirefoxのプロファイルやapacheのDocumentRootなどのデータと共有します。これは非常に便利です。Mac OS Xがメタデータのインデックス作成やその他のメタファイルの適切な処理を実行できないかどうかは気にしません。

注:ネットワーク上では共有されません。オペレーティングシステムと共有パーティションの両方が、同じディスク上の同じマシンに共存します。

回答:


19

SMBなどを使用してネットワーク経由でNTFSパーティションを共有している場合は、無効にすることができます。

defaults write com.apple.desktopservices DSDontWriteNetworkStores true

Apple技術速報「ネットワーク接続での.DS_Storeファイルの作成を防ぐ方法」。これがSnow Leopardでまだ機能することを確認していません。


実際にネットワークドライブ上にない限り、それが機能するかどうかはわかりません。
アレックス

@alexあなたは正しいと思います。OPは、NTFSパーティションをどのように共有しているかについては述べていません。回答を編集しますが、完全に間違っている可能性があります。
リチャードホスキンズ

いいえ、ネットワーク経由ではありません。1つのディスクのみ、1つのパーティションにMac OS、もう1つのパーティションにWindows、共有ファイル用のNTFSパーティション。
ペトルーザ

PS:すみません、OPは何の略ですか?それが私を指していることは知っていますが、意味はわかりません。
ペトルーザ

1
@Richard Hoskins:あなたの答えは、ネットワークを介した.DS_Storeファイルの作成を防ぐことです。同じドライブ上にある場合、これを停止する方法はありません。@sudo petrutza:OPは元のポスターを意味します(どちらもわかりませんでした)
アレックス

5

私はこれを使用し、同じ問題に悩まされたときに一度設定しました。この方法により、システムがすべて自動的に実行します。

  1. ターミナルを開き、たとえばcd〜/ Documentsと入力して、remove_Hidden_​​Files.shというスクリプトを作成し、touch Remove_Hidden_​​Files.shと入力します。

  2. viを使用してスクリプトを作成します。ターミナルタイプvi Remove_Hidden_Files.sh

  3. 「I」を押して挿入モードに入り、次を入力します(取得するにはヒント#altと3を押します)

    #!/bin/bash
    # Removing the hidden files from my drive using the find command. Change xxx to the name of your external volume or path you wish to run the command on.
    # the -mount will stop the find command going to other volumes other than specified.
    
    find -x /Volumes/(xxx) -mount -name '.DS_Store' | xargs rm -rf
    find -x /Volumes/(xxx) -mount -name '.Spotlight-V100' | xargs rm -rf
    find -x /Volumes/(xxx) -mount -name '.Trashes' | xargs rm -rf
    find -x /Volumes/(xxx) -mount -name '._.Trashes' | xargs rm -rf
    find -x /Volumes/(xxx) -mount -name '.fseventsd' | xargs rm -rf
    
  4. エスケープを押して挿入モードを終了し、Shiftキーを押しながら押します :

  5. 入力wq!してEnterキーを押します

  6. スクリプトを実行可能にする chmod 775 ~/Documents/Remove_Hidden_Files.sh

  7. これをテストして、機能することを確認します。ターミナルを開いてcd / Volumes /(xxx)と入力し、Enterキーを押してからls -laと入力すると、すべてのファイルを一覧表示できます。ファインダーを使用してボリュームに移動しない場合は、.DS_Storeが表示され、コマンドを繰り返します。そこに表示されるはずです。

  8. コマンドキーとNを押して別のターミナルを開きます

  9. タイプ cd ~/Documents

  10. タイプ sh Remove_Hidden_Files.sh

  11. 他のターミナルウィンドウに移動し、.DS_Storeファイルが削除されていることを確認します。

  12. 起動デーモンを作成します。つまり、自動的に実行されるため、何もする必要はありません。

    最良の方法は、lingonをダウンロードすることです

  13. ユーザーアカウント用のデーモンを作成し、com.remove_hidden_​​files.Launchdと呼びます

  14. コマンドボックスに次を入力します sh ~/Documents/Remove_Hidden_Files.sh

  15. パスを入力するか、参照することができます/ Volumes /(xxx)

  16. マシンを再起動して試してください

外部ドライブの名前を変更する場合は、スクリプトを変更する必要がある別の名前付きドライブまたはパスを使用してください。


6
この回答がvimチュートリアルになったのが気に入っています。母
マセック

あなたは使用してサードパーティのアプリを支払うことなく、Macは、スクリプトをログアウト追加することができますsudo defaults... seeskill.wordpress.com/2012/02/23/...
mcandreを

このクリーニングはいつ行われますか?ログインすると?
-LarsH

4

この目的のためにBlueHarvestを使用します。

https://zeroonetwenty.com/blueharvest/

Appleのソリューションによるネットワーク共有だけでなく、すべてのボリュームで機能します。


参考までに、BlueHarvestは3台のコンピューターで15ドル(より多くのコンピューターでさらに$)のMacプログラムで、「30日間無料トライアル」
-Xen2050

上記のリンクにあるBlueHarvestのWebサイトは、現時点では応答していません。これは、サポートが利用できないことを意味するようです。ただし、アプリはApp Storeにあります。
LarsH

URLを更新しました。
アシニンモンキー
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.