Impedisce a Spotlight di indicizzare dischi rigidi futuri

6

Usando Mavericks, come posso impedire a Spotlight di indicizzare tutte le unità tranne la mia unità interna primaria? Nel mio lavoro collego dozzine di nuove unità ogni settimana e non voglio che la cartella .Spotlight-V100 venga creata su di esse.

So di poter aggiungere ogni unità all'elenco di privacy Spotlight, ma è possibile farlo solo dopo aver collegato l'unità, e quindi la cartella .Spotlight-V100 è già stata creata.

Potrei disabilitare completamente Spotlight, ma poi perdo la comodità di indicizzare la mia unità interna. Voglio utilizzare Spotlight solo per la mia unità interna e disattivarlo per tutte le altre unità, incluse quelle che devono ancora essere connesse.

    
posta Elliott 26.06.2014 - 06:14
fonte

2 risposte

3

Un file chiamato

.metadata_never_index

la posizione nella radice di qualsiasi volume sopprimerà il comportamento dell'indicizzazione.

È possibile generare questo file automaticamente

i seguenti file devono essere creati come root

il seguente script della shell creerà il file richiesto se non si trova una voce spotlight attiva (meno di 30 giorni).

/var/root/unindex.sh

per creare questo

sudo vi /var/root/unindex.sh

o usa il tuo editor di testo preferito

Il contenuto dovrebbe essere

#!/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}

assicurati che possa essere eseguito ...

sudo chmod a+x /var/root/unindex.sh

ora aggiungi una voce a launchd, crea il file

/Library/LaunchDaemons/org.misctools.unindex.plist

per creare questo

sudo vi /Library/LaunchDaemons/org.misctools.unindex.plist

con contenuti

<?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>

ora attiva il lavoro

sudo launchctl load /Library/LaunchDaemons/org.misctools.unindex.plist

il processo verrà avviato ogni volta che si monta un disco, cercare nella console i messaggi filtrati da "unindex" per le sue azioni, ad es. dalla mia macchina

 26/06/2014 09:02:35.824 unindex[1362]: creating /Volumes/hfs/.metadata_never_index
    
risposta data 26.06.2014 - 10:12
fonte
2

Utilizza lo strumento della riga di comando mdutil .

Ad esempio, supponi di connettere un volume journaled HFS + denominato "LEAVE_ME_BE"

Utilizzare il seguente comando per disabilitare l'indicizzazione del volume. Se la proprietà è abilitata, potrebbe essere necessario eseguire sudo :

sudo mdutil -i off /Volumes/LEAVE_ME_BE

Verifica lo stato dell'indicizzazione di tutti i volumi collegati:

mdutil -s /Volumes/*

Leggi la pagina man collegata sopra per ulteriori opzioni.

    
risposta data 26.06.2014 - 10:48
fonte

Leggi altre domande sui tag