当我第一次设置Ubuntu服务器时,我确保先使用aptitude install tzdata,然后使用dpkg-reconfigure tzdata,以便正确地设置时区。
我正在尝试用一个脚本自动化我的服务器设置,并注意到这一部分在自动化方面有些困难,因为它需要一个带有用户干预的交互式会话。
有没有办法在不交互的情况下使用dpkg-reconfigure?
发布于 2013-12-20 07:24:13
swill的答案不是如何正确地完成它。如果您想要包的无人参与/脚本化dpkg配置,那么您需要使用debconf预播机制。
在您的情况下,这意味着您必须执行以下操作:
使用以下preseed.txt文件(或您需要的任何其他设置)预先设定export DEBIAN_FRONTEND=noninteractive debconf:
tzdata tzdata /区域选择欧洲tzdata tzdata/区域/欧洲选择柏林
debconf-set-selections /your/preseed.txt
apt安装tzdata (如果还没有安装的话),也可以运行dpkg-reconfigure。最后,tzdata将根据您在debconf预置种子文件中指定的内容进行设置。请记住,您可以使用debconf预置实现更多的自动化。例如,在我的预置种子中,我总是设置:
locales locales/locales_to_be_generated multiselect en_US.UTF-8 UTF-8
locales locales/default_environment_locale select en_US.UTF-8您始终可以通过运行debconf-get-selections来检查当前系统的debconf设置。输出应该会让您了解使用debconf预置可以自动完成多少系统配置。
发布于 2017-02-20 20:37:11
16.04中存在一个错误(https://bugs.launchpad.net/ubuntu/+source/tzdata/+bug/1554806,在编写此答案时尚未修复),导致在运行dpkg-reconfigure -f noninteractive tzdata时使用旧值覆盖/etc/timezone的内容。修复方法如下(来自上述错误报告):
$ sudo ln -fs /usr/share/zoneinfo/America/New_York /etc/localtime
$ sudo dpkg-reconfigure --frontend noninteractive tzdata
Current default time zone: 'America/New_York'
Local time is now: Mon Feb 20 07:30:33 EST 2017.
Universal Time is now: Mon Feb 20 12:30:33 UTC 2017.
$ cat /etc/timezone
America/New_York无需手动更改/etc/timezone的内容。这对我在Ubuntu 16.04.2 LTS上是有效的。
发布于 2017-12-20 23:08:19
在Dockerfile中执行此操作
FROM ubuntu:xenial
## for apt to be noninteractive
ENV DEBIAN_FRONTEND noninteractive
ENV DEBCONF_NONINTERACTIVE_SEEN true
## preesed tzdata, update package index, upgrade packages and install needed software
RUN truncate -s0 /tmp/preseed.cfg; \
echo "tzdata tzdata/Areas select Europe" >> /tmp/preseed.cfg; \
echo "tzdata tzdata/Zones/Europe select Berlin" >> /tmp/preseed.cfg; \
debconf-set-selections /tmp/preseed.cfg && \
rm -f /etc/timezone /etc/localtime && \
apt-get update && \
apt-get install -y tzdata
## cleanup of files from setup
RUN rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*在我的实验中,我确定了删除/etc中的文件是必要的。
https://stackoverflow.com/questions/8671308
复制相似问题