apt-get install tzdata неинтерактивный

Когда я пытаюсь

apt-get install -y tzdata

появляется опция командной строки для выбора часового пояса. Я пытаюсь использовать это в скрипте для выполнения некоторых настроек, как я могу сделать запуск apt-get без ввода пользователем?

Я знаю, чтобы переконфигурировать tzdata, которую я могу сделать

echo "America/New_York" > /etc/timezone
dpkg-reconfigure -f noninteractive tzdata

Но при установке мне нужно, чтобы он работал полностью, даже если он не устанавливает правильный часовой пояс, я всегда могу его перенастроить.

Я старался

echo 5 | apt-get install -y tzdata

но он работает не так, как ожидалось.

Ответ 1

Это сценарий, который я использовал

(Обновленная версия с вкладом @elquimista из комментариев)

#!/bin/bash
export DEBIAN_FRONTEND=noninteractive

ln -fs /usr/share/zoneinfo/America/New_York /etc/localtime
apt-get install -y tzdata
dpkg-reconfigure --frontend noninteractive tzdata

Кажется, работает нормально.

Ответ 2

Все кредиты для этого должны идти в @PYA, но правильный порядок должен быть:

ln -fs /usr/share/zoneinfo/America/New_York /etc/localtime
export DEBIAN_FRONTEND=noninteractive
apt-get install -y tzdata
dpkg-reconfigure --frontend noninteractive tzdata

Ответ 3

Если кто-то хочет достичь этого в Dockerfile, используйте, как показано ниже.

ENV DEBIAN_FRONTEND=noninteractive
RUN apt-get -y install tzdata