2012-12-30 12 views
6

मेरे पास वाग्रेंट में एक सेंटोस बेस बॉक्स है जो मैं कठपुतली के साथ खड़ा हूं। यहां बताया गया है प्रकट में अब तक है:कठपुतली प्रकट - 'सूडो' आदेश?

class base { 
    exec { "sudocmd": 
     path => ["/usr/bin/","/usr/sbin/","/bin"], 
     command => "sudo yum update -y", 
    } 

    package { "man": 
     ensure => present, 
    } 

    package { "bind": 
     ensure => present, 
    } 

    package { "bind-utils": 
     ensure => present, 
    } 
} 

include base 

लेकिन जब मैं vagrant up कहते हैं, मैं एक त्रुटि है कि yum update एक 1. मैं वेब पर देखा है के साथ बाहर निकल गया sudocmd मिलता है, लेकिन मैं के लिए एक समाधान नहीं मिला है यह अभी तक कोई मदद?

======== EDIT ========= मैंने जवाब पढ़े और मैं सहमत हूं - धन्यवाद दोस्तों। मैं बस इसे एक देव बॉक्स पर गड़बड़ करने के लिए उपयोग कर रहा हूं और इससे पहले कि मैं इस पर काम करना शुरू कर दूं, मुझे इसे अद्यतित करने की आवश्यकता थी।

उत्तर

3

तो कठपुतली वास्तव में यम अपडेट जैसे कार्यों को करने के लिए नहीं है। यह एक कॉन्फ़िगरेशन प्रबंधन उपकरण है, ऐसा कुछ नहीं जो पूरी तरह से इस प्रकार के कार्य को प्रतिस्थापित करता है। इसके अलावा आप इसके साथ कई मुद्दों में भाग लेते हैं। क्या होगा अगर कठपुतली को निंदा किया जाए? क्या यह हमारे उत्पादन पर्यावरण पर नकारात्मक प्रभाव डालेगा? क्या होता है यदि कोई उपयोगकर्ता गलती से कठपुतली चलाता है और यह हमारे स्क्रिप्ट को तोड़ने वाले पैकेज को अद्यतन करता है (जेडीके, MySQL, PHP, आदि)। जहां तक ​​मुझे पता है कि इसका कोई समाधान नहीं है क्योंकि इसे वास्तव में कोई समस्या नहीं माना जाता है। स्कॉट पैक Serverfault पर एक समान प्रश्न के लिए एक बहुत ही वर्णनात्मक उत्तर प्रदान किया गया।

11

कठपुतली के साथ, आपको sudo का उपयोग करने की आवश्यकता नहीं है, बस yum सीधे चलाएं। आम तौर पर आदेश डिफ़ॉल्ट रूप से रूट के रूप में चलाए जाएंगे, लेकिन आप निर्दिष्ट कर सकते हैं कि कौन सा उपयोगकर्ता।

exec { "sudocmd": 
    path => ["/usr/bin/","/usr/sbin/","/bin"], 
    command => "yum update -y", 
    user => root, 
} 

हालांकि, मैं सुझाव है कि आप कठपुतली के साथ बिना शर्त वाले exec किसी भी तरह का प्रयोग नहीं करते। यह हर बार कठपुतली चलाने के लिए चला जाएगा। Forrest already said के रूप में, यह कठपुतली के लिए तैयार नहीं है। मैं yum update के लिए कठपुतली का उपयोग नहीं करता, और मेरे exec के पास हमेशा creates, onlyif, refreshonly या unless यह सुनिश्चित करने के लिए होता है कि वे केवल आवश्यकता होने पर ही चलें।

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