centos8时区设置无法保存
-
使用
timedatectl
命令设置时区:
CentOS 8 使用systemd-timesyncd
服务来同步时间和时区。你可以使用timedatectl
命令来查看和设置系统时间和时区。例如,要设置时区为“Asia/Shanghai”,你可以运行以下命令:sudo timedatectl set-timezone Asia/Shanghai
设置完成后,你可以使用
timedatectl status
命令来检查当前的系统时间和时区设置是否已更改。 -
编辑
/etc/localtime
符号链接:
另一个设置时区的方法是直接编辑/etc/localtime
符号链接,使其指向正确的时区文件。例如,要设置时区为“Asia/Shanghai”,你可以运行以下命令:sudo ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
请注意,这种方法在某些情况下可能会被
timedatectl
或systemd-timesyncd
服务覆盖。 -
检查并配置
systemd-timesyncd
服务:
确保systemd-timesyncd
服务正在运行,并且已配置为同步到可靠的时间服务器。你可以使用以下命令来检查服务状态:systemctl status systemd-timesyncd
如果服务未运行,你可以使用
systemctl start systemd-timesyncd
命令来启动它。同时,确保/etc/systemd/timesyncd.conf
文件中的NTP服务器配置是正确的。 -
持久化设置:
如果你希望时区设置在系统重启后仍然有效,那么上述的timedatectl
命令和符号链接方法通常已经足够。但是,为了确保万无一失,你还可以检查/etc/timezone
文件(如果存在)是否包含正确的时区信息。如果不存在该文件,你可以手动创建一个并写入时区信息,例如:echo "Asia/Shanghai" | sudo tee /etc/timezone
然而,请注意,CentOS 8 默认可能不使用
/etc/timezone
文件来存储时区信息,而是依赖timedatectl
和/etc/localtime
符号链接。 -
重启系统:
在更改时区设置后,有时需要重启系统才能使更改生效。你可以使用reboot
命令来重启系统。
如果以上方法仍然无法解决问题,请检查是否有其他系统配置或安全策略可能阻止了时区设置的更改。此外,也可以考虑查看系统日志(如/var/log/messages
或journalctl
输出)以获取更多关于时区设置更改的详细信息。