Как это сделать *dpkg-перенастроить dash * как bash автоматически

Я хочу создать образ docker из образа ubuntu.
Требуется вручную изменить sh по умолчанию с dash на bash.
(Потому что требуется установить много пакетов rpm, которые содержат скрипты bash)

dpkg-reconfigure dash

есть ли способ позволить этому действию автоматически без человеческого поведения?

в моем Dockerfile это может быть написано как (метод 1)

RUN dpkg-reconfigure dash

Я пробовал другой метод (Метод 2)

RUN ln -sf bash /bin/sh

но оба метода не могут работа.

29
задан Daniel YC Lin
26.02.2023 20:55 Количество просмотров материала 2572
Распечатать страницу

2 ответа

вы можете заставить debconf задавать только высокие или критические вопросы[1].

Ex:

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/
3
отвечен Rex Tsai 2023-02-28 04:43

вставка комментария Даниэля в качестве ответа здесь, так как он не зависит от настроек по умолчанию из 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
16
отвечен mgalgs 2023-02-28 07:00

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх