बाहरी ड्राइव अनुक्रमणिका से स्पॉटलाइट रोकें


8

मैं कभी-कभी उस पर macOS सिएरा के साथ एक बाहरी एसएसडी का उपयोग करता हूं, मेरे वर्तमान आंतरिक ड्राइव के संयोजन में जो उस पर मैकओएस सिएरा चल रहा है।

स्पॉटलाइट के बारे में एक कष्टप्रद बात यह है कि जब भी मैं अपने बाहरी ड्राइव से चल रहा होता हूं, उदाहरण के लिए उसमें कुछ खोजता हूं, तो मुझे मेरे बाहरी और आंतरिक ड्राइव दोनों से परिणाम मिलते हैं , जो कि मैं नहीं चाहता।

जब मैंने अपने बाहरी ड्राइव में बूट किया, तो मैंने आंतरिक ड्राइव के लिए स्पॉटलाइट अपवाद बनाने की कोशिश की। हालांकि, ऐसा लगता है कि अगर मैं ऐसा करता हूं, तो जब मैं अपने आंतरिक ड्राइव में बूट करता हूं, तब भी मेरी आंतरिक ड्राइव के लिए एक अपवाद बनाया जाता है इस प्रकार, ऐसा लगता है जैसे स्पॉटलाइट बहिष्करण लैपटॉप से ​​बंधे हैं , न कि ड्राइव - जिसका अर्थ है कि मेरी आंतरिक ड्राइव को स्पॉटलाइट के परिणामों से बाहर रखा जाएगा, इससे कोई फर्क नहीं पड़ता कि मैं किस बाहरी ड्राइव से बूट करता हूं।

जब मैं अपने बाहरी ड्राइव से चल रहा होता हूं, तो अपने आंतरिक ड्राइव के लिए स्पॉटलाइट अपवाद बनाना संभव होता है, और इसी तरह जब मैं अपने आंतरिक ड्राइव से चल रहा होता हूं तो अपने बाहरी ड्राइव के लिए एक अपवाद रखता हूं?

जवाबों:


10

आपके पास एक स्क्रिप्ट हो सकती है जो स्टार्टअप पर चलती है जो इस पोस्ट में सुझाई गई तकनीक को नियोजित करती है https://apple.stackexchange.com/a/91759/183505

जब ड्राइव से बूट करना (जब आप बाहरी ड्राइवबी के लिए स्पॉटलाइट इंडेक्सिंग को निष्क्रिय करना चाहते हैं) तो आप निष्पादित कर सकते हैं:

touch /Volumes/DriveB/.metadata_never_index

जब बाहरी DriveB से बूटिंग और आप स्पॉटलाइट को फिर से सक्षम करना चाहते हैं, तो शायद आप अपनी स्टार्टअप स्क्रिप्ट निष्पादित कर सकते हैं:

rm /Volumes/DriveB/.metadata_never_index

लिंक की गई पोस्ट सुर्खियों के बहिष्करण को बदलने के लिए अन्य तरीकों को भी सूचीबद्ध करती है।

यहां स्क्रिप्ट जोड़ने के कुछ तरीके दिए गए हैं जो लॉगिन पर लॉन्च होंगे: https://stackoverflow.com/questions/6442364/running-script-upon-login-mac

सौभाग्य!


संपादित करें: बैश स्क्रिप्ट और प्लिस्ट फ़ाइलों का उपयोग करने की विधि


सबसे पहले एक स्टार्टअप स्क्रिप्ट बनाएं। मैंने एक पर बनाना चुना~/script.sh

सुनिश्चित करें कि यह निष्पादन योग्य है chmod +x ~/script.sh

ओएस के लिए स्क्रिप्ट जो स्पॉटलाइट से ड्राइव को छिपाना चाहती है

#!/bin/bash
flagLocation="/Volumes/DriveToHide"
flagRemoved=".ney_the_index"  # a new name

# if flag exists rename it.
if [ -a "$flagLocation/.metadata_never_index" ]; then 
    mv "$flagLocation/.metadata_never_index" "$flagLocation/$flagRemoved";
fi

ओएस पर स्क्रिप्ट जो ड्राइव को इंडेक्स करना चाहती है

#!/bin/bash
flagLocation="/Volumes/DriveToHide"
flagRemoved=".ney_the_index"

if [ -a "$flagLocation/$flagRemoved" ]; then
    mv "$flagLocation/$flagRemoved" "$flagLocation/.metadata_never_index"
fi

if [ ! -a "$flagLocation/$flagRemoved" ] || [ ! -a "$flagLocation/.metadata_never_index" ] ; then
    touch "$flagLocation/.metadata_never_index"
fi

एक प्लास्ट फाइल बनाएं ~/Library/LaunchAgents/com.user.loginscript.plist

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
   <key>Label</key>
   <string>com.user.loginscript</string>
   <key>Program</key>
   <string>/Users/yourusername/script.sh</string>
   <key>RunAtLoad</key>
   <true/>
</dict>
</plist>

इसे लोड करके और उतारकर इसका परीक्षण करें:

launchctl load ~/Library/LaunchAgents/com.user.loginscript.plist

ऐसा लगता है कि यह करने का सबसे अच्छा तरीका है। मैं एक तरह से कुछ और "देशी" की उम्मीद कर रहा था, लेकिन यह काफी विश्वसनीय होना चाहिए। धन्यवाद।
कंकाल बो

मैं एक समस्या का उल्लेख करना चाहता हूं rmजिसे मैं इसे लागू करने का प्रयास कर रहा हूं: कमांड को आवश्यकता है कि मैं इसका उपयोग करके चलाऊं sudo। मैं आपके द्वारा पोस्ट किए गए SO लिंक में पहली विधि का उपयोग कर रहा हूं। क्या आपके पास इसके लिए कोई सुझाव होगा? क्या मुझे इसे दूर करने के लिए लॉन्च डेमॉन विधि का उपयोग करने की आवश्यकता है?
कंकाल बो

मैंने अपने जवाब को थोड़े हैक किए गए समाधान के साथ अपडेट किया।
हंपी

2
यदि DriveToHideस्थान है, तो आपकी स्क्रिप्ट , जैसा कि वर्तमान में लिखा गया है, विफल हो जाएगी। यदि आप परीक्षण करने जा रहे हैं, [ ... ]तो ब्लबिंग और शब्द विभाजन को रोकने के लिए चर को दोहराएं। या [[ ... ]]परीक्षण करने के लिए उपयोग करते हैं, तो डबल उद्धृत करना आवश्यक नहीं है।
user3439894

अच्छा! धन्यवाद user3439894 मैंने आपके सुझाव को दर्शाने के लिए उत्तर को अद्यतन किया।
3

2

नए उत्तर के लिए माफी (टिप्पणी के लिए पर्याप्त प्रतिनिधि नहीं है क्योंकि मैं यहां नया हूं)

@ हप्पी - मैं भ्रमित हो सकता हूं, लेकिन क्या स्क्रिप्ट गलत तरीके से गोल हैं?

ओएस के लिए स्क्रिप्ट जो स्पॉटलाइट से ड्राइव को छिपाना चाहती है: नाम .metadata_never_index

ओएस पर स्क्रिप्ट जो ड्राइव को इंडेक्स करना चाहती है: बनाता है .metadata_never_index

मुझे लगा कि .metadata_never_indexआयतन की उपस्थिति का मतलब है कि स्पॉटलाइट ने इसे अनदेखा कर दिया है?

धन्यवाद


मेरा अनुभव है कि .metadata_never_indexmacOS पर कोई प्रभाव नहीं है 10.13 - superuser.com/questions/591406/… ...
Anon

-2

जबकि अन्य उत्तर इसे करने का एक अच्छा तरीका है, यह अनजाने में समस्या पैदा कर सकता है और 100% विश्वसनीय नहीं हो सकता है। एक बेहतर तरीका अल्फ्रेड का उपयोग करना होगा , क्योंकि यह बाहरी ओएस पर स्पॉटलाइट की तुलना में अधिक लचीला है।


आप इसके लिए अल्फ्रेड का उपयोग कैसे करेंगे?
मैट सेफ़टन

अच्छा प्रश्न। काश, मुझे याद आता कि कैसे। मेरा मानना ​​है कि मैं उस तरीके के बारे में बात कर रहा था, जिसमें आप बिना किसी बहिष्करण विधि का उपयोग किए बिना फ़ोल्डर्स को अल्फ्रेड खोज से बाहर कर सकते हैं जो अन्य उत्तर में सुझाया गया था।
कंकाल बो
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.