zoukankan      html  css  js  c++  java
  • Dockerfile设置apt-get install tzdata的noninteractive方法

    在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

  • 相关阅读:
    精品绿色便携软件下载站
    DIV + CSS
    CSS基础
    尘封往事
    最近ゲームにはまってる。
    比水更浓的水
    有些事我得记下来
    一年前的今晚,注定是个岔路口.
    放下全世界
    超级保镖:国外精品个人防火墙亲密接触(2) java程序员
  • 原文地址:https://www.cnblogs.com/yahengwang/p/11072208.html
Copyright © 2011-2022 走看看