MacOS में / tmp निर्देशिका लिखने में असमर्थ, सही अनुमति देने में असमर्थ: "ऑपरेशन की अनुमति नहीं है"


12

MacOS एल कैप्टन (10.11) किसी भी सॉफ्टवेयर अद्यतन स्थापित या किसी सॉफ़्टवेयर को स्थापित करने में असमर्थ है, क्योंकि /tmpऔर /private/tmpफ़ोल्डरों लिखने योग्य होने के लिए नहीं है।

इसे चलाना:

sudo /usr/libexec/repair_packages --repair --standard-pkgs --volume /

मुझे यह त्रुटि देता है:

unable to set owner and group on "tmp" Error 1 Operation not permitted
unable to set permissions on "tmp" Error 1 Operation not permitted

क्या tmp फ़ोल्डर्स को मैन्युअल रूप से हटाने और उन्हें फिर से बनाने का एक तरीका है? जब मैंने नाम बदलने या हटाने की कोशिश की /tmpया /private/tmpमैं ऑपरेशन की अनुमति नहीं देता रहा। sudo chmod 1777दोनों /tmpऔर /private/tmpफ़ोल्डरों पर भी उसी तरह से विफल रहे

डिस्क उपयोगिता का कहना है कि प्राथमिक चिकित्सा चलाते समय बिना किसी समस्या के डिस्क के साथ डिस्क स्वस्थ है।

क्या किसी tmpअन्य लेखन योग्य फ़ोल्डर में स्थान को पुनर्निर्देशित करने का कोई तरीका है ?


1
क्या आपने SIP को पहले अक्षम किया था? रिकवरी से; टर्मिनलcsrutil disable
टेटसुजिन

2
मेरी भी यही समस्या है। Tetsujin की सलाह का पालन किया, पुनर्प्राप्ति मोड में फिर से शुरू किया, और भाग गया csrutil disable। उसके बाद, मैं repair_packagesसफलता के साथ निष्पादित करने में सक्षम था और हमेशा की तरह / tmp तक पहुँचने में सक्षम था। हालाँकि, पुनर्प्राप्ति मोड पर वापस जाने और निष्पादित करने के बाद csrutil enable, मेरे सिस्टम में समान समस्या हो रही है। ऐसा लगता है कि सिस्टम इंटीग्रिटी प्रोटेक्शन को अक्षम करने का एकमात्र तरीका मैं / tmp तक पहुँच प्राप्त कर सकता हूं।
एंड्रयू फेरक

4
मैंने रिकवरी मोड पर वापस जाना और निष्पादित करना समाप्त कर दिया csrutil disable। पुनः आरंभ करने के बाद, मैंने tmp फ़ोल्डर को हटा दिया:, sudo rm /tmp; sudo rm /private/tmptmp फ़ोल्डर sudo mkdir /private/tmp; sudo chown root:wheel /private/tmp; sudo chmod 1777 /private/tmpबनाया, सिमलिंक बनाया: sudo ln -s /private/tmp /tmpऔर repair_pacakgesफिर से भागा । रिकवरी मोड में वापस जाने और चलने के बाद csrutil enable, सभी फिर से काम कर रहे हैं! हालाँकि, / निजी / tmp की अनुमति हुआ करती थी drwxrwxrwt@और अब वे हैं drwxrwxrwt। मैं अनिश्चित हूं कि क्या @है और अगर इससे मुझे परेशानी होगी।
एंड्रयू फेर्क

1
@AndrewFerk: देखना इन पदों apple.stackexchange.com/questions/42177/... unix.stackexchange.com/questions/10/what-does-the-mean-in-ls-l के विवरण के लिए @ विस्तारित अनुमतियाँ मार्कर
एडम मिचालिक

जवाबों:


18
  1. अपने मैक को रिकवरी मोड में रिबूट करें
  2. शीर्ष बार> ओपन टर्मिनल में यूटिलिटीज मेनू खोलें

    csrutil disable
    
  3. रीबूट

  4. Tmp फ़ोल्डर निकालें

    sudo rm -i /tmp
    sudo rm -i /private/tmp
    
  5. Tmp फ़ोल्डर बनाएँ

    sudo mkdir /private/tmp
    sudo chown root:wheel /private/tmp
    sudo chmod 1777 /private/tmp
    
  6. सिमिलिंक बनाएँ

    sudo ln -s /private/tmp /tmp
    
  7. भागो repair_packages(आपको ऐसा करने की आवश्यकता नहीं हो सकती है)

    sudo /usr/libexec/repair_packages --repair --standard-pkgs --volume /
    
  8. पुनर्प्राप्ति मोड पर वापस जाएं और चलाएं

    csrutil enable
    
  9. रीबूट


एक फिक्स का पता लगाने के लिए एंड्रयू फ़र्क को सहारा; एक सामुदायिक विकि उत्तर के रूप में अपनी टिप्पणी को बाहर निकालना ताकि यह अधिक पठनीय हो।


2
धन्यवाद!!! मैंने इस पर अपने बाल खींचते हुए 3 दिन बिताए थे। पता नहीं कैसे अनुमतियाँ पहली बार में खराब हो गईं, लेकिन एक दिन मैंने मैक को चेतावनी के चयन के लिए चालू कर दिया, काम नहीं करने वाले कार्यक्रम और कुछ भी स्थापित करने में असमर्थता। इससे वह समस्या ठीक हो गई।
जॉन्जॉर्गेवर्इक

आपने इसे सीडब्ल्यू क्यों बनाया?
रेवेटहॉव

क्योंकि मैं एक जवाब जो मैं केवल से किसी और की टिप्पणी परिवर्तित के लिए ऋण प्राप्त करने के लिए नहीं करना चाहता था
ento

ठीक है बढ़िया # ठीक है शांत रहो। BTW, मैंने अब तक आपकी टिप्पणी नहीं देखी थी क्योंकि @Fiksdal नहीं था।
18

10.13: sudo: / usr / libexec / repair_packages: कमांड नहीं मिली
Даниил Пронин


0

मैंने एक टाइम मशीन बैकअप से अपने सिस्टम को पुनर्स्थापित करके इसे ठीक किया। लेकिन टिप्पणियों में अन्य सुझाव भी कोशिश करने लायक हैं।


0

/private/tmpबिना चलने के फ़ोल्डर पर अनुमतियाँ बनाने और संशोधित करने का प्रयास करें csrutil disable। इसने मेरे लिए काम किया, जिसे हटाने के असफल प्रयास के बाद और बूट पर त्रुटि संदेश चला गया।


सुपर उपयोगकर्ता में आपका स्वागत है। कृपया पुष्टि करने के लिए उत्तर न दें कि एक अन्य उत्तर ने काम किया। साइट का प्रश्नोत्तर प्रारूप प्रश्न के समाधान के लिए उत्तर देता है, और प्रत्येक उत्तर को दूसरे समाधान में योगदान करना चाहिए। यह इंगित करने का तरीका कि एक उत्तर उपयोगी था, साइट में थोड़ा समय निवेश करना है और आप अपने पसंद के उत्तरों को बढ़ाने के लिए पर्याप्त विशेषाधिकार प्राप्त करेंगे ।
फिक्सर 1234

0

यदि आपको यह संदेश टर्मिनल (या iTerm) में दिया गया है, तो अधिकतम Mojave का उपयोग कर

कार्रवाई की अनुमति नहीं

यह पता चला मैं Settings.app "सुरक्षा और गोपनीयता"> करने के लिए अपने टर्मिनल ऐप को जोड़ने की जरूरत है "पूर्ण डिस्क पहुँच"
(मैं दोनों जोड़ा terminal.appऔर iTerm.app)

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.