Hindra Spotlight från att indexera externa hårddiskar
2010-05-27
Spotlight är bra, men det är irriterande att den tvunget måste indexera alla diskar den får tag på. Här skapar vi en tjänst via launchd
som körs varje gång en disk monteras. Scriptet touchar filen .metadata_never_index
(som förhindrar Spotlight från att skapa sitt index; läs detta) på disken.
Först launchd-tjänsten.
Skapa filen:~/Library/LaunchAgents/com.index.no_index.plist
och stoppa in följande:<?xml version="1.0" encoding="UTF-8"?>
<?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>com.index.no_index</string>
<key>Disabled</key>
<false/>
<key>Program</key>
<string>/Users/*DITT_NAMN*/no_index</string>
<key>StartOnMount</key>
<true/>
<key>RunAtLoad</key>
<false/>
<key>KeepAlive</key>
<false/>
<key>EnableTransactions</key>
<true/>
</dict>
</plist>
Glöm inte att ändra *DITT_NAMN*.
Nu skall scriptet som verkligen gör något skapas. Skapa filen no_index och stoppa in följande:#!/bin/bash
for filename in /Volumes/*
do
if [[ $filename != "/Volumes/Macintosh HD" && $filename != "/Volumes/BOOTCAMP" ]]
then
file=$filename"/.metadata_never_index"
touch "$file"
fi
done
Gör filen exekverbar med chmod +x no_index
.
Nu skall launchd kittlas:$ launchctl load -w ~/Library/LaunchAgents/com.index.no_index.plist
$ launchctl start com.index.no_index