Spotlight가 향후 하드 드라이브를 색인화하지 못하도록 방지


6

매버릭스를 사용하면 Spotlight가 기본 내장 드라이브를 제외한 모든 드라이브의 색인을 생성하지 못하게하려면 어떻게해야합니까? 저는 매주 수십 개의 새 드라이브를 연결하고 .Spotlight-V100 폴더를 만들고 싶지 않습니다.

각 드라이브를 Spotlight 개인 정보 보호 목록에 추가 할 수 있지만 드라이브를 연결 한 후에 만 ​​수행 할 수 있으며 .Spotlight-V100 폴더가 이미 생성되어 있습니다.

Spotlight를 완전히 비활성화 할 수 있지만 내부 드라이브의 색인 작성 편의성이 떨어집니다. 내부 드라이브에만 Spotlight를 사용하고 아직 연결되지 않은 드라이브를 포함하여 다른 모든 드라이브에 대해서는 Spotlight를 비활성화하고 싶습니다.


USB 포트를 비활성화하는 것과 같은 것입니까?
Ruskes

답변:


3

라는 파일

.metadata_never_index

볼륨의 루트에 배치하면 인덱싱 동작이 억제됩니다.

이 파일을 자동으로 생성 할 수 있습니다

다음 파일은 루트로 작성해야합니다

다음 쉘 스크립트는 활성 (30 일 미만) 스포트라이트 항목을 찾을 수없는 경우 필수 파일을 작성합니다.

/var/root/unindex.sh

이것을 만들기 위해

sudo vi /var/root/unindex.sh

또는 원하는 텍스트 편집기를 사용하십시오

내용은

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

실행할 수 있는지 확인하십시오 ...

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

이제 시작할 항목을 추가하고 파일을 만듭니다.

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

이것을 만들기 위해

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

내용과 함께

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

이제 작업을 활성화

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

디스크를 마운트 할 때마다 작업이 시작됩니다. 콘솔에서 'unindex'로 필터링 된 메시지가 있는지 확인하십시오.

 26/06/2014 09:02:35.824 unindex[1362]: creating /Volumes/hfs/.metadata_never_index

매우 철저한 답변, 감사합니다. 나는 이것을 내일 시험해 볼 것이다. StartOnMount 기능을 알지 못했습니다. Spotlight가 색인 작성을 시작하기 전에이 스크립트가 충분히 빠르게 실행됩니까?
엘리엇

한 드라이브에서는 작동했지만 다른 드라이브에서는 작동하지 않았습니다. syslog는 인덱스 해제가 시작되기 직전에 Spotlight가 작동하는 것을 보여줍니다. 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
엘리엇

스포트라이트 폴더가없는 드라이브에서는 실패한 것 같습니다
Paddy Carroll

무작위 인 것 같습니다. 나는 오늘 약 12 ​​개의 드라이브를 시도했지만 그중 어느 것도 Spotlight 폴더를 포함하지 않습니다. 그 중 절반은 스크립트가 먼저 실행되고 다른 절반은 스포트라이트가 먼저 실행됩니다.
엘리엇

1
좋아, mdutil의 njboots 제안을 사용하여 볼륨 인덱싱 스포트라이트를 명시 적으로 중지했습니다. Spotlight 및 Mount 이벤트는 비동기식으로 실행되므로 우선 순위가 무작위입니다. 편집은 unindex.sh 파일에 있습니다.
패디 캐롤

2

명령 행 도구 mdutil을 사용 하십시오 .

예를 들어, "LEAVE_ME_BE"라는 HFS + 저널링 볼륨을 연결한다고 가정하십시오.

볼륨 인덱싱을 비활성화하려면 다음 명령을 사용하십시오. 소유권이 활성화 된 경우 sudo필요에 따라 실행 :

sudo mdutil -i off /Volumes/LEAVE_ME_BE

연결된 모든 볼륨의 인덱싱 상태를 확인하십시오.

mdutil -s /Volumes/*

추가 옵션에 대해서는 위에 링크 된 매뉴얼 페이지를 읽으십시오.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.