centos8时区设置无法保存

  1. 使用timedatectl命令设置时区‌:
    CentOS 8 使用systemd-timesyncd服务来同步时间和时区。你可以使用timedatectl命令来查看和设置系统时间和时区。例如,要设置时区为“Asia/Shanghai”,你可以运行以下命令:

     
    sudo timedatectl set-timezone Asia/Shanghai

    设置完成后,你可以使用timedatectl status命令来检查当前的系统时间和时区设置是否已更改。

  2. 编辑/etc/localtime符号链接‌:
    另一个设置时区的方法是直接编辑/etc/localtime符号链接,使其指向正确的时区文件。例如,要设置时区为“Asia/Shanghai”,你可以运行以下命令:

     
    sudo ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

    请注意,这种方法在某些情况下可能会被timedatectlsystemd-timesyncd服务覆盖。

  3. 检查并配置systemd-timesyncd服务‌:
    确保systemd-timesyncd服务正在运行,并且已配置为同步到可靠的时间服务器。你可以使用以下命令来检查服务状态:

     
    systemctl status systemd-timesyncd

    如果服务未运行,你可以使用systemctl start systemd-timesyncd命令来启动它。同时,确保/etc/systemd/timesyncd.conf文件中的NTP服务器配置是正确的。

  4. 持久化设置‌:
    如果你希望时区设置在系统重启后仍然有效,那么上述的timedatectl命令和符号链接方法通常已经足够。但是,为了确保万无一失,你还可以检查/etc/timezone文件(如果存在)是否包含正确的时区信息。如果不存在该文件,你可以手动创建一个并写入时区信息,例如:

     
    echo "Asia/Shanghai" | sudo tee /etc/timezone

    然而,请注意,CentOS 8 默认可能不使用/etc/timezone文件来存储时区信息,而是依赖timedatectl/etc/localtime符号链接。

  5. 重启系统‌:
    在更改时区设置后,有时需要重启系统才能使更改生效。你可以使用reboot命令来重启系统。

如果以上方法仍然无法解决问题,请检查是否有其他系统配置或安全策略可能阻止了时区设置的更改。此外,也可以考虑查看系统日志(如/var/log/messagesjournalctl输出)以获取更多关于时区设置更改的详细信息。