संक्षेप में : कैसे बनाने के लिए सुडोकू हर बार PATH फ्लश न करें?
रूबी के साथ रूल्स पर लिखे गए मेरे सर्वर (डेबियन टेस्टिंग) पर मेरी कुछ वेबसाइटें हैं। मैं उन्हें होस्ट करने के लिए मोंगरेल + नेग्नेक्स का उपयोग करता हूं, लेकिन एक समस्या है जो तब आती है जब मुझे मोंगरेल को पुनरारंभ करने की आवश्यकता होती है (जैसे कि कुछ बदलाव करने के बाद)।
सभी साइटें VCS (git, लेकिन यह महत्वपूर्ण नहीं है) में चेक की गई हैं और मेरे उपयोगकर्ता के लिए स्वामी और समूह सेट है, जबकि Mongrel, huh, mongrel उपयोगकर्ता के अंतर्गत चलता है, जो इसके अधिकारों में गंभीर रूप से प्रतिबंधित है। तो मोंगरेल को रूट के तहत शुरू किया जाना चाहिए (यह स्वचालित रूप से यूआईडी बदल सकता है) या मोंगरेल।
Mongrel को प्रबंधित करने के लिए मैं mongrel_cluster मणि का उपयोग करता हूं क्योंकि यह केवल एक कमांड के साथ Mongrel सर्वर की किसी भी राशि को शुरू करने या रोकने की अनुमति देता है। लेकिन इसे PATH में होने के लिए निर्देशिका /var/lib/gems/1.8/bin की आवश्यकता है: यह इसे पूर्ण पथ से शुरू करने के लिए पर्याप्त नहीं है ।
PATH को रूट में संशोधित करते हुए .bashrc ने कुछ भी नहीं बदला, sudo के env_reset और env_keep को ट्वीक किया।
तो सवाल: कैसे PATH के लिए एक निर्देशिका जोड़ने के लिए या sudo में उपयोगकर्ता के पेट को रखने के लिए?
अपडेट: कुछ उदाहरण
$ env | grep PATH
PATH=/usr/local/bin:/usr/bin:/bin:/usr/games:/var/lib/gems/1.8/bin
$ sudo cat /etc/sudoers | egrep -v '^$|^#'
Defaults env_keep = "PATH"
root ALL=(ALL) ALL
%sudo ALL=NOPASSWD: ALL
$ sudo env | grep PATH
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/X11R6/bin
मैं यह भी कह सकता हूं कि यह डेबियन स्टेबल (लेनी) में भी ठीक इसी तरह काम करता है।