如何为“apt-get install -y awscli”指定额外的 TZ 信息

如何为“apt-get install -y awscli”指定额外的 TZ 信息

我想将 awscli 安装到我的 ubuntu docker 映像上。

这是我使用的命令

apt-get install -y awscli

安装开始后不久,就提示

配置 tzdata

请选择您居住的地理区域。后续的配置问题将通过提供城市列表(代表它们所在的时区)来缩小范围。

  1. 非洲 2. 美洲 3. 南极洲 4. 澳大利亚 5. 北极 6. 亚洲 7. 大西洋 8. 欧洲 9. 印度 10. 太平洋 11. SystemV 12. 美国 13. 等等 地理区域:

由于我想apt-get在 Docker 中包含此步骤,因此它不能是交互式的。

我如何将此时区信息传递给apt-get和/或aws-cli

我尝试将“/etc/timezone”的内容设置为Australia/Sydney,但仍然出现提示。如果我此时终止进程,我可以看到文件“/etc/timezone”的内容更改为Etc/UTC

答案1

所选的解决方案不适合我,所以我使用了这个:

  • 出口 TZ=欧洲/巴黎
  • ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
  • apt安装-y awscli

以下资源对我有帮助:https://serverfault.com/questions/683605/docker-container-time-timezone-will-not-reflect-changes

答案2

在运行之前将以下行添加到 aws 配置文件(例如/root/.aws/credentialspip install awscli

region = us-west-2

当然,您应该将区域设置为对您的项目有意义的任何区域。

答案3

您也可以使用以下命令安装 awscli DEBIAN_FRONTEND=noninteractive

DEBIAN_FRONTEND=noninteractive apt-get install -y awscli

它只会选择 tzdata 的默认时区,安装过程打印时似乎是 UTC

Current default time zone: 'Etc/UTC'
Local time is now:      Fri Feb 23 18:12:49 UTC 2024.
Universal Time is now:  Fri Feb 23 18:12:49 UTC 2024.
Run 'dpkg-reconfigure tzdata' if you wish to change it.

非交互式意味着:

   noninteractive
          This is the anti-frontend. It never interacts with you  at  all,
          and  makes  the  default  answers  be used for all questions. It
          might mail error messages to root, but that's it;  otherwise  it
          is  completely  silent  and  unobtrusive, a perfect frontend for
          automatic installs. If you are using this front-end, and require
          non-default  answers  to questions, you will need to preseed the
          debconf database; see the section below  on  Unattended  Package
          Installation for more details.

相关内容