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.