पपेट के माध्यम से उबंटू में ओपन-वीएम-टूल्स स्थापित करना; क्या कम बुराई है?


9

एक आदर्श दुनिया में, स्थापित करने के लिए कठपुतली को कॉन्फ़िगर open-vm-toolsकरना उतना ही सरल होना चाहिए:

class vm-tools {
    package { 'open-vm-tools':
        ensure => installed
    }
    package { 'open-vm-dkms':
        ensure => installed
    }
}

लेकिन, यह निर्भरता रेंगना के एक बदसूरत कर सकते हैं; यह X स्थापित करता है, जो स्पष्ट रूप से सर्वर पर नहीं है। Ubuntu 10.04 के रूप में, ये पैकेज दोनों open-vm-toolboxGUI टूल के पैकेज की सिफारिश करते हैं :

# apt-cache depends open-vm-dkms
open-vm-dkms
  Depends: dkms
  Depends: make
  Suggests: open-vm-toolbox
  Recommends: open-vm-tools

# apt-cache depends open-vm-tools
open-vm-tools
  Depends: libc6
  Depends: libfuse2
  Depends: libgcc1
  Depends: libglib2.0-0
  Depends: libicu44
  Depends: libstdc++6
  Recommends: open-vm-source
  Recommends: open-vm-toolbox
  Recommends: ethtool
  Recommends: zerofree

अनुशंसित पैकेज हमेशा डिफ़ॉल्ट रूप से स्थापित होते हैं। "CLI उपकरण" के रूप में वर्णित पैकेज को स्थापित करते समय डिफ़ॉल्ट रूप से X निर्भरता स्थापित करना स्पष्ट रूप से वांछनीय नहीं है।

डेबियन के खिलाफ सुविधा का अनुरोध तुरंत इस कारण के लिए अस्वीकार कर दिया था, लेकिन कूलर सिर उबंटू में प्रबल नहीं था । ऐसा लगता है कि पिछले सप्ताह के भीतर, कुछ मान्यता है कि यह एक बीमार-सलाह वाला बदलाव था , लेकिन यह तब तक कोई मदद नहीं करता जब तक कि अगले एलटीएस रिलीज रोल के आसपास न हो।

अनुशंसित पैकेजों को स्थापित करने का व्यवहार --no-install-recommendsविकल्प के साथ कमांड लाइन पर आसानी से पर्याप्त अक्षम है, लेकिन कठपुतली के माध्यम से ऐसा करने के लिए कोई समर्थन नहीं है, और टिकटों की उलझी गड़बड़ी यह अनुरोध करती है कि समर्थन 3 वर्षों में बहुत दूर नहीं गया है।

अन्य विकल्प केवल पूरे सिस्टम के माध्यम से अनुशंसित पैकेजों को अक्षम करना है apt.conf, जो कि मेरे द्वारा किए जाने वाले प्रभावों की तुलना में पैकेज व्यवहार में भारी बदलाव है।

मैंने खुद को इसे आलसी तरीके से करने के लिए इस्तीफा दे दिया है;

exec { 'open-vm-tools install':
    command => '/usr/bin/apt-get install -y --no-install-recommends open-vm-dkms open-vm-tools',
    creates => '/usr/lib/open-vm-tools',
}

लेकिन यह स्पष्ट रूप से "गलत कर रहा है" । क्या मुझे कोई ऐसी चीज़ याद आ रही है जिससे यह सब काम हो जाएगा जिस तरह से यह माना जाता है, या यह इस मुद्दे पर सबसे अच्छा हैकिश वर्कअराउंड है?

जवाबों:


3

बग 1766 ने संकेत दिया कि एप्टीट्यूड प्रदाता अनुशंसित पैकेज स्थापित करता है, जबकि उपयुक्त प्रदाता नहीं करता है।

यदि यह सही है (मैंने इसे स्वयं सत्यापित नहीं किया है), तो निम्नलिखित अधिक सफाई से काम कर सकता है:

package { [ "open-vm-tools", "open-vm-dkms" ]:
  ensure   => installed,
  provider => apt,
}

कठपुतली प्रकार संदर्भ से अनुकूलित , "पैकेज" अनुभाग


आगे की जांच के बाद संपादित करें: चूंकि उपयुक्त प्रदाता उबंटू और डेबियन पर डिफ़ॉल्ट है, इन पैकेजों के लिए उपयुक्त प्रदाता का उपयोग करें, और ~/.aptitude/configरूट के लिए उपयुक्त जोड़ें ।

package { [ "open-vm-tools", "open-vm-dkms" ]:
  ensure   => installed,
  provider => aptitude,
  require  => File["/root/.aptitude/config"];
}
file { "/root/.aptitude/config":
  ensure  => present,
  content => 'APT::Install-Recommends "0";';
}

एकदम सही नहीं है, लेकिन एक विशाल निष्पादन लाइन की तुलना में अधिक संक्षिप्त है।


ऐसा भाग्य नहीं; x11-common और इसके सभी मित्र स्थापित हो गए। उस बग रिपोर्ट का तात्पर्य यह लगता है कि एक तर्क है जिसे उपयुक्त प्रदाता के साथ व्यवहार को नियंत्रित करने के लिए जोड़ा जा सकता है ... लेकिन मुझे कोई जानकारी नहीं मिल सकती है कि यह कैसे किया जाना चाहिए। यह बग रिपोर्ट पुरानी हो सकती है, लेकिन, ऐसा लगता है कि कम से कम वर्तमान में, aptप्रदाता वास्तव में उबंटू और डेबियन के लिए डिफ़ॉल्ट है, इस फाइल की लाइन 13 देखें ।
शेन मैडेन

ऊपर संपादित देखें।
माइक रेनफ्रो

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.