今天把Debian Linux安装在台式机上面了。
第一个遇到的问题就是时间设定,Debian里面的系统时间跟硬件时间对不上,偏差了8个小时。原因是由于MS的OS一直以来都没有支持到UTC的时间设定,一换到支持UTC的Linux就遇到这样的问题了。(关于UTC,请参照《时间缩写解释》)。其实Debian是建议使用UTC时间的,只是自己还是习惯Windows(不懂UTC的OS),所以把自己的Debian也改过来了。
在Linuix 系统里面,系统时间由3个因素决定:硬件时间、UTC(/etc/default/rcS)、Timezone。
/etc/default/rcS 里面的UTC选项,告诉Linux系统,这个硬件时间是否UTC时间。Timezone 是设定系统所处UTC时区(我现在用的是 Asia/Shanghai)。
最后,系统启动时候读出硬件时间,再根据是否UTC时间、系统所处Timezone计算出系统localtime。
下面是硬件时钟的时间。
DNAS:~# hwclock –show
Wed 03 Oct 2007 09:40:10 PM CST -0.169539 seconds
由于我已经在/etc/default/rcS 里面设置了UTC=no,告诉了系统,硬件时间并不是UTC时间。之后系统时间就会根据以下两个文件决定时区了:
/etc/timezone
/etc/localtime timezone 是一个文本文件,只需要把自己所处的时区写进去就可以了,我的是 Asia/shanghailocaltime 直接从 /usr/share/zoneinfo 把自己所处时区的文件做一个 ln 过去就好了。
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
下面是date命令所返回的日期时间,这是已经计算过的了。
DNAS:~# date
Wed Oct 3 21:38:11 CST 2007
接下来就是关于系统时间、硬件时间同步问题了
在刚装好的系统里面, hwclock 这个命令是返回这样的错误的:
select() to /dev/rtc to wait for clock tick timed out
也就是说系统不能访问硬件时间(RTC),也许是因为自己的新型号机器BIOS的处理方式跟Linux的老款RTC module之间有兼容问题。
有问题,换一个RTC module就是了。Linux的RTC module有下面三个 rtc/genrtc/rtc_dev
modprobe
hwclock –show
rmmod
把三个module都试过,看哪个比较好用的。
然后修改 /etc/modprobe.d/blacklist 把不好用的blacklist掉, /etc/modules 把好用的那个加上。我自己用的就是 rtc_dev 这个module。
关于 date/hwclock 命令的使用,man一下就有很详细了。
Debian Linux的时间时区设定
转载请注明出处:服务器评测 » Debian Linux的时间时区设定
相关推荐
- *DediRock 闪购优惠:立即节省 10% – 限时!
- [ ⚡️ 转售专用服务器 ⚡️ ] 美国专用服务器,带 50% 定期经销商折扣
- *IOFLOOD.com █ 黑色星期五 █ 双 E5-2695v4 + 升级 30% 折扣
- *🍂 黑色星期五前促销🔥30% 折扣!👉 即时服务器!💎 不限流量!💎 E5 特惠 + Ryzen
- [OMNIS NETWORK] – 专用服务器促销!- 最高可享受 40% 折扣!!!
- ██ 双倍 RAM 回归 ██ AMD RYZEN 7 █ 128GB RAM █ 1TB NVMe █ IPMI █ /24 IPv4 ██ 24 美元起
- ✅ SmokyHosts 黑色星期五促销 – 无限量服务器每月 29.97 美元起
- *GigaGPU – GPU GTX 1660 Tesla RTX 4060 3090 – 英国专用服务器 – AMD Ryzen GPU