Centos 系统时间详解
CentOS 操作系统在处理时间方面涉及两个主要概念:系统时间和硬件时间,系统时间(System Time)由 Linux 内核维护,而硬件时间(RealTime Clock, RTC)则由主板上的电池供电维持,本文将详细介绍如何在 CentOS 系统中查看和设置这两种时间,以及如何进行时区设置和时间同步。

一、系统时间和硬件时间
1. 系统时间(System Time)
系统时间是指当前 Linux 内核中的时间,它可以通过date
命令来查看和设置。
查看系统时间
- date
输出示例:
- Wed Oct 11 10:35:27 CST 2024
设置系统时间
- date s "20241011 10:35:27"
2. 硬件时间(RealTime Clock, RTC)

硬件时间是由主板上的电池供电的时间,它独立于操作系统运行,即使在系统关闭的情况下也能继续运行,硬件时间通常使用协调世界时(UTC)。
查看硬件时间
- hwclock
输出示例:
- 20241011 02:35:27.123456+00:00
设置硬件时间
- hwclock set date="20241011 02:35:27"
二、时区设置
CentOS 系统中,时区的设置和修改可以通过多种方式实现。
1. 查看当前时区

- timedatectl
输出示例:
- Local time: Fri 20241011 10:35:27 CST
- Universal time: Fri 20241011 02:35:27 UTC
- RTC time: Fri 20241011 02:35:27
- Time zone: Asia/Shanghai (CST, +0800)
- NTP enabled: yes
- NTP synchronized: yes
- RTC in local TZ: no
- DST active: n/a
2. 列出所有可用时区
- timedatectl listtimezones
输出示例(部分):
- Africa/Abidjan
- Africa/Accra
- Africa/Addis_Ababa
- ...
3. 设置时区
- timedatectl settimezone Region/City
设置为上海时区:
- timedatectl settimezone Asia/Shanghai
三、时间同步
为了确保系统时间的准确性,通常会与网络时间协议(NTP)服务器进行同步。
1. 安装 NTP 服务
- yum install ntpdate y
或
- yum install chrony y
2. 手动同步时间
使用ntpdate
命令与 NTP 服务器同步时间:
- ntpdate pool.ntp.org
或者,如果使用的是chrony
:
- chronyc a makestep
四、常见问题及解决方法
1. 系统时间与硬件时间不一致怎么办?
系统时间和硬件时间可能不一致,特别是在系统长时间运行后,可以使用以下命令将系统时间写入硬件时间,或将硬件时间同步到系统时间。
将系统时间写入硬件时间
- hwclock systohc
将硬件时间同步到系统时间
- hwclock hctosys
2. 如何更改硬件时间的时区?
默认情况下,硬件时间使用 UTC,如果需要硬件时间使用本地时区,可以使用以下命令:
- timedatectl setlocalrtc true
要改回使用 UTC:
- timedatectl setlocalrtc false
CentOS 系统时间的管理和设置涉及系统时间和硬件时间两个方面,通过date
和hwclock
命令可以查看和设置这两种时间,时区设置可以通过timedatectl
命令完成,而时间同步则需要依赖 NTP 服务,了解这些命令和工具的使用,可以帮助系统管理员更好地管理和维护系统时间,确保系统运行的准确性和一致性。