कई साल पहले, आप brew
रूट के रूप में रनिंग करके रूट के साथ भाग सकते थे, brew
लेकिन उन्होंने उस सुविधा को हटा दिया। इसलिए होमब्रे १.१.६ में, मैं /usr/local/Homebrew/Library/Homebrew/brew.sh
रूट चेक को हटाने के लिए संपादन करता था (एक ने कहा कि यह "अत्यंत खतरनाक" है) इसलिए मैं brew
रूट के रूप में चला सकता था ।
Homebrew का नया संस्करण अभी भी उसी के साथ काम करता है, लेकिन brew.sh
मेरे चलने के बाद brew
भी हर बार फाइल वापस लौटाता रहता है , भले ही मैं chmod 500
यह करूं । मैं इसे बदलने के लिए एक स्क्रिप्ट लिख सकता था फिर brew
स्वचालित रूप से चला सकता हूं, लेकिन मुझे यकीन नहीं है कि यह हमेशा काम करेगा और चांस नहीं लेना चाहता। क्या किसी ने Homebrew को रूट के रूप में चलाने के लिए एक अलग विधि पाई है?
sudo
इसे रूट के रूप में चलाता है, और यह मुझे वही "बेहद खतरनाक" त्रुटि देता है। मैं रूट के रूप में चलाना चाहता हूं क्योंकि इसमें कुछ निश्चित पैकेजों को स्थापित करने में समस्याएं हैं, खासकर अगर कुछ भी Homebrew (जैसे माध्यम से pip
) के माध्यम से स्थापित नहीं किया गया था । मैं कई बार उस मार्ग से नीचे जा चुका हूँ। जब तक मैं सब कुछ रूट के रूप में स्थापित नहीं करता, तब तक यह अजीब वर्कअराउंड के बिना कई उपयोगकर्ताओं के लिए ठीक से काम नहीं करता है।
root
जोखिम भरा है। यहां तक कि एक पैकेज प्रबंधक के बिना एक पैकेज का निर्माण करते हुए, आप पैकेज को एक गैर-विशेषाधिकार प्राप्त उपयोगकर्ता (स्वयं) के रूप में बनाएंगे और फिर पैकेज को उसी के root
साथ स्थापित करेंगे sudo
। फ़िंक और मैकपोर्ट जैसे पैकेज प्रबंधक अपने स्वयं के गैर-विशेषाधिकार वाले उपयोगकर्ताओं के साथ निर्माण करते हैं और फिर स्थापित होते हैं root
। Homebrew के पास ऐसा कोई तंत्र नहीं है।
brew.sh
फ़ाइल को संशोधित करने और फिर एक brew
कमांड चलाने के बाद वापस किया जा रहा है । इसलिए मैं भाग सकता हूं sudo brew whatever
और brew whatever
ठीक हो सकता हूं । मेरा brew --version
आउटपुट इस प्रकार है: Homebrew 1.2.1-98-g803f9cbf7b-dirty Homebrew/homebrew-core (git revision d3d6; last commit 2017-05-28)
FYI करें, मैंने फ़ंक्शन brew.sh
में सभी लाइनों पर टिप्पणी करने के लिए अपनी फ़ाइल को संशोधित किया check-run-command-as-root
और return
इसके बजाय फ़ंक्शन के शीर्ष पर एक एकल स्टेटमेंट रखा ।
brew
जड़ के रूप में क्यों चलना चाहते हैं ? इसके अलावा,sudo
आपके उद्देश्यों के लिए पर्याप्त नहीं है?