ºìÁªLinuxÃÅ»§
Linux°ïÖú

LinuxµÄʱ¼äÓëʱÇø£¨±¸Íü£©

·¢²¼Ê±¼ä:2007-06-21 00:28:02À´Ô´:ºìÁª×÷Õß:firmstre
¡¡¡¡Ê×ÏÈҪ˵Ã÷µÄÊÇÎÒµÄϵͳÊÇfedora£¬ÆäËûϵͳ¿ÉÄܲ»ÍêÈ«Ïàͬ¡£

¡¡¡¡1£¬Ê±¼ä±£´æÔÚÓ²¼þʵʱÖÓ£¨RTC£©ÖУ¬RTCÓÉÖ÷°åµç³Ø¹©µç£¬¼´Ê¹¹Ø¶ÏµçÔ´Ò²²»»áÔì³Éʱ¼ä¶ªÊ§¡£

¡¡¡¡2£¬ÏµÍ³Æô¶¯Ê±´ÓRTC»ñȡʱ¼ä£¬Õâ¸ö²½ÖèÔÚrc.sysinitÖÐ×ö£º

¡¡¡¡a£¬Ê×ÏÈ´Ó/etc/sysconfig/clockÖлñÈ¡RTCÏà¹Ø²ÎÊýUTC/ARC/SRM¡£UTCΪtrue±íʾRTC±£´æµÄʱ¼äÊÇUTCʱ¼ä£¬false±íʾ±£´æµÄÊDZ¾µØʱ¼ä¡£ARCÓëSRMµÄº¬Òå²Î¿¼hwclockµÄmanpage£¬Ò»°ãfalse¼´¿É£»

¡¡¡¡b£¬¸ù¾ÝÉÏÃæ»ñÈ¡µÄÄÚÈݹ¹ÔìhwclockÃüÁîµÄ²ÎÊý£¬½«Ê±¼äÓÉRTC¶ÁÈ¡µ½ÏµÍ³Ê±ÖÓ¡£

¡¡¡¡*ÐèҪ˵Ã÷µÄÒ»µãÊÇhwclockµÄÊä³öÊDZ¾µØʱ¼ä£¬localtime/utc²ÎÊýÖ»ÊÇÓÃÀ´¸æËßhwclockÃüÁîCOMSʱÇøÊÇÄĸöʱÇø¡£±ÈÈçLinuxϵͳµÄϵͳʱÇøÉèÖÃΪCST£¨Öйú±ê׼ʱ¼ä£©£¬COMSʱ¼ä²ÉÓÃǽÉÏʱ¼ä£¬¼´COMSʱÇøÒ²ÊÇCST£¬ÕâʱÈç¹ûʹÓÃ--utc²ÎÊý£¬»áÈÃhwclockÎóÒÔΪCOMSʱÇøΪUTC£¬ËùÒÔÊä³öµÄʱ¼ä»á×Ô¶¯£«8¡£

¡¡¡¡3£¬tzset()£ºtzsetÔÚ³ÌÐòÖÐÓÃÀ´³õʼ»¯tznameµÈÈ«¾Ö±äÁ¿£¬ËüÊ×ÏÈÊÔͼ´Ó»·¾³±äÁ¿¡°TZ¡±ÖлñȡʱÇø£¬Èç¹ûTZ»·¾³±äÁ¿´æÔÚ£¬¼´getenv("TZ")·µ»ØÖµ²»ÎªNULL£¬ÇÒ°üº¬ÄÚÈÝÓÐЧ£¬ÔòʹÓÃTZÖµ£»Èç¹û¸Ã±äÁ¿´æÔÚµ«ÄÚÈÝÎÞЧ£¬±ÈÈç°üº¬´íÎóµÄʱÇøÃû×Ö£¬ÔòʹÓÃUTC£»Èç¹û¸Ã±äÁ¿²»´æÔÚ£¬¼´getenv("TZ")·µ»ØNULL£¬Ôò²éÕÒϵͳʱÇøÉèÖÃÎļþ£¬Ò»°ãÊÇ/etc/localtime¡£localtimeËùÖ¸ÎļþµÄÄÚÈݸñʽ¿É²Î¿¼tzfile(5)¡£

¡¡¡¡4£¬time()£º·µ»Ø×Ô00:00:00 UTC, January 1, 1970µ½ÏÖÔÚËù¾­¹ýµÄÃëÊý£¬×¢Ò⣬ÊÇUTC¡£

¡¡¡¡5£¬ctime()/localtime()/mktime()£ºÕâÀàºÍʱÇøÏà¹ØµÄº¯ÊýÄÚ²¿»áµ÷ÓÃtzset£¬µ«Ö»ÊǵÚÒ»´Îµ÷ÓÃtzset»á×öʵ¼Ê³õʼ»¯£¬ºóÃæµÄµ÷Óö¼ÊÇÖ±½Ó·µ»Ø¡£

¡¡¡¡6£¬ÏµÍ³¹Ø±Õʱ£¬ÈçÖ´ÐÐshutdown/reboot/poweroff/haltµÈ²Ù×÷ºó£¬ÏµÍ³Ê±¼ä»á±£´æµ½RTCÖУ¬ÕâÊÇÔÚhalt½Å±¾ÖÐÍê³ÉµÄ£¬²Î¿´/etc/init.d/haltÄÚÈÝ¡£

¡¡¡¡²¹³äÒ»¸ötzsetµÄÓ÷¨£ºÓ¦ÓÃÔÚchrootµ½·Ç"/"Ŀ¼ǰÐèÒªµ÷ÓÃtzset()£¬·ñÔòchrootºó¿ÉÄÜÎÞ·¨»ñÈ¡ÕýȷʱÇøÐÅÏ¢¡£ÒòΪ/etc/localtimeÒѾ­ÕÒ²»µ½ÁË¡£
ÎÄÕÂÆÀÂÛ

¹²ÓÐ 0 ÌõÆÀÂÛ