调整完/usr的挂载点后,出现了一个奇怪的现象,原来正确的系统时钟现在出故障了,提前了8个小时。
鼓掌现象具体表现为:每次启动系统,ubuntu会用BIOS的时间+8后作为系统时钟,同时会把新的时间重新同步到BIOS中。所以每启动一次,时间就会快进8小时。很是怪异。
网上一通google才搞定。
原因是因为/usr的挂载时间被滞后了,由于/etc/localtime(时区信息)是连接到/usr/share/zoneinfo/下的某个设定好的时区文件。在系统获取时区信息时/usr尚未挂载,所以系统始终就错了。
修复办法很简单:
1. rm /etc/localtime(取消原来的符号连接)
2. 把/usr/share/zoneinfo/下的某个设定好的时区文件copy到/etc/localtime.
3. 重新启动,故障消除。
相关概念:
UTC(Universal Time Coordinated) = GMT (Greenwich Mean Time)
hwclock : query and set the hardware clock (RTC)
hwclock通过/etc/default/rcS的UTC(=yes/no)来认定BIOS时钟是UTC还是localtime。
参考文章:
http://blog.chinaz.com/u1/5830/archives/2006/36628.shtml
昨天由于ubuntu的/分区空间紧张,决定把/usr挂载到别的分区。
挂载步骤(root权限执行):
1. init 1 -- 切换到单用户模式。
2. cp -ax /usr/* /mnt/tmp (tmp为新的/usr分区)。 -- 拷贝现在/usr下的内容到待切换的分区。
3. ls -l /dev/disk/by-uuid -- 查看分区的UUID。
4. 修改/etc/fstab中/usr的挂载方式,挂接到新的/usr分区。
5. mv /usr /usr.old -- 重命名现有的/usr为/usr.old, 为第6步做准备,重启动后可以删除之。
6. mkdir /usr -- 创建新的/usr挂载点,启动时自动挂载/usr分区到此处。
7. restart