कठपुतली और .deb फ़ाइल का उपयोग करके पैकेज को कैसे अपडेट किया जाए


27

मैं एक स्थानीय स्रोत डिब फ़ाइल से कठपुतली का उपयोग करके एक डेब पैकेज को अपडेट / अपग्रेड करने का उचित तरीका जानने की कोशिश कर रहा हूं। मेरा वर्तमान कॉन्फ़िगरेशन इस तरह दिखता है ...

class adobe-air-2-0-4 {

  file { "/opt/air-debs":
    ensure => directory
  }

  file { "/opt/air-debs/adobeair-2.0.4.deb":
    owner   => root,
    group   => root,
    mode    => 644,
    ensure  => present,
    source  => "puppet://puppet/adobe-air-2-0-4/adobeair-2.0.4.deb"
  }

  package { "adobeair":
    provider => dpkg,
    ensure => installed,
    source => "/opt/air-debs/adobeair-2.0.4.deb"
  }

}

मैं पहली बार डिबेट फाइल को क्लाइंट मशीन में कॉपी करता हूं और फिर 'dpkg' पर सेट प्रदाता के साथ 'पैकेज' का उपयोग करता हूं। यह काम करता है और मुझे सही संस्करण स्थापित किया गया है।

मेरा सवाल यह है कि भविष्य में इस पैकेज को अपडेट करने का उचित तरीका क्या है। क्या मैं बस स्रोत फ़ाइल को बदल सकता हूं और कठपुतली को पता चल जाएगा कि यह एक अलग संस्करण है और इस पैकेज को अपडेट करें? कठपुतली यह कैसे निर्धारित करती है कि उसने स्रोत डिब फाइल के संस्करण में किस पैकेज को स्थापित किया है?

मैं कठपुतली के लिए बहुत नया हूं, इसलिए यदि आपके पास मेरे मौजूदा कॉन्फ़िगरेशन में सुधार के लिए कोई सुझाव है तो वे बहुत सराहना करते हैं।

जवाबों:


36

मैंने इस सवाल को कठपुतली उपयोगकर्ता समूह पर भी पोस्ट किया और यह एक प्रतिक्रिया थी जो मुझे वापस मिल गई।

यदि आप नवीनतम सुनिश्चित करते हैं तो यह वर्तमान में स्थापित पैकेज के खिलाफ स्रोत फ़ाइल की जाँच करेगा और नवीनतम होने पर नया स्थापित करेगा। मुझे अभी भी यकीन नहीं है कि आप एक पुराने संस्करण में कैसे रोल करेंगे, लेकिन यह मेरी समस्या को अभी के लिए हल करता है।

package { "puppet-dashboard":
 provider => dpkg,
 ensure   => latest,
 source   => "/tmp/puppet-dashboard_1.0.4rc2-1_all.deb"
}

यहाँ कठपुतली उपयोगकर्ता समूह पोस्ट का लिंक दिया गया है ... http://groups.google.com/group/puppet-users/browse_thread/thread/53f5e7119012fb3e/59e8596701ccaf3f


परीक्षण नहीं किया गया है, लेकिन अगर प्रदाता के रूप में उपयुक्त का उपयोग कर। आप संस्करण संख्या के साथ एक स्ट्रिंग में नवीनतम बदल सकते हैं - उदाहरण के लिए: सुनिश्चित करें => '1.0.4rc2-1_all'
13

चेक किए गए डॉक्स.पुपेटलैब्स.com / references / latest / type.html#package - ऐसा लगता है कि ऊपर मेरा सराहनीय अमान्य है, यह कहता है कि dpkg संस्करण योग्य नहीं है।
बेन्मुले

खैर, @benlumley, apt-get संस्करण योग्य है और dpkg (जिस पर apt-get आधारित है) नहीं है। तो जब आप उस तरह का संस्करण चाहते हैं, तो दोनों को मिलाना मुश्किल है। इसीलिए इन मामलों में एक मिनी रिपॉजिटरी को सेटअप करना एक अच्छा विचार हो सकता है और इसे मैनेज करना होगा (जो कि डेबियन सिस्टम पर डिफॉल्ट प्रोवाइडर है)
अक्ताउ
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.