एल कैपिटन में काढ़ा बनाना


38

मैंने अभी अपग्रेड किया El Capitan, और जब मैंने अपडेट करने का प्रयास किया तो मुझे brewनिम्नलिखित त्रुटि मिली:

$ brew update
Error: The /usr/local directory is not writable.
Even if this directory was writable when you installed Homebrew, other
software may change permissions on this directory. Some versions of the
"InstantOn" component of Airfoil are known to do this.

You should probably change the ownership and permissions of /usr/local
back to your user account.
  sudo chown -R $(whoami):admin /usr/local

इससे पहले कि मैं chownसिफारिश के साथ आगे बढ़ूं, यह देखते हुए कि एल कैपिटन अभी-अभी बाहर आए हैं, क्या यह सही तरीका है? यह कदम क्यों आवश्यक है, और इस आदेश को चलाने के कोई संभावित अवांछनीय परिणाम क्या हैं ?

मामले में यह मदद करता है, मैं में एल कैपिटन के बारे में दो मुद्दों पाया brew: 40,837 और 41,665 लेकिन इस समस्या का समाधान तुरंत स्पष्ट नहीं था। brewएल कैपिटन में मज़बूती से उपयोग करने के लिए मैं क्या कर सकता हूं ?


2
आपने जो संदेश सुझाया है, उसके स्वामित्व को बदल दें /usr/local?
user3439894

यह एक ही मशीन पर कई उपयोगकर्ताओं (या कई खातों वाले अलग-अलग प्रोफ़ाइल वाले एक उपयोगकर्ता) के मामले में एक उत्कृष्ट प्रश्न उठाता है।
वॉल्ट स्टोनबर्नर

4
टाइपिंग sudo chown -Rसे मुझे वसीयत मिलती है। इससे कोई फर्क नहीं पड़ता कि अन्य पैरामीटर क्या हैं। मेरे पास Homebrew से अधिक है /usr/local, और यह स्पष्ट रूप से सुरक्षित कमांड नहीं है। मैंने टाइम मशीन के माध्यम से पुष्टि की कि एल कैपिटन chownएड को स्थापित करना , विशेष रूप से /usr/local, और उपनिर्देशिका नहीं। इस प्रकार मैं एक गैर-पुनरावर्ती प्रत्यावर्तन करने के साथ दूर होने में सक्षम था, अर्थात sudo chown $(whoami):admin /usr/local। YMMV।
डुओजमो

@duozmo सही है। -Rमें sudo chown -Rवास्तव में भारी सौंप दिया गया है। यह संपूर्णता से अधिक दावा किए गए डोमेन को ब्रू करने के लिए समान है/usr/local
HairOfTheDog

जवाबों:


31

मेरा मतलब है कि वे आपको वहीं समाधान देंगे। मुझे भी यही समस्या थी और मैं भाग गया:

  sudo chown -R $(whoami):admin /usr/local

और यह काम किया।


1
+1 के रूप में मुझे अपने उपयोगकर्ता की अनुमति को रीसेट करने की आवश्यकता है। इस छोटे से तमाशे के बाद और कोई समस्या नहीं - होमब्रे और मेरे पैकेज 10.11 को बहुत विश्वसनीय रहे हैं।
bmike

22
यह वास्तव में इस सवाल का जवाब नहीं देता है: कोई यह मान सकता है कि Apple ने एक कारण के लिए / usr / लोकल को लॉक कर दिया है और यह ठीक नहीं है कि वह Capitan के लिए उपयुक्त नहीं है। मैं अब यह देखने के लिए तैयार हूँ कि क्या Apple कुछ मार्गदर्शन प्रदान करता है। प्रश्न "... यह देखते हुए कि एल कैपिटन अभी-अभी बाहर आया है, क्या यहाँ आगे बढ़ने का सही तरीका है?"
माइकल वेल्च

1
@MichaelWelch उत्तर उस संपादन से पहले पोस्ट किया गया था।
डिस्प्लेनाम

1
क्षमा करें @DisplayName मुझे टाइमस्टैम्प पर देखना चाहिए था।
माइकल वेल्च

2
यह सही जवाब है। देखें github.com/Homebrew/homebrew/blob/master/share/doc/homebrew/... - मैं भाग गया $ brew doctorऔर पाया कि एक flacनिर्भरता याद आ रही थी। के बाद $ brew install flacमुझे $ brew updateऔर अधिक बार एक जोड़ी को चलाने के लिए हठ करना पड़ा ।
एंडो

9

हमें अब इस बारे में अपने सिर को तोड़ने की जरूरत नहीं है। मैंने सलाह को जोखिम में डाला और सुझाए गए अनुमति परिवर्तन को किया। फिर, नवीनतम होमब्रे में अपडेट करने पर मुझे यह आश्वस्त करने वाला संदेश मिला:

Homebrew को अब हमारे / usr / स्थानीय के स्वामित्व की आवश्यकता नहीं है। यदि आप चाहें तो आप / usr / लोकल को उसके डिफ़ॉल्ट स्वामित्व के साथ वापस कर सकते हैं: sudo chown root: wheel / usr / local


तो इस मुद्दे को कैसे हल करें?
राजेश मौर्य

@ राजेश मौर्य ने करोलस द्वारा समाधान का उपयोग किया
JannieT

8

उपरोक्त कुछ सुरक्षा प्रश्नों के अनुसार, संवाद एक सफल काढ़ा अपडेट के बाद रीसेट करने के निर्देश देता है। चलने के बाद

sudo chown -R $(whoami) /usr/local

और तब

brew update

अपडेट सफलतापूर्वक चलने के बाद, संवाद को ऐसा करने का संकेत देना चाहिए:

sudo chown root:wheel /usr/local

उसके बाद चलाया गया है, कि MacOS 10.12 के साथ किसी भी सुरक्षा चिंताओं को कम करना चाहिए


chown: / usr / लोकल: ऑपरेशन की अनुमति नहीं
राजेश मौर्य

6

दिए गए समाधान ने मेरे लिए काम नहीं किया :

sudo chown -R $(whoami):admin /usr/local

इस भिन्नता ने मेरे लिए काम किया:

sudo chown -R $USER /usr/local/


1
sudo chown -R $ USER / usr / स्थानीय / मेरे लिए नवीनतम macOS पर काम किया
एलेक्स ट्रॉट

1
chown: / usr / local /: ऑपरेशन की अनुमति नहीं है
राजेश मौर्य

जोड़ sudoतो रूट स्तर पासवर्ड में टाइप
ब्रायन Spiering

1
फिर भी chown: / usr / local /: रूट पासवर्ड में टाइप करने पर भी ऑपरेशन की अनुमति नहीं है।
2myCharlie

0

मैं इसे इस आदेश का उपयोग करके ठीक करता हूं sudo chown -R admin /usr/local


-1

कृपया SIP को देखें:

csrutil status

अंतिम Apple विशेषता 'प्रतिबंधित' के साथ "अखंडता" पर सिस्टम अखंडता सुरक्षा तय है:

csrutil 

3
यह प्रश्न में बताई गई समस्या को कैसे हल करता है?
nohillside

-1

इसने मेरे लिए काम किया।

sudo chgrp -R admin /usr/local
sudo chmod -R g+w /usr/local

1
ये दोनों उपाय मेरे लिए कारगर नहीं हैं। यह अभी भी दिखाता है: chown: / usr / लोकल: ऑपरेशन की अनुमति नहीं है
02Charlie

-2

सिस्टम अखंडता सुरक्षा को अक्षम करने की आवश्यकता है। आप इसे इसके साथ कर सकते हैं।

sudo nvram boot-args="rootless=0";osascript -e 'tell app "loginwindow" to «event aevtrrst»’

यह सिस्टम इंटीग्रिटी प्रोटेक्शन सिस्टम को विस्तृत करता है। मेरा मानना ​​है कि आप इसे रिकवरी मोड से भी कर सकते हैं। सूडो के साथ काम करते समय आपको अभी भी अपने रूट पासवर्ड में टाइप करना होता है, लेकिन आपको SIP द्वारा लॉक नहीं किया जाता है। फिर आप अनजाने में अनुमतियाँ सेट करने की कोशिश कर रहे हैं।


3
नीचे स्वामित्व बदलने के लिए SIP को अक्षम करने की आवश्यकता नहीं है /usr/local
nohillside
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.