Usando Mavericks, ¿cómo puedo evitar que Spotlight indexe todas las unidades excepto mi unidad interna principal? En mi trabajo, conecto docenas de unidades nuevas cada semana y no quiero que se cree la carpeta .Spotlight-V100 en ellas.
Sé que puedo agregar cada unidad a la lista de privacidad de Spotlight, pero eso solo se puede hacer después de conectar la unidad y luego la carpeta .Spotlight-V100 ya se ha creado.
Podría deshabilitar Spotlight por completo, pero luego pierdo la conveniencia de indexar mi disco interno. Quiero usar Spotlight solo para mi unidad interna y deshabilitarlo para todas las demás unidades, incluidas las que aún no se han conectado.
Un archivo llamado
.metadata_never_index
lugar en la raíz de cualquier volumen suprimirá el comportamiento de indexación.
Puedes generar este archivo automáticamente
los siguientes archivos deben crearse como root
el siguiente script de shell creará el archivo necesario en caso de que no se encuentre una entrada de Spotlight activa (menos de 30 días).
/var/root/unindex.sh
para crear esto
sudo vi /var/root/unindex.sh
o usa tu editor de texto preferido
Los contenidos deben ser
#!/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}
asegúrese de que se puede ejecutar...
sudo chmod a+x /var/root/unindex.sh
ahora agregue una entrada a launchd, cree el archivo
/Library/LaunchDaemons/org.misctools.unindex.plist
para crear esto
sudo vi /Library/LaunchDaemons/org.misctools.unindex.plist
con contenido
<?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>
ahora activa el trabajo
sudo launchctl load /Library/LaunchDaemons/org.misctools.unindex.plist
el trabajo se iniciará cada vez que monte un disco, busque en la consola los mensajes filtrados por 'unindex' para sus acciones, por ejemplo, desde mi máquina
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
Utilice la herramienta de línea de comandos mdutil .
Por ejemplo, supongamos que conecta un volumen registrado en HFS+ llamado "LEAVE_ME_BE"
Use el siguiente comando para deshabilitar la indexación del volumen. Si la propiedad está habilitada, ejecutar según sudo
sea necesario:
sudo mdutil -i off /Volumes/LEAVE_ME_BE
Verifique el estado de indexación de todos los volúmenes conectados:
mdutil -s /Volumes/*
Lea la página de manual vinculada anteriormente para obtener más opciones.
Ruscos