如何将 RedHat 通用基础映像上的时区设置最小化?
timedatectl 命令似乎不起作用:
$ timedatectl
System has not been booted with systemd as init system (PID 1). Can't operate.
Failed to create bus connection: Host is down
答案1
对于 RedHat ubi8-minimal 映像,您需要将时区设置为环境变量,并使用以下命令重新安装 tzdata(丹佛示例)。
export TZ='America/Denver'
microdnf reinstall tzdata -y
如果您正在构建容器,则容器/docker 文件应包含以下内容(丹佛示例):
RUN /bin/microdnf reinstall tzdata -y
ENV TZ=America/Denver
答案2
查看/etc/localtime
是常规文件还是符号链接。然后,将适合您的时区(以及 DST 规则,如果适用)的时区文件从/usr/share/zoneinfo/
目录树相应地复制或链接到/etc/localtime
,并更新您的 initramfs 文件。
答案3
你可以运行tzselect
或者使用:TZ='(your timezone)'; export TZ
答案4
如果无法访问 下的时区数据库,则可以使用POSIX 格式通过/usr/share/zoneinfo
环境变量设置时区(请参阅TZ
https://www.gnu.org/software/libc/manual/html_node/TZ-Variable.html)。