2011-09-12 13 views
8

का उपयोग कर पैकेज को अनइंस्टॉल करना मैं अपने सर्वर को प्रबंधित करने के लिए शेफ का उपयोग कर रहा हूं।शेफ

मेरे भूमिकाओं/app.rb इस तरह दिखता है:

name "app" 

description "App server" 

run_list [ 
    "recipe[apt]", 
    ..., 
    ..., 
    "recipe[nginx]" 
    ..., 
    ..., 
] 

अब मैं मशीन से nginx पैकेज निकालना चाहते हैं। यदि मैं run_list में nginx recipie को हटाता हूं, तो क्या यह नोड्स से nginx को हटा देगा? यदि नहीं, तो कृपया मुझे सलाह दें कि नोड्स पर परिवर्तन-प्रबंधन करने की सबसे अच्छी रणनीति क्या है।

उत्तर

9

यदि आप run_list से nginx को हटाते हैं तो विशेष नुस्खा बस नहीं चलेगा। यह वास्तव में नोड्स से nginx को हटा नहीं देगा क्योंकि यह नहीं जानता कि कैसे करें। मैं वास्तव में कल इस बारे में सोच रहा था।

आप अपना खुद का नुस्खा लिख ​​सकते हैं जो नुस्खा [nginx] शायद नुस्खा [remove_nginx] या ऐसा कुछ करता है। इसके बाद आप नुस्खा [remove_nginx] निकाल सकते हैं।

कोई और भी सोचता है कि यह काम करने के लिए एक अच्छा तरीका है जो कम से कम एक छोटे से आश्वस्त है:

http://community.opscode.com/questions/6

जाहिर है आप एक ruby_block में run_list से एक नुस्खा निकाल सकते हैं, ताकि आप की बचत होती है चाकू का उपयोग कर यह अपने आप को दूर करने के लिए के बाद चलाया जाता है की परेशानी:

https://gist.github.com/883522

+0

बहुत बढ़िया जवाब! बस FYI opscode.com लिंक टूटा हुआ है। – nrobey

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