자동으로 bash로 * dpkg-redash 대시 *를 수행하는 방법


15

우분투 이미지에서 도커 이미지를 만들고 싶습니다. 기본 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-reconfigure를 실행할 때 무슨 일이 일어나고 있는지 보려면 DEBCONF_DEBUG = developer dpkg-reconfigure -p critical dash
Rex Tsai

debconf-get-selections가 누락되었습니다. packages.debian.org/wheezy/all/debconf/filelist 에서 찾을 수 없습니다 .
Daniel YC Lin

11
debconf-show dash옵션을 얻는 데 사용 합니다. echo "dash dash/sh boolean false" | debconf-set-selectionsDEBIAN_FRONTEND=noninteractive dpkg-reconfigure dash비 대화식 구성 할 수 있습니다.
다니엘 YC 린

2
@DanielYCLin 당신이 그것을 자신의 답변으로 추가하면, 나는 그것을 찬성합니다.
gazarsgo

26

의 기본 설정에 의존하지 않으므로 Daniel의 의견을 여기에 답으로 붙여 넣으십시오 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.