![如何更新未运行的静态映像的区域设置和时区](https://linux22.com/image/203943/%E5%A6%82%E4%BD%95%E6%9B%B4%E6%96%B0%E6%9C%AA%E8%BF%90%E8%A1%8C%E7%9A%84%E9%9D%99%E6%80%81%E6%98%A0%E5%83%8F%E7%9A%84%E5%8C%BA%E5%9F%9F%E8%AE%BE%E7%BD%AE%E5%92%8C%E6%97%B6%E5%8C%BA.png)
我正在构建一个 Ubuntu 静态映像(用于闪存到 USB),我想在该映像中预设时区和区域设置,以便在映像启动时已设置它。看来更改这些值的唯一方法是分别通过命令timedatectl
和update-local
。但这些只能在正在运行的系统上使用,而不能在映像上使用。
我确实尝试直接更新图像,/etc/timezone
但是/etc/default/locale
当它启动时,系统仍然不知道更新的值 - 所以它显然甚至没有查看它们。它仍然需要通过命令设置这些值。
我已经读过,systemd-firstboot
但不清楚在这种情况下如何使用它。
答案1
您如何构建图像,为什么不能在构建时设置时区?
例如,您正在制作 docker 映像吗?在这种情况下,只需将RUN dpkg-reconfigure tzdata
(或RUN tzconfig
,或RUN timedatectl
,或任何你的发行版需要的东西)放入你的 Dockerfile 中