Wie kann ich mit Mavericks verhindern, dass Spotlight alle Laufwerke außer meinem primären internen Laufwerk indiziert? Bei meiner Arbeit verbinde ich jede Woche Dutzende neuer Laufwerke und möchte nicht, dass der Ordner .Spotlight-V100 darauf erstellt wird.
Ich weiß, dass ich jedes Laufwerk zur Spotlight-Datenschutzliste hinzufügen kann, aber das kann nur erfolgen, nachdem das Laufwerk angeschlossen wurde, und dann wurde der Ordner .Spotlight-V100 bereits erstellt.
Ich könnte Spotlight vollständig deaktivieren, aber dann verliere ich den Komfort, mein internes Laufwerk zu indizieren. Ich möchte Spotlight nur für mein internes Laufwerk verwenden und es für alle anderen Laufwerke deaktivieren, einschließlich derjenigen, die noch verbunden werden müssen.
Eine Datei namens
.metadata_never_index
Platz im Stammverzeichnis jedes Volumes unterdrückt das Indizierungsverhalten.
Sie können diese Datei automatisch generieren
Die folgenden Dateien müssen als root erstellt werden
Das folgende Shell-Skript erstellt die erforderliche Datei, falls kein aktiver (weniger als 30 Tage alter) Spotlight-Eintrag gefunden wird.
/var/root/unindex.sh
um dies zu erstellen
sudo vi /var/root/unindex.sh
oder verwenden Sie Ihren bevorzugten Texteditor
Der Inhalt sollte sein
#!/bin/bash
# suppress spotlight indexing of new volumes
# pc 26-june-2014 v0.1
# v 0.2 27-june-2014 add mdutil
# get the last volume mounted
vol=$(df)
vol=${vol##*%}
echo $vol
# is this a volume that has been indexed in the past month
count=$(find ${vol}/.Spotlight-V100 -mtime -30 | wc -l )
[[ $count -gt 1 ]] && {
# then it remains so
logger -t unindex spotlight activity detected in last 30 days
exit 0
}
# else create index supression file
logger -t unindex creating ${vol}/.metadata_never_index
touch ${vol}/.metadata_never_index
# and stop spotlight indexing the drive
logger -t unindex mdutil -i off /Volumes/${vol}
mdutil -i off /Volumes/${vol}
stellen Sie sicher, dass es ausgeführt werden kann ...
sudo chmod a+x /var/root/unindex.sh
Fügen Sie nun einen Eintrag zu launchd hinzu, erstellen Sie die Datei
/Library/LaunchDaemons/org.misctools.unindex.plist
um dies zu erstellen
sudo vi /Library/LaunchDaemons/org.misctools.unindex.plist
mit Inhalt
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>org.misctools.unindex</string>
<key>ProgramArguments</key>
<array>
<string>/var/root/unindex.sh</string>
</array>
<key>RunAtLoad</key>
<false/>
<key>StartOnMount</key>
<true/>
</dict>
</plist>
Aktivieren Sie nun den Job
sudo launchctl load /Library/LaunchDaemons/org.misctools.unindex.plist
Der Job wird jedes Mal gestartet, wenn Sie eine Festplatte mounten. Suchen Sie in der Konsole nach Nachrichten, die nach „unindex“ für seine Aktionen gefiltert wurden, z. B. von meinem Computer
26/06/2014 09:02:35.824 unindex[1362]: creating /Volumes/hfs/.metadata_never_index
Jun 26 19:33:00 macpro mds[12724]: (Normal) Volume: volume:0x7fa145816800 ********** Bootstrapped Creating a default store:3 SpotLoc:/Volumes/B025_0626AI/.Spotlight-V100 SpotVerLoc:/Volumes/B025_0626AI/.Spotlight-V100/Store-V1 occlude:0 /Volumes/B025_0626AI Jun 26 19:33:00 macpro unindex[13367]: creating /Volumes/B025_0626AI/.metadata_never_index
Verwenden Sie das Befehlszeilentool mdutil .
Angenommen, Sie verbinden ein HFS+-Journaled-Volume mit dem Namen „LEAVE_ME_BE“.
Verwenden Sie den folgenden Befehl, um die Indizierung des Volumes zu deaktivieren. Wenn der Besitz aktiviert ist, wird nach sudo
Bedarf ausgeführt:
sudo mdutil -i off /Volumes/LEAVE_ME_BE
Überprüfen Sie den Indizierungsstatus aller verbundenen Volumes:
mdutil -s /Volumes/*
Lesen Sie die oben verlinkte Manpage für weitere Optionen.
Zwieback