* dpkg-reconfigure dash *を自動的にbashにする方法


14

ubuntuイメージからdockerイメージを構築したい。デフォルトのshをダッシュ​​からbashに手動で変更する必要があります。(bashスクリプトを含む多くのrpmパッケージをインストールする必要があるため)

dpkg-reconfigure dash

人間の行動なしでこのアクションを自動的に許可する方法はありますか?

私のDockerfileでは、(メソッド1)

RUN dpkg-reconfigure dash

別の方法を試しました(方法2)

RUN ln -sf bash /bin/sh

しかし、両方の方法は機能しません。

回答:


3

debconfは、重要な質問または重要な質問のみを要求できます[1]。

例:

dpkg-reconfigure -p critical dash

dpkg-reconfigureは、debconfスクリプトで定義されたデフォルトの回答を使用します。debconf-get-selectionsを使用して、非対話型インストール[2]の別の回答を選択することもできます。

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

あなたはdpkgの-再構成DEBCONF_DEBUGをruningて=開発者のdpkg-再設定-p重要なダッシュで何が起こっているのか確認したい場合は
レックス・ツァイ

debconf-get-selectionsがありません。packages.debian.org/wheezy/all/debconf/filelistにはありません。
ダニエルYCリン14

10
私はdebconf-show dashオプションを取得するために使用します。echo "dash dash/sh boolean false" | debconf-set-selectionsそしてDEBIAN_FRONTEND=noninteractive dpkg-reconfigure dash、非インタラクティブな設定を行います。
ダニエルYCリン14

2
@DanielYCLinあなたがそれを独自の答えとして追加した場合、私はそれを支持します。
gazarsgo

25

からのデフォルト設定に依存しないため、ダニエルのコメントを回答としてここに貼り付けますdpkg-reconfigure

オプションを取得するには:

debconf-show dash

この特定のオプションにを設定するにはfalse

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

実際にパッケージを再構成するには:

DEBIAN_FRONTEND=noninteractive dpkg-reconfigure dash

これはDockerfileから私のために働いた:

# 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
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.