OS XがSpotlightファイルやTrashファイルをメモリカードやUSBメモリに書き込まないようにするにはどうすればよいですか?


119

USBスティックをMacに差し込むと、OS Xは、Spotlightインデックスやゴミ箱フォルダなど、スティック上にいくつかの隠しファイルを作成します。

USBメモリ「無題」の端末からの例:

$ ls -a /Volumes/Untitled
.Spotlight-V100
.Trashes
._.Trashes
.disk
.fseventsd

それは私のカメラ用のxDメモリーカードでも行われるので、私の写真をコピーしてそれらをカードから削除した後、カードはまだいっぱいです。

USBやメモリカードでこれをオフにすることは可能ですか?その場合、OS Xはこれらのファイルをプライマリディスクに書き込むのか、まったく書き込まないのでしょうか。


コメントは詳細な議論のためではありません。この会話はされています チャットに移動
bmike

回答:


20

2018年3月に更新 私の解決策はもう有効ではないようです、今うまくいく解決策は@ElmerCatによって以下の答えの1つで提案されています。

彼は使うことを提案しています CleanMyDrive 2

廃止予定のソリューション

私が知っているようにあなたは2つの選択肢があります:

  1. TinkerTool (無料)

alt text

  1. ブルーハーベスト (商業の)

alt text


1
はい、ありがとう。どこかに組み込みの設定があることを期待していましたが、少なくとも解決策はあります。
j-g-faustus

3
@Philip:残念ながら、Tinkertoolはそれらによると.DS_Storeファイルのみを扱います。 詳細ページ これはおそらくこれがCLIを通して無効にできる唯一の隠しファイルであることを意味します - 他のファイルはカスタムツールを必要とします。しかしBlueHarvestは見栄えがよく、私が必要とすることをします。 (いくつか見つかりました 問題の詳細はこちら そして ここに
j-g-faustus

1
時代遅れ!後で答えが良い
Dima Tisnek

1
@ j-g-faustus Tinkertoolは.DS_storeファイルだけを扱うのではなく、ネットワークファイルシステムだけを扱います。
nhed

1
それをテストしました。 TinkertoolはUSBドライブ(少なくとも10.9)では動作しません
pufferfish

102

特定のマウントされたボリュームだけのために - と呼ばれるフラッシュドライブのように yourUSBstick この例では - これらのコマンドは既存の問題を取り除き、Spotlightのインデックス作成を現在および将来停止し、関連するfseventsのログ記録を停止し、そしてごみ箱機能を無効にします。

mdutil -i off /Volumes/yourUSBstick
cd /Volumes/yourUSBstick
rm -rf .{,_.}{fseventsd,Spotlight-V*,Trashes}
mkdir .fseventsd
touch .fseventsd/no_log .metadata_never_index .Trashes
cd -

Appleのダブル "._ *"ファイルや、アイコンやウィンドウの配置に関するその他のApple DSの要注意など、見慣れないその他のものがまだ残っていると思うかもしれません。


7
これはインデックス作成を無効にするかもしれませんが、それらのファイルとディレクトリはボリューム上にまだ存在し(最初の場所では厄介な部分です)、そしてあなたがそれらを削除するなら.Spotlight *と.fseventdは戻ってきます。実際、.metadata_never_indexは1です。 もっと 通常のcruftよりファイルリストのエントリ。
ShreevatsaR

1
+1、実際には、私は自分でゴミに触れるという考えを思いついたので、もっと良い解決策を見つけるためにここに行きました。それは本当の問題を解決します - カーオーディオがゴミ箱に置かれたファイルを再生するのを止めます;)
Michael Krelin - hacker

+1はこれが存在することを知っていましたが、私がそれを必要とするときはいつもそれを見つけなければなりません。これは、OSXシステムよりもUSBドライブへのアクセスが多い場合に便利です。
mlhDev

2
ありがとう、私は "cd - "について知りませんでした。私はまだpushd / popd :)をプッシュしています。
studgeek

ディレクトリ ".DS_Store"はどうですか?それはまだあります。それが "rm -rf"行に含まれていなかった理由は何ですか?
Marnix A. van Ammers

30

Spotlightがシステムボリューム以外のボリュームにインデックスを付けないようにするには、[システム環境設定]> [プライバシー]リストに/ Volumesを追加します。スポットライト

/ Volumesは、ファイルシステム内の、システム以外のすべてのディスクがデフォルトでマウントされている場所です。

enter image description here


10.8では/ Volumesを追加できません。ただし、個々のボリュームを一度に1つずつ追加することもできます。私はそれがに似ていると思う mdutil -i off /Volumes/xxx
Dima Tisnek

15
@qarma 10.8以降で/ Volumeを追加することは非常に可能です。 Finderウィンドウを開くだけです。 Shift + Command + G 「フォルダへ移動...」ウィンドウを表示するには、次のように入力します。 /Volumes次に、Finderウインドウ上部の「Volumes」の隣にある小さなフォルダアイコンを上のスクリーンショットのリストにドラッグします。
Chris Mukherjee

私はそれを試してみる必要があります...
Dima Tisnek

1
あなたは付け加えられます /Volumes、それだけでは動作しません。
kenny

1
私のマシンでは、内蔵ハードドライブは /Volumes/Macintosh HDそれで、これがうまくいったとしても、SpotlightがHDのインデックスを作成するのを止めないでしょうか。
LarsH

17
  1. USBドライブを挿入してください。
  2. 案内する Macintosh HD > Applications > Utilities ターミナルを開きます。
  3. ターミナルプロンプトで次のコマンドを入力します。 path_to_volume 本当のパスで:

    sudo mdutil -i off /path_to_volume

  4. Returnキーを押してください。

  5. パスワードの入力を求められたら、管理者パスワードを入力してからReturnキーを押します。 あなたは応答を受け取るでしょう:

    /path_to_volume/: Indexing disabled for volume. Mac OS X 10.4または

    /path_to_volume: Indexing disabled. Mac OS X 10.5以降の場合

    Spotlightは直ちに指定されたボリュームのインデックス作成を中止します。

  6. Mac OS X 10.5以降を使用している場合は、手順9に進みます。

  7. ターミナルプロンプトで、正しいパスを代入して次のコマンドを入力します。

    sudo mdutil -E /path_to_volume Returnキーを押します

  8. パスワードの入力を求められたら、管理者パスワードを入力してからReturnキーを押します。 あなたは応答を受け取るでしょう:

    /path_to_volume/: Volume index removed.

  9. ターミナルプロンプトで次のように入力します。 exit それからreturnキーを押します。
  10. ターミナルを終了します。

ありがとう thexlab.com 、Mac OS Xの電子書籍のトラブルシューティング、および他の方法が機能する理由の詳細な説明については、Webサイトを参照してください。


1
注意sudoは現在のユーザーのパスワードを要求します。
Mark

これは私のために働きました。 Spotlightによるディスク使用量は2GBから200kになりました。 spotlightが空のディスクのディスク使用量を多く占めるという事実は、 めちゃくちゃ 。このソリューションと、そこに入っているUSBデバイスの種類を検出してこのコマンドを自動的に実行する、ある種のUSBベースのトリガースクリプトを組み合わせることができるのでしょうか。それについて何かアイデアはありますか?
Otheus

15

(単なる)spotlightファイルを扱うもう1つの方法は、そのボリュームをSpotlightの除外リストに追加することです。デバイスを接続して、「システム環境設定」の「Spotlight」設定パネルに移動します。プライバシータブを選択します。そのボリュームをデスクトップからプライバシーリストにドラッグします。または、下部にある[+]ボタンを使用して追加します。そのボリュームでこれ以上スポットライトのインデックス作成は行われません。


残念ながら、ボリュームはマウント解除されるたびにプライバシーリストから削除されるようです。そのため、メモリカードやUSBメモリを差し込むたびにこれを繰り返す必要があります。
LarsH

9

2017年12月

あなたはこれらすべての年を経て、Appleはこれに対処するためにFinderに何かを組み込もうと思うでしょう。 USBディスクやSDカードを使って自分の車や他の機器でメディアを再生する人にとっては、依然として非常に一般的な問題です。

それにもかかわらず、開発者は数多くのアップルが承認したアプリでその空隙を埋めました。以前の回答にリストされているアプリは当時は優れていたかもしれませんが、最新バージョンのmacOSで動作するようには保守されていません。

私はまた、正体不明の開発者によって書かれた、ファイルシステムを完全に制御できるようなものをインストールすることに少し用心深いでしょう。 App Storeと取引をしたくないというのは1つのことですが、開発者としてAppleに登録したくないというのは別のことです。さらに、AppStoreからの何かは、少なくともAppleによる最小限の監査を受けており、それがインストールされているのと同じくらい簡単にあなたのコンピュータから削除することができます。

だから、あなたがこの「答え」を読んだときはいつでも、あなたへのアドバイスは App Storeで最新のもの、よくレビューされているもの、無料のものを検索してください。

TL; DR:

私の選択 2017年12月20日 App Storeからの "CleanMyDrive 2"です。問題を解決する、素敵なインターフェース、完全に無料。 (カスタマイズされたアイコンをアプリ内で購入できます。それ以外の場合は、すべて無料で利用できます。)

明日、もっと良いことが起こるかもしれませんが、肝心なのは、App Storeには何年も前にここで提起されたj-g-faustusのオリジナルでありながら長続きする質問に対する無料の簡単な解決策があるということです。

それで、これが答えより暴言のように思えるならば、私は謝罪します、しかし、確かに、前の答えの全てが時代遅れであり、そして有用な解決策につながらなかった。何も言わないと、より多くの人々がターミナルをいじったり、疑わしいアプリケーションをインストールしたりする時間を無駄にすることになります。に行くだけ App Store - あなたは支払う必要はありません。


6

デスクトップからデバイスを取り出す前に、MacOSターミナルのコマンドラインを使ってこれらのファイルとフォルダをすべてリストしたり削除したりします。ファイルによっては、/ bin / rmコマンドをsudoする必要があるかもしれません。


それは私がやることです。私がする必要がなければそれはさらに良いでしょうが、私は代替案を調査しています。
j-g-faustus

ところで、端末は/ Volumes /< name>のどこかにあります。
DerMike

4

私が使う クリーンイジェクト (無料)およびカスタムAutomatorサービス(まだプライベート)なので、ホットキーを割り当ててクリーンアップすることができます。アプリを使ってボリュームを取り出す。


Automator Serviceにアクセスできない場合、この回答はあまり役に立ちません。あなたもサービスを共有できますか?
nohillside

答えは絶対に役に立ちます - あなたはAutomatorアクションなしでアプリを使うことができます。あなたがクリーンイジェクトのための特別なショートカットキーを追加したいなら、あなたはたくさんのオプションがあります:アルフレッド、キーボードマエストロ。 Automatorアクションは必須ではありませんが、便利です。次のことができるときにアップロードします。 gingerbeardman.com/services
Matt Sephton

選択したファインダーボリュームをクリーンイジェクトするために使用するサービスが、サイトごとにアップロードされました(リンクについては上記を参照)。
Matt Sephton

アップロードしてくれてありがとう、答えをはるかに完成させる。
nohillside

4

@ Miles Leacyの投稿

と@ qarmaのコメント:

いいえ、これは それでも OSX 10.9でも可能ですが、いくつか追加の手順を実行する必要があります。

1)で ファインダ クリック 行く 次にクリック フォルダに移動...

2)タイプ /巻 そしてGoをクリックします。

3)Finderウィンドウが開きます。 ボリューム 頂点で。

これが最も重要なステップです。

4)それが言うところの隣 ボリューム Finderウインドウの上部に、小さな青いフォルダアイコンがあります。このアイコンをクリックして左にドラッグします。 お気に入り パネル。

5)Miles LeacyのようなSpotlight設定を含め、どこでもVolumesフォルダにアクセスできるようになります。 (必要なときはいつでも、 お気に入り それを選択するためのリンク)

お役に立てれば、

ベスト、

Vlad :)

~~~

How to add the Volumes folder to your Favorites so that you can access it in the Spotlight settings

~~~

Spotlight例外リストにVolumesフォルダを追加した後の外観は次のとおりです。

バックグラウンドで、Safariで私の投稿を見ることができます。 ;)

What it looks like after adding the Volumes folder to the Spotlight exceptions list


1
FWIW、これはすばらしい答えであり、コメントである必要はないと思います。その部分を削除して、そのままにしておきます。
Mark Edington

Mac HDはVolumesのサブフォルダなので、Mac HDのSpotlightも無効にしないのでしょうか。
LarsH

良い質問です。私はスポットライトが好きではないし、最近私のMacではそれを完全に無効にしているので、よくわからない。 3
Vladimir

3

.Trashesはフォルダではなくファイルになっているので、実際には.Trashesファイルに触れることがあなたの主な問題を解決するための最良の方法となります。つまり、ファイルを削除してもドライブがいっぱいになったときは、Appleはそのファイルを.Trashesフォルダに移動できません。

もう1つのオプションは、Cmd-Opt-Shift-Backspaceを押して、カードを取り出す前にカードの.Trashesコンテンツを強制的に空にすることです。

1番目の方法は、2番目の方法がすべてのドライブ上のすべてのごみ箱の内容に影響するため、実際には最善の方法です。

しかし、それはあなたがさまざまなドットファイルによるドライブの汚染についてもっと心配しているようにあなたの投稿から思われます。上記の手順に従うと、ディスクスペースを節約できますが、作成されるドットファイルは最小限になります。


2

隠しMac OSファイルを読み込もうとしているカーオーディオを止める簡単な方法は、Windows OSでそれらを削除することです。あなたのMP3音楽をiTunesからUSBメモリにコピーするだけです。スティックをWindows OSに交換し、フォルダオプションから隠しファイルを表示を選択します。これはあなたがそれらの厄介な.trasファイルを含むあなたの信頼できるMacがあなたのUSBスティックに置いた隠しファイルを一つ一つ削除することを可能にします。最後にWindows OS用です!


+1それは少し面倒ですが、確かに、そうではない、それは仕事を終わらせます笑。
Vladimir

2

私は無料アプリを使ってしまいました」 隠しクリーナー 「私の車のMP3プレーヤーが読み込もうとしていました。(MP3ファイル名).mp3(空の空のmp3ファイル)Finderの左側のメニューにあるDevicesセクションのMacintosh HDに移動し、USBドライブをHidden Cleanerにドラッグ&ドロップしてください。 app。それはホローファイルをクリーンアップして本物のMP3を残してあなたのUSBを取り出すでしょう。

注:これは恒久的な解決策ではありません。ファイルをコピーするたびに、上記の手順を実行する必要があります。でも構いません。


他の同様のプログラム:Windows用イジェクト www011.upp.so-net.ne.jp/decafish/EjectForWindows/…
Vinicius Pinto

ファイルシステムで遊ぶことになると、あなたのコンピュータを正体不明の開発者に信頼することはお勧めできません。私はただsayin 'です。
ElmerCat

2

昔の質問ですが、私はついに発見しました 無菌 。これは オープンソース すべてを制限することによってこの古くからの問題を解決する実用性 .DS_STORE デフォルトでディレクトリを1か所にまとめます。 /usr/local/.dscage
インストール後、再起動した後、USBドライブに.DS_STOREがなくなり、外部ドライブのインデックス作成を無効にする必要がなくなるという利点もあります。 バージョン1.4以降、OS X Mavericksもサポートしています。

Aepsisウェブサイトからの更新: "警告:無菌は現在開発中ではなく、OS X 10.11(El Capitan)以降でサポートされています。


クール!このプログラムはシステムクラッシュや極端なCPU負荷をどのように処理するのでしょうか。言い換えれば、私は、disycronizationが自動的に扱われるのだろうか、それともあなたの自己を行う必要があるのだろうか?私たちがそれを心配する必要はないのでAutomaticllyは良いですが、それはまたプログラムがもっと多くのチェックをしなければならないことを意味します。
Vladimir

2

ここでの解決策のほとんどは、「ドットファイルの作成を防ぐ」のではなく、「取り出し前にドットファイルをクリーンアップする」ことです。

前者のための無料の解決策を探して、私はいくつかのオプションを試してみました、そしてここでAppleScriptに決着しました: SuperUser:隠しファイルを削除するためのMac Terminalスクリプトがありますか? それは私が道に沿って起こっていることを正確に見ることを可能にするからです。

その答えに対する私のコメントでは、私がOSX 10.12.1で動くようにするためにちょっとした編集をしました。 (これはかなり「リンクにやさしい」質問であるように私はこの場合ソースを再投稿していません)。


2

私はこれを単純に貢献することができないという今までで最もばかげたこと メタクシスの答え。しかし、/ Volumes内のすべてのフォルダ(または指定した場合は特定のフォルダ)に対してこれを自動的に処理するbashスクリプトを作成するのは簡単です。フォルダが/ Volumesの下に表示されたときにAutomatorまたはApplescriptで起動できるようにする必要があります。その場合は、インデックス作成が自動的に無効になります。

#!/bin/bash

if [ -n "$1" ]; then
    if [ ! -e "${1}/.metadata_never_index" ]; then
        echo "mdutil -i off $1"
        mdutil -i off "$1"
        cd "$1"
        rm -rf .{,_.}{fseventsd,Spotlight-V*,Trashes}
        mkdir .fseventsd
        touch .fseventsd/no_log .metadata_never_index .Trashes
    fi
else
#    echo "finding Volumes"
    find /Volumes -type d -maxdepth 1 -mindepth 1 -print0 | xargs -0 -n 1 "$0"
fi

2

MacOSはターミナルから切り替えることができるようになりました。

defaults write com.apple.desktopservices DSDontWriteUSBStores -bool true

1
質問の一部には良い答えです。これはDS_Storeを無効にします、しかし質問は特にあなたの解決策(私が読むことができるものから)について何もしないゴミとSpotlightファイルに関するものでした。
Otheus

0

私は無料でApple App StoreでこのAppを見つけてそれを使用しました、そしてそれは私にとって素晴らしい仕事をしました。 あなたはApp Storeで引用符なしで "cleanusbdrive"すべて1語を検索する必要があります。

JoséA.JiménezCamposによるものです。




-1

AutomatorのSierra 10.12.3で動作するようにこれを得ました。

まず、このバージョンのスクリプトを作成しました。 これはfreefly42と同じように機能しますが、同じことを書くのは異なる方法です。

ネイティブではないbashスピーカーのために翻訳すると、それは何をするのですか:

コマンドライン引数を指定して実行した場合、引数がディレクトリかどうか、およびそのディレクトリに ".disable_osx metadata"という名前のファイルが含まれているかどうかを確認します。

特殊ファイルが存在しない場合は、何も起こりません。そのドライブは無視されます。

特別なファイルがある場合、スクリプトはすべてのosxメタデータを削除し、他のことを妨げるいくつかの小さな新しい項目を作成します。たとえば、.Trashesという名前のファイルを作成すると、OSは.Trashesという名前のディレクトリを作成してそこにファイルを書き込むことができなくなります。

引数なしで実行すると、/ Volumes内の各ディレクトリに対して1回ずつ実行されます。

したがって、手動で実行するかクリックすると、接続されているすべてのドライブがチェックされます。 Automatorでワークフローを作成した場合、Automatorはドライブが接続されているときはいつでもそのドライブに対してのみそれを実行します。

#!/bin/bash
x=.disable_osx_metadata
[[ "$1" ]] || exec find /Volumes -type d -maxdepth 1 -mindepth 1 -exec $0 {} \;
[[ -e "$1/$x" ]] || exit 0
mdutil -i off "$1"
rm -rf "$1"/.{,_.}{fseventsd,Spotlight-V*,Trashes}
mkdir "$1/.fseventsd"
touch "$1/.fseventsd/no_log" "$1/.Trashes" "$1/$x"

"disable_osx_metadata"としてchmod 755として保存し、/ usr / local / binにコピーします。

$ cd Documents/disable_osx_metadata/
$ chmod 755 disable_osx_metadata
$ sudo cp disable_osx_metadata /usr/local/bin

それからAutomator、New、Folder Actionを開く。

それから、私はSierra 10.12.3でも、Automatorに/ Volumesディレクトリを追加できることを、明白でない方法で確認できます。

Finder、File、「Go To Folder ...」の順に選択し、手動で「/ Volumes」と入力してEnterキーを押します。

今、これはあなたにあなたのHDとusbドライブを持っているウィンドウを見せます、しかしクリックするべき明白な "/ Volumes"フォルダー。 しかし、タイトルバーに "/ Volumes"と表示されていて、一番下にも表示されています。

[/ Volumes]の横にあるフォルダアイコンをタイトルバーまたは下からAutomatorにドラッグして、[フォルダアクションで追加されたファイルやフォルダを受け取る]にドロップすることができます。[______]

Drag /Volumes from Finder Title Bar

Finderを閉じます。

Automatorに戻る:左にスクロールして「Get Folder Contents」を右にドラッグしてドロップします。

次に、左側をもう一度スクロールして「Run Shell Script」を右にドラッグし、「Get Folder Contents」の下にドロップします。

「Pass input:」を「arguments as」に変更します。 シェル:[/ bin / bash]入力:[引数として]

それから/ usr / local / binから "Run Shell Script"の下のボックスにスクリプトをドラッグしてください。 "/ usr / local / bin / disable_osx_metadata"

ファイル、保存、disable_osx_metadata.workflow

Automator Folder Action Workflow

参考までに、これは次の場所に保存されます。 /ユーザー/自分の名前/ライブラリ/ワークフロー/アプリケーション/フォルダアクション 間違ったものを保存した場合は、それを削除するためにFinderで手動で移動する必要があると思います。

最後に、保護する新しいUSBドライブごとに、ルートフォルダに ".disable_osx_metadata"という名前のファイルを作成する必要があります。

あなたはターミナルでそれをすることができます:     $ touch / Volumes / NO \ NAME / .disable_osx_metadata

または、小さなテキストファイルを目に見える名前(先頭にドットを付けず)を付けて保存し、新しいusbドライブのルートにコピーして、コピー後に.disable_osx_metadataという名前に変更します。

そのドライブはこれから接続するたびにきれいになります。

私が望むほどきれいではありません。あなたはそれをもっと汚染しないようにOSに伝えるために、ドライブを少し汚染する必要があります。 OSが単純にそのままにして、あなたが要求しなかったファイルを追加しないようにする方法はないようです。

TODO:ドットファイルを作成/削除するための有効/無効機能を追加しました。

TODO:これはすべてのディレクトリの.DS_Storeファイルを妨げるわけではありません。

TODO:ユーザーがこれらの手動の指示の大部分をスキップできるように、スクリプトとfoo.workflowファイルをパッケージ化することは可能ですか? Automatorには、ある種のパッケージファイルを作成する「エクスポート」オプションがあります。

TODO:この記事全体をおそらく時代遅れにする。このAppleScript + automatorのワークフローはもっと良いかもしれません。 https://superuser.com/questions/319553/does-anyone-have-a-mac-terminal-script-to-remove-hidden-files/814104#814104

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