修改系統時間。
linux系統時鍾有兩個,一個是硬體時鍾,即BIOS時間,就是我們進行CMOS設置時看到的時間,另一個是系統時鍾,是linux系統Kernel時間。當Linux啟動時,系統Kernel會去讀取硬體時鍾的設置,然後系統時鍾就會獨立於硬體運作。有時我們會發現系統時鍾和硬體時鍾不一致,因此需要執行時間同步,下面就分享一下時間設置及時鍾同步的命令使用方法。
date命令將日期設置為2014年6月18日
---- date -s 06/18/14
將時間設置為14點20分50秒
---- date -s 14:20:50
將時間設置為2014年6月18日14點16分30秒(MMDDhhmmYYYY.ss)
----date 0618141614.30
⑵ 有沒有辦法可以獲取linux開發板的硬體定時器頻率
1、默認情況下系統節拍率選擇100Hz。
2、設置好後在Linux內核源碼根目錄下的config文件中可見系統節拍率被設置為100Hz。
3、Linux內核會使用CONFIGHZ來設置自己的系統時鍾,文件includeasmgenericparamh。
4、Linux內核使用全局變數jiffies來記錄系統從啟動以來的系統節拍數,系統啟動的時候會將jiffies初始化為0,即可獲取,linux開發板的硬體定時器頻率。
⑶ linux 怎麼設置硬體時鍾 UTC
在 /etc/adjtime 中設置,默認、推薦的設置為UTC。
可以用下面命令專自動屬生成 /etc/adjtime:
UTC:
# hwclock --systohc --utc
localtime:# hwclock --systohc --localtime
⑷ Linux中如何查看修改系統的時間和時區
一、時區
1. 查看當前時區
date -R
2. 修改設置時區
方法(1)
tzselect
方法(2) 僅限於RedHat Linux 和 CentOS
timeconfig
方法(3) 適用於Debian
dpkg-reconfigure tzdata
3. 復制相應的時區文件,替換系統時區文件;或者創建鏈接文件
cp /usr/share/zoneinfo/$主時區/$次時區 /etc/localtime
在中國可以使用:
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
二、時間
1、查看時間和日期
date
2、設置時間和日期
將系統日期設定成1996年6月10日的命令
date -s 06/22/96
將系統時間設定成下午1點52分0秒的命令
date -s 13:52:00
3. 將當前時間和日期寫入BIOS,避免重啟後失效
hwclock -w
備註:
更詳細的命令說明請參加man
⑸ Linux 時間同步
在Linux系統中存在兩個時鍾時間,分別是
硬體時鍾是指的在主板上的時鍾設備,也就是通常可以在BIOS畫面設置的時鍾,即使關機狀態也可以計算時間。
而系統時鍾則是指Kernel中的時鍾,其值是由1970年1月1日00:00:00 UTC時間至當前時間所經歷的秒數總和。當Linux啟動的時候,系統時鍾會讀取硬體時鍾的設定,之後系統時鍾獨立運作。長時間運行兩者可能將會產生誤差。另外所有的Linux相關指令都是讀取系統時鍾指定的,如date。
我們這里討論的是系統時間。
NTP,網路時間協議,使用 123/udp 埠進行網路時鍾同步;NTP 是仍在使用中的最古老的網路傳輸協議之一(1985 年前開始)。
以前Linux時間同步基本是使用 ntpdate 和 ntpd 這兩個工具實現的,但是這兩個工具已經很古老了。
【注】ntpdate和ntpd是互斥的,兩者不能同時使用。ntpd是步進式平滑的逐漸調整時間,而ntpdate是斷點式更新時間。
RHEL/CentOS 7.x 已經將 chrony 作為默認時間同步工具了。
其他Linux (如 ubuntu) 使用 systemd-timesyncd 服務。
chrony 是 RedHat 開發的,它是網路時間協議(NTP)的另一種實現;
RHEL/CentOS 7.x 的默認時間同步工具;
chrony 可以同時做為 ntp 服務的客戶端和服務端;安裝完後有兩個程序 chronyd、chronyc:
chronyd 是一個 daemon 守護進程,chronyc 是用來監控 chronyd 性能和配置參數的命令行工具。
系統版本:CentOS 7.5
chrony_server(relay):10.0.0.4
chrony_client:10.0.0.5
Edit file /etc/chrony.conf
默認已經啟動,不需要調整
example:
配置 chrony
edit file: /etc/chrony.conf
再次用chronyc 命令檢查,比較它與chronyd server的差異
systemd-timesyncd 是一個用於跨網路同步系統時鍾的守護服務。它實現了一個 SNTP 客戶端,但更輕量級,更集成systemd。
systemd-timesyncd 啟動時會讀取 /etc/systemd/timesyncd.conf 配置文件,內容如下:
你可以輸入你希望使用的其它時間伺服器,比如你自己的本地 NTP 伺服器,在 NTP= 行上輸入一個以空格分隔的伺服器列表。
如果伺服器可以直接連接internet,不用修改默認配置;如果在內網,需要單獨指定。
在最新的 Ubuntu 版本中,timedatectl 替代了老舊的 ntpdate。默認情況下,timedatectl 在系統啟動的時候會立刻同步時間,並在稍後網路連接激活後通過 socket 再次檢查一次。
timesyncd 替代了 ntpd 的客戶端的部分。默認情況下 timesyncd 會定期檢測並同步時間。它還會在本地存儲更新的時間,以便在系統重啟時做時間單步調整。
通過 timedatectl 和 timesyncd 設置的當前時間狀態和時間配置,可以使用 timedatectl status 命令來進行確認。
由於 timedatectl 的存在,各發行版已經棄用了 ntpdate,默認不再進行安裝。
timedatectl
timedatectl status ,查看時間同步狀態;
timedatectl set-ntp true ,開啟網路時間同步;
timedatectl set-timezone ZONE ,設置時區。
NTP synchronized: yes 表示時間是同步狀態。
查看服務狀態以及從哪個ntp server同步時間。
NTP:軟體層面實現,成本低。同步精度10ms左右。
PTP:需要網路介面具備在物理層提供時間戳的功能,同步精度優於100ns,區域網的節點需要使用支持PTP功能的交換機。區域網網路接點不支持PTP的話,只能同不到us,而且受網路背景流量影響。
⑹ linux系統硬體時間和系統時間
在Linux中有硬體時鍾與系統時鍾兩種時鍾。硬體時鍾是指主機板上的時鍾設備,也就是通常可在BIOS畫面設定的時鍾。系統時鍾則是指kernel中的時鍾。所有Linux相關指令與函數都是讀取系統時鍾的設定。因為存在兩種不同的時鍾,那麼它們之間就會存在差異。當Linux啟動時,系統時鍾會去讀取硬體時鍾的設定,之後系統時鍾即獨立運作。
用date命令對系統時間進行設置後,並不會去修改硬體時鍾,所以系統重啟後,系統時間還算會去讀取硬體時間,這就是為何date設置失效到原因。
因此,需要在設置系統時間後,將系統時間同步到硬體時鍾。
clock/hwclock:
顯示與設定硬體時鍾(query and set the hardware clock (RTC)),兩個命令相同。RTC=Real Time Clock,也就是硬體時鍾。
命令參數:
-r, --show 讀取並列印硬體時鍾(read hardware clock and print result)-s, --hctosys 將硬體時鍾同步到系統時鍾(set the system time from the hardware clock)-w, --systohc 將系統時鍾同步到硬體時鍾(set the hardware clock to the current system time)
命令示例:
1. 查看硬體時鍾
2014年03月27日 星期四 11時03分50秒 -0.328520 seconds
[root@localhost ~]# hwclock -r
2014年03月27日 星期四 11時03分53秒 -0.797264 seconds
[root@localhost ~]# hwclock --show
2014年03月27日 星期四 11時04分01秒 -0.672267 seconds
2. clock與hwclock相同
同步網路時間到系統時間
[root@localhost ~]# ntpdate 210.72.145.4427 Mar 11:11:24 ntpdate[4766]: adjust time server 210.72.145.44 offset 0.011401 sec
210.72.145.44(中國西安授時中心的官方時間同步伺服器IP域名)
同步網路時間到系統時間後,就可以用hwclock -w將系統時間同步到硬體時間。
修改時區
可能部分系統在執行以上兩步後,在重啟後仍然失效,所以需要進行時區修改。
[root@localhost ~]# tzselect #按照提示進行選擇時區
[root@localhost ~]# ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
修改系統時間配置文件
[root@localhost ~]# /etc/sysconfig/clock
#打開clock文件,將相關內容改成以下內容
UTC=false
ARC=false
ZONE="Asia/Shanghai"
重啟系統
[root@localhost ~]# reboot
⑺ linux怎麼查看硬體時間
一、首先要弄清幾個概念:
1. 「系統時間」與「硬體時間」
系統時間: 一般說來就是我們執行 date 命令看到的時間,linux系統下所有的時間調用(除了直接訪問硬體時間的命令)都是使用的這個時間。
硬體時間: 主板上BIOS中的時間,由主板電池供電來維持運行,系統開機時要讀取這個時間,並根據它來設定系統時間(注意:系統啟動時根據硬體時間設定系統時間的過程可能存在時區換算,這要視具體的系統及相關設置而定)。
二、查看系統時間和硬體時間
1. 系統時間 date
直接調用 date,得到的是本地時間。如果想得到UTC時間的話,使用 date -u。
2. 硬體時間 /sbin/hwclock
直接調用 /sbin/hwclock 顯示的時間就是 BIOS 中的時間嗎?未必!這要看 /etc/sysconfig/clock 中是否啟用了UTC,如果啟用了UTC(UTC=true),顯示的其實是經過時區換算的時間而不是BIOS中真正的時間,如果加上 --localtime 選項,則得到的總是 BIOS 中實際的時間.
三、系統啟動和關閉時,硬體時間與系統時間之間的同步有兩種方式(假設在中國,用CST代表本地時間):
方式A: 使用UTC(對linux就是 /etc/sysconfig/clock 中 UTC=true)
開機: BIOS------->UTC(將BIOS中的時間看成是UTC)------(時區變化)----->CST
關機: CST -------(時區變化)----->UTC-------存儲到------>BIOS
方式B: 不使用UTC(對linux就是 /etc/sysconfig/clock 中 UTC=false)
開機: BIOS--------------------->CST(將BIOS中的時間看成是CST)
關機: CST ---------存儲到------>BIOS
四、系統時間和硬體時間的同步
同步系統時間和硬體時間,可以使用hwclock命令。
//以系統時間為基準,修改硬體時間
[root@localhost ~]# hwclock --systohc <== sys(系統時間)to(寫到)hc(Hard Clock)
[root@localhost ~]# hwclock -w
//以硬體時間為基準,修改系統時間
[root@localhost ~]# hwclock --hctosys
[root@localhost ~]# hwclock -s