在Ubuntu系统中,执行命令apt-get install -y tzdata以安装tzdata软件包。但是,最近发现,在Ubuntu 18.04 (Bionic Beaver)上无法自动安装该软件包,这里的tzdata版本为2018d-1。

在tzdata 2017的各个版本中(如2017c),安装过程中采用默认的系统时区,所以可以无交互地顺利安装完毕,输出信息如下。

Current default time zone: 'Etc/UTC'
Local time is now: Wed Apr 25 03:38:23 UTC 2018.
Universal Time is now: Wed Apr 25 03:38:23 UTC 2018.
Run 'dpkg-reconfigure tzdata' if you wish to change it.

但是从tzdata 2018版本开始(如2018d),安装过程中默认采用交互式,即要求输入指定的Geographic areaTime zone,从而必须人工值守进行安装,输出信息如下。

Configuring tzdata
------------------ Please select the geographic area in which you live. Subsequent configuration
questions will narrow this down by presenting a list of cities, representing
the time zones in which they are located. 1. Africa 4. Australia 7. Atlantic 10. Pacific 13. Etc
2. America 5. Arctic 8. Europe 11. SystemV
3. Antarctica 6. Asia 9. Indian 12. US

解决步骤如下:

1. 设置tzdata的前端类型(通过环境变量)

ENV DEBIAN_FRONTEND noninteractive

tzdata的前端类型默认为readline(Shell情况下)或dialog(支持GUI的情况下)。

2. 安装tzdata软件包

apt-get install -y tzdata

此时,采用默认时区Etc/UTC。

3. 建立到期望的时区的链接

ln -fs /usr/share/zoneinfo/America/New_York /etc/localtime

设置时区为America/New_York。

4. 重新配置tzdata软件包,使得时区设置生效

dpkg-reconfigure -f noninteractive tzdata

参考资料

https://blog.csdn.net/taiyangdao/article/details/80512997

Dockerfile设置apt-get install tzdata的noninteractive方法的更多相关文章

  1. docker rmi 导致后面的命令不执行问题 Dockerfile设置时区问题

    docker rmi 导致后面的命令不执行问题 把ca=`docker rmi sendemail-service` echo $ca改成docker rmi sendemail-service -f ...

  2. Dockerfile的书写规则和指令的使用方法

    Dockfile是一种被Docker程序解释的脚本,Dockerfile由一条一条的指令组成,每条指令对应Linux下面的一条命令.Docker程序将这些Dockerfile指令翻译真正的Linux命 ...

  3. 设置Ubuntu 14.04右键终端的方法

    设置Ubuntu 14.04右键终端的方法如下: 首先要安装一个包,即可在右键里面添加一个"打开终端"的菜单. sudo apt-get install nautilus-open ...

  4. 安装、设置与启动MySql绿色版的方法

    原文:安装.设置与启动MySql绿色版的方法 1.解压 mysql-noinstall-5.1.30-win32.zip(下载地址http://dev.mysql.com/downloads/mysq ...

  5. MySQL设置当前时间为默认值的方法

    方法一.是用alert table语句: 复制代码代码如下: use test_db1; create table test_ta1( id mediumint(8) unsigned not nul ...

  6. golang github.com/go-sql-driver/mysql 遇到的数据库,设置库设计不合理的解决方法

    golang github.com/go-sql-driver/mysql 遇到的数据库,设置库设计不合理的解决方法,查询中报了以下这个错 Scan error on column index 2: ...

  7. ECshop设置301最快捷最简单的方法

    ECshop设置301最快捷最简单的方法 在 init.php中加入以下代码 if (strtolower($_SERVER['SERVER_NAME'])!='www.fz1688.com') { ...

  8. VirtualBox设置共享文件夹和镜像访问的方法

    VirtualBox设置共享文件夹和镜像访问的方法 virtualBox是一款虚拟机软件,可以在该软件上安装各类的操作系统,至于如何安装请参见另外一篇经验<如何使用VirtualBox安装win ...

  9. 华硕笔记本怎么设置u盘启动(两种方法)

    华硕笔记本怎么设置u盘启动(两种方法) 华硕笔记本怎么设置u盘启动.我想用U盘安装系统但是 我不知道如何设置U盘启动,那么该如何设置呢?下面和大家分享一下我的经验,希望能够帮到大家.如果你的系统是预装 ...

随机推荐

  1. 【leetcode刷题笔记】Binary Tree Preorder Traversal

    Given a binary tree, return the preorder traversal of its nodes' values. For example:Given binary tr ...

  2. Spring层面的事务管理

    事务管理方式 1. 编程式事务管理 2. 声明式事务管理 建立于AOP之上,对指定的方法执行前后进行拦截,即在方法执行前开始或加入一个事务,执行完毕后根据结果提交或回滚事务. 方式: a. 配置文件中 ...

  3. 暑假集训第一周比赛C题

    http://acm.hust.edu.cn/vjudge/contest/view.action?cid=83146#problem/C C - 学 Crawling in process... C ...

  4. Spring中ApplicationContext和beanfactory区别

    BeanFacotry是spring中比较原始的Factory.如XMLBeanFactory就是一种典型的BeanFactory.原始的BeanFactory无法支持spring的许多插件,如AOP ...

  5. .net短信接口调用示例(106短信通道)

    1. [代码]调用代理示例 using System;using System.Data;using System.Configuration;using System.Collections;usi ...

  6. Linux课程---9、安装RPM包(RPM的全称是什么)

    Linux课程---9.安装RPM包(RPM的全称是什么) 一.总结 一句话总结: redhat package management 1.在Packages中查找和php相关的文件如何查找? ls ...

  7. Windows Server 2008 R2 备份与恢复详细实例

    Windows Server 2008 R2中Windows Server Backup备份与恢复 本实验是在虚拟机操作,因公司的需求,将备份存储到另一台服务器,于是我在现有linux备份服务器搭建了 ...

  8. MicroMessage的动态操作(第二步)

    现在开始将静态页面转化成动态页面.将页面上的信息转化成 数据库提供的信息. 建立jdbc获取数据库连接,并设置一个查询sql语句,查出所有结果.但是因为查询结果rs包含全表信息,是多行. 为了保存查询 ...

  9. BEC listen and translation exercise 39

    What about jigsaw puzzle design for visually handicapped?给视觉障碍人士设计拼图怎么样? Length is 50cm, and then th ...

  10. codeforces 631B B. Print Check

    B. Print Check time limit per test 1 second memory limit per test 256 megabytes input standard input ...