कैसे करें * dpkg-reconfigure डैश * के रूप में स्वचालित रूप से बैश करें


15

मैं ubuntu छवि से एक डॉक छवि बनाना चाहता हूं। मैन्युअल रूप से डैश से बश में डिफ़ॉल्ट श को बदलना आवश्यक है। (क्योंकि इसमें कई आरपीएम पैकेज स्थापित करने की आवश्यकता होती है जिसमें बैश स्क्रिप्ट होती है)

dpkg-reconfigure dash

क्या मानव व्यवहार के बिना इस क्रिया को स्वचालित रूप से करने की कोई विधि है?

मेरे डॉकफाइल में इसे शायद (विधि 1) के रूप में लिखा गया है

RUN dpkg-reconfigure dash

मैंने एक और तरीका आज़माया है (विधि 2)

RUN ln -sf bash /bin/sh

लेकिन, दोनों विधि काम नहीं कर सकती है।

जवाबों:


3

आप केवल उच्च या आलोचनात्मक प्रश्न पूछ सकते हैं [१]।

उदाहरण के लिए:

dpkg-reconfigure -p critical dash

dpkg-reconfigure डिबेंक स्क्रिप्ट में परिभाषित डिफ़ॉल्ट उत्तर का उपयोग करेगा। गैर-सक्रिय इंस्टॉलेशन [2] के लिए अलग-अलग उत्तर लेने के लिए आप डिबेंक-गेट-सेलेक्शन का भी उपयोग कर सकते हैं।

  1. https://wiki.debian.org/debconf
  2. http://blog.nutsfactory.net/2008/03/06/noninteractive-dpkg-installation-on-debian-system/

अगर आप देखना चाहते हैं कि dpkg-reconfigure DEBCONF_DEBUG = डेवलपर dpkg-reconfigure -p महत्वपूर्ण डैश को चलाने के दौरान क्या चल रहा है
Rex Tsai

debconf-get-selections गायब है। मैं में नहीं मिला सकते हैं packages.debian.org/wheezy/all/debconf/filelist
डैनियल वाईसी लिन

11
मैं debconf-show dashविकल्प पाने के लिए उपयोग करता हूं । echo "dash dash/sh boolean false" | debconf-set-selectionsऔर DEBIAN_FRONTEND=noninteractive dpkg-reconfigure dashगैर-संवादात्मक विन्यास करना।
डैनियल YC लिन

2
@DanielYCLin अगर आपने इसे अपने जवाब के रूप में जोड़ा है, तो मैं इसे बढ़ा दूंगा।
गजार्सगो

26

जवाब के रूप में डैनियल की टिप्पणी को यहाँ चस्पा करना क्योंकि यह डिफ़ॉल्ट सेटिंग्स पर निर्भर नहीं करता है dpkg-reconfigure

विकल्प प्राप्त करने के लिए:

debconf-show dash

इस विशेष विकल्प को falseनिम्न पर सेट करने के लिए :

echo "dash dash/sh boolean false" | debconf-set-selections

और वास्तव में पैकेज को फिर से कॉन्फ़िगर करने के लिए:

DEBIAN_FRONTEND=noninteractive dpkg-reconfigure dash

इसने मेरे लिए डॉकफाइल से काम किया:

# make /bin/sh symlink to bash instead of dash:
RUN echo "dash dash/sh boolean false" | debconf-set-selections
RUN DEBIAN_FRONTEND=noninteractive dpkg-reconfigure dash
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.