2016-04-19 11 views
13

के रूप में बिन के अंदर एक सिमलिंक नहीं बना सकता जब मैं अपने/usr/bin फ़ोल्डर में एक द्विआधारी सिमलिंक करने की कोशिश, मैं एक ऑपरेशन त्रुटि की अनुमति नहीं मिलती है:/usr/भी sudo

sudo ln -s /usr/bin/python2.7 /usr/bin/python2 
ln: /usr/bin/python2: Operation not permitted 

यहां तक ​​कि sudo के रूप में, मुझे यह त्रुटि मिलती है।

+0

आपका 1.OS 2. वितरण 3. फ़ाइल सिस्टम क्या है? –

+0

मैक ओएसएक्स एल कैपिटन 10.11.4 – egidra

+0

क्या आपने निम्न कोशिश की है: http://stackoverflow.com/questions/32659348/operation-not-permitted-when-on-root-el-capitan-rootless- अक्षम? –

उत्तर

26

एल कैपिटन की नई System Integrity Protection सुविधा ओएस एक्स के कई मुख्य भागों में परिवर्तन को रोकती है, जिनमें अधिकांश/usr, रूट द्वारा भी शामिल है। स्थानीय अनुकूलन, जैसे कि आप क्या कर रहे हैं, इसके बजाय/usr/local में हैं।/Usr/स्थानीय/बिन डिफ़ॉल्ट रूप से मौजूद नहीं है, लेकिन आप इसे में यह कस्टम बाइनरी (और सिमलिंक) बना सकते हैं और रख सकते हैं:

sudo mkdir -p /usr/local/bin 
sudo ln -s /usr/bin/python2.7 /usr/local/bin/python2 

(ध्यान दें कि जब/usr/स्थानीय/बिन मौजूद नहीं है डिफ़ॉल्ट रूप से, यह डिफ़ॉल्ट पथ में इसलिए जितनी जल्दी आप इसे बनाने के रूप में, यह आदेशों के लिए खोज की जाने वाली राशि है,।)

यह भी सिस्टम वफ़ादारी संरक्षण निष्क्रिय करने के लिए संभव है, लेकिन उस पर छोड़ आम तौर पर सबसे अच्छा है और अधिक उचित स्थानों में अनुकूलन करें। this apple.SE question for more details देखें।

+0

इस जवाब ने मुझे एक समस्या का समाधान करने में मदद की। धन्यवाद! – Adam

-1

सिस्टम को पुनरारंभ करें -> लंबे समय तक cmd + R दबाएं। उपयोगिता मेनू से टर्मिनल का चयन करें निम्न आदेश csrutil अक्षम निकट टर्मिनल और सिस्टम को पुनरारंभ करें।

+1

यह सिस्टम इंटीग्रटी प्रोटेक्शन को अक्षम करता है। इसके बजाए एक और अधिक सुरक्षित समाधान खोजने के लिए शायद सबसे अच्छा है। – MattSidor

1

मैं मैं भी "/ usr/bin" में प्रतीकात्मक कड़ी बनाने के लिए कोशिश कर रहा था और कार्रवाई की अनुमति नहीं हो रही थी

sudo ln -s /Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl /usr/local/bin/ 

के रूप में मैक ओएस उच्च सिएरा में उदात्त पाठ 3 के लिए सांकेतिक लिंक बनाया।

फिर मैंने "/ usr/local/bin" में प्रतीकात्मक लिंक बनाया और त्रुटि नहीं थी। प्रतीकात्मक लिंक ठीक काम करता है। बस सुनिश्चित करें कि "/ usr/local/bin" पथ में है।

तो, ऐसा लगता है कि "/ usr/bin" तक पहुंच प्रतिबंधित है।

संबंधित मुद्दे