The Opscode "apt" cookbook की डिफ़ॉल्ट नुस्खा apt-get update
चलाने के लिए यह सुनिश्चित करने के लिए कि पैकेज कैश अपडेट किया गया है। हम आपको अपने नोड की रन सूची में जल्दी ही डालने की सलाह देते हैं ताकि बाद में पैकेज पर सही संस्करणों के साथ स्थापित किया जा सके।
हम आम तौर पर सलाह देते हैं कि उपयोगकर्ता दो कारणों से नुस्खा में "apt-get upgrade
" का उपयोग करें।
apt-get
एक पैकेज विरोधी विन्यास या अन्य समस्याओं के आदेश को फिर से चल रहा है, या अन्य उपयुक्त/dpkg आदेशों मैन्युअल चलने के बिना हल नहीं किया जा सकता है कि अपग्रेड कर सकते हैं।
- सिस्टम पर सभी संकुलों के स्वचालित उन्नयन के चलते सिस्टम पर अनपेक्षित साइड इफेक्ट्स हो सकते हैं (किनारे के मामले कई और संभावित रूप से कांटेदार होते हैं, इसलिए मैं उन्हें सभी को कवर नहीं कर सकता)।
इसके बजाय, पैकेज के लिए "अपग्रेड" कार्रवाई का उपयोग करें जो हमेशा नवीनतम संस्करण में अपडेट होना चाहिए।
package "nginx" do
action :upgrade
end
आप एक रसोई की किताब है कि रसोई की किताब को परिभाषित करता है पुन: उपयोग कर रहे हैं, तो आप एक नुस्खा है कि मौजूदा संसाधन की कार्रवाई को संशोधित करता है, इस प्रकार लिख सकते हैं:
resources("package[nginx]").action(:upgrade)
एक नुस्खा में #resources
विधि होगा संसाधन संग्रह में निर्दिष्ट संसाधन (पैकेज nginx) में देखो। फिर विधि :upgrade
के साथ विधि भेजकर शेफ को बताएगी कि कार्रवाई को अपग्रेड करना चाहिए।
संपादितअद्यतन: जब संकुल कि इस तरह से स्वचालित रूप से अपग्रेड किया जाएगा चुनने के लिए सावधान रहना है। एक पैकेज में एक अपस्ट्रीम परिवर्तन प्रणाली पर हानिकारक प्रभाव पैदा कर सकता है। यह विशेष रूप से सच है यदि ऐसा पैकेज पोस्ट इंस्टॉलेशन स्क्रिप्ट के दौरान प्रबंधित सेवाओं की पुनरारंभ करता है। अपने बुनियादी ढांचे को जानें, और यदि संदेह में अपना खुद का पैकेज भंडार चलाएं जिसमें आपके पास एप्लिकेशन स्टैक के लिए आवश्यक महत्वपूर्ण पैकेज हैं।
क्या यह https://github.com/patdeegan/chef-unattended-upgrades मदद करेगा? – favoretti
मुझे ऐसा लगता है, लेकिन मुझे कोई दिलचस्पी है यदि कोई हल्का समाधान है। –