vsntp ¬O SNTP «È¤áºÝªA°Èµ{¦¡¡A±M¬°®É¶¡¤£¥¿±`ªº¨t²Î³]p¡C vsntp ªº·N«ä¬O SNTP for Virtual PC
¡Aì¥ý¬O§Ú¬°¤F¦b Connectix Virtual PC ¤W¶] GNU/Linux ¨t²Î¦Ó¼g¡C vsntp ¨Ì RFC 1769 SNTP ¼Ð·Ç¡A³s½u¨ì NTP ¦øªA¾¹¤Wªº UDP °ð 123 ¥H®Õ®É¡C
Y¨S¦³¸Ë Virtual PC Additions ¡A Virtual PC ªº®É¶¡«Ü¶Ã¡C Virtual PC ªº RTC ¡] Real Time Clock ¡A©ÎºÙ CMOS ®ÉÄÁ¡BµwÅé®ÉÄÁ¡^¬O¥Î³nÅé¼ÒÀÀ¥X¨Óªº¡A©¹©¹®Ú¥»¨S¦³¦b¶]¡C GNU/Linux ®Ö¤ß«j±jºû«ù¤@Ó¤j·§ªº®É¶¡¡C¥¿±`±¡ªp¤U¡A¥§¡¤@¤ÀÄÁ·|§Ö¥|¬í¡A¤@¤Ñ§Ö¤@Ó¥b¤p®É¡C³o¹ê¦b¬O¤Ó¸Ø±i¤F¡A¥Î²´·ú³£¤À¿ë±o¥X®ÉÄÁ³t«×¦³°ÝÃD¡C
David L. Mills ªº ntp ®Õ®É¦øªA¾¹¦b¦¹§¹¥þ¥¢ÆF¡C ntp ¥ý´ú¥X¨t²Î®É¶¡³t«×°¾²¾¡A¥Î adjtimex() ¨Ó½Õ¾ã¨t²Î®ÉÄÁ³t«×¡A¥Î³oÓ¤èªkº¥ªñ¦¡½Õ¾ã¡A¨t²Î¥»¨©M¬ÛÃöÀ³¥Îµ{¦¡¤ñ¸û¤£·|¥X°ÝÃD¡C³oÓ¤èªk¦³¤@Ó«e´£¡G®É¶¡³t«×¥»¨«í©w¤£ÅÜ¡C¥i¬O Virtual PC ¤£Á¿³o¤@®M¡C Virtual PC ªº®É¶¡¯Âºé¬O³nÅé¼ÒÀÀ¥X¨Óªº¡A¨ü¥D¹q¸£t²ü»P¨ä¥¦¦]¯À¼vÅT¡A®É§Ö®ÉºC¡C¨S¦³©T©wªº®É¶¡³t«×¡A¤]´N¨S¦³®É¶¡³t«×°¾²¾È¡C«ç»ò´ú³£¬OªPµM¡C
David L. Mills ªº ntp µ{¦¡ùØ¡Aªþ¤F¤@Ó sntp «È¤áºÝµ{¦¡¡A¥i¥H©ñ¦b crontab ùØ©w´Á¹ï®É¡A¹ï®É§¹µ²§ôµ{¦¡¡C°ÝÃD¬O¡A crontab ³Ì¤p³æ¦ì¬°¤À¡A³»¦h¤@¤ÀÄÁ¶]¤@¦¸¡A¥i¬O Virtual PC ªº®É¶¡¤@¤ÀÄÁ§Ö¥|¬í¡C¤@¤ÀÄÁ°h¦^¥|¬í¡A¤j¦h¼ÆÀ³¥Îµ{¦¡³£¨ü¤£¤F¡C¤@¤ÀÄÁ¶]¤@¦¸¡A¹ï¨t²Îªºt²ü¤]«Ü¤j¡C
vsntp ¬O¬°¦¹¦Ó¼gªº¡C¥¦¥H daemon ¨Ó°õ¦æ¡A¥H§K¨C¦¸¹ï®É³£¹ï¨t²Î³y¦¨ÄY«t²ü¡C¥¦¥Î settimeofday() ¨Ó½Õ¾ã®É¶¡¡A®Õ®ÉÀW²v¥i¥ô·N³]©w¡A¾¨¥i¯à§â¨t²Î®ÉÄÁ»~®t¡Aºû«ù¦b¤@¬í¥H¤º¡C
vsntp ªº°µªk¦³¤U¦C¯Ê³´¡GÀWÁc®Õ®É®É¡Aºô¸ô¬y¶q«Ü¤j¡AÀW¼eªºt²ü¤£¤p¡A¹ï¹ï¤è NTP ¦øªA¾¹¤]·|³y¦¨«Ü¤jªºt¾á¡C©p³Ì¦n¦Û¤v¦b°Ïºô¤º¡A¬[¤@¥x¦Û¤vªº NTP ¦øªA¾¹¡C¦P®É¦] settimeofday() ±j¨î®É¶¡³]©w¤ÓÀWÁc¤F¡A¨t²Îªº°ªºë«×p®É¥\¯à·|¥X°ÝÃD¡C
vsntp ¥Î sleep() ©I¥s¨Ó©w®É®Õ®É¡C¦b¬Y¨Ç¨t²Î¤W sleep() ¥i¯à¤£¤j¥¿±`¡CY vsntp ®Õ®É¤@¬q®É¶¡«á´N¤£°Ê¤F¡A¨t²Î¤Wªº sleep() ©I¥s¤£¥¿±`®É¡A¥i¥H§ï¥Î -a ¿ï¶µ´«¦¨ alarm() p®É¾¹¸Õ¬Ý¬Ý¡C
Y¸I¨ì¥ô¦ó°ÝÃD¡A½Ð°Ñ¾\©p¨t²Îªº¤Wªº syslog °O¿ý¡C vsntp §â¸Ô²Ó°»¿ù°T®§¡A³£¥H LOG_DEBUG ¼h¦¸¡A LOG_DAEMON Ãþ§O°O¿ý¨ì syslog ¤¤¡C©p¥i¥H¦b /etc/syslog.conf ¤¤¥[¤W³o¤@¦æ¡A¼g¤J°»¿ù°T®§¡G
daemon.debug /var/log/debug
¨Ã¬d¾\ /var/log/debug ¤¤ªº°»¿ù°T®§¡C°O±o¦b°»¿ùµ²§ô«áÃö³¬¡C°»¿ù°T®§¬y¶q«Ü¤j¡A«Ü§Ö´N·|¶ëÃzµwºÐ¡C´Nºâ¨S¶ëÃz¡A¤j¶q¸ê®Æ¼g¤JµwºÐ¡A¹ï¨t²Î®Ä¯àªº¼vÅT¤]«Ü¤j¡C
vsntp ì¬O¬° GNU/Linux ¨t²Î¤W°õ¦æ¦Ó¼g¡C vsntp ¥Îªº³£¬O POSIX ¬Û®eªº¨t²Î©I¥s¡A¦b POSIX ¬Û®e¨t²Î¤WÀ³¸Ó³£¥i¥H°õ¦æ¡C¤£¹L¥Ø«e¬°¤î§Ú¥u¦³ Cygwin ¡A¥u¦b Cygwin ¤W´ú¸Õ¹L¡C Cygwin ¤W¥i¥H°õ¦æ¡CY©p¥i¥H¦¨¥\¦b¨ä¥¦¨t²Î¤W°õ¦æ¡A½Ð¨Ó«H§iª¾¡CY»Ýn¥ô¦óì©lµ{¦¡ªº×¥¿¡A¥ç½Ð¤@¨Öªþµ¹§Ú¡C
Y©p¥i¥H¦b¨ä¥¦µêÀÀ¾÷¾¹¤W°õ¦æ vsntp ¡A¨Ò¦p VMWare ¡A½Ð¨Ó«H§iª¾¡C
°ò¥»¤W¡AY©p¦b¥Î vsntp ¡A½Ð¤@©wn¨Ó«H§i¶D§Ú¡C§Ú«Ü·Qª¾¹D vsntp ¬O¤£¬O¯uªº¦³¤H¦b¥Î¡A¹ï¥@¬É©M¥¦³À°§U *^_^* ©Î¥u¬O¦Û¤v¼g¦nª±ªº¦Ó¤w¡C :p
vsntp ¬O§Ú¼gªº²Ä¤@Ó daemon ¡A§Ú¼gªº²Ä¤@Ó socket µ{¦¡¡A¤]¬O§Ú²Ä¤@Ó¤½¶}µo¦æªº C µ{¦¡¡C½Ð¦h¦h«ü±Ð¡ã ^_*'
vsntp ªº©x¤èºô¯¸¦b¡G
³Ì·sª© vsntp ¥i¥Ñ¤U¦C¦ì§}¤U¸ü¡G
¨Ìº¿¿ßªº PGP ¤½Æ_¦b¡G
vsntp ¨Ï¥Î¼Ð·Çªº GNU autoconf ªk½sͦw¸Ë¡G
% tar xzf vsntp-x.x.x.tar.gz
% cd vsntp-x.x.x
% ./configure
½sĶ¥X¨ÓªºÀɮ׬° vsntp ¡C% make
root ¡A¥Î root ªºÅv¦w¸Ë¡G
% su Password: #
©ÎªÌ¡A©p¤]¥i¥H¥Î¦Û°Ê¦w¸Ë¡G# cp vsntp /usr/local/sbin
©p¥i¥HÃä¸ËÃä²M±¼ÀÉ®×ùتº°£¿ù²Å¸¹¡A¦w¸Ë°_¨ÓÀɮפñ¸û¤p¡G# make install
¥Î¤Wz¤è¦¡¦w¸Ë®É¡A vsntp ¹w³]¦w¸Ë¥Ø¿ý¦b /usr/local/sbin ¡C# make install-strip
n¦³ root Åv¤~¯à°õ¦æ vsntp ¡C vsntp ¥Î settimeofday() ¹ï®É¡A¨S¦³ root Åv¤£¯à°õ¦æ settimeofday() ¡C
n±Ò°Ê vsntp ¡A¥[¤W¹ï®É¥Îªº NTP server §Y¥i¡G
# vsntp my.ntp.server.com
vsntp ·|§â PID ¦s¦b /var/run/vsntp.pid ¡Cnµ²§ôµ{¦¡¡A¥un kill ¥¦ªº PID §Y¥i¡G
# kill `cat /var/run/vsntp.pid`
©p¥i¥H¥Î -p ¿ï¶µ¡A§ó§ï PID Àɪº¦ì¸m¡C
vsntp [-i ¬í¼Æ] [-p ÀÉ®×] [-s|-a] ¦øªA¾¹ vsntp [-h|-v]
sleep() ©I¥s¨Ó©w®É®Õ®É¡A¬°¥Ø«e¹w³]È¡Calarm() ©I¥s¨Ó©w®É®Õ®É¡Cvsntp ºô¯¸¬[¦b SourceForge »P ®ÈªÙ¨Ìº¿¡C¯Á¨ú³Ì·s¸ê°T¡A½Ð¾rÁ{¡G
¦b SourceForge ¤W¦³¤@Ó vsntp ªº¶l¥ó³q°T ¡C¨Ï¥Î¤Wªº°ÝÃD¡B«ØÄ³©Î¿ù»~¦^³ø¡A½Ð´£¨ì³q°T¤W°Q½×¡C¥¦¬O Mailman ªº¶l¥ó³q°T¡CYn¥[¤J¡A½Ð¨ì vsntp ¶l¥ó³q°Tªººô¶ ¡C©p¤]¥i¥H¼g«H¨ì E-mail «ü¥O«H½c¡A¼ÐÃD¶ñ¤W help ¡A¯Á¨ú E-mail «ü¥O»¡©ú¡C
settimeofday() ¡B adjtimex() ¡B sleep() »P adjtimex() ¡C¨Ìº¿¿ß¡C
ª©Åv©Ò¦³ © 2003-2007 ¨Ìº¿¿ß¡C
¥»µ{¦¡¬O¦Û¥Ñ³nÅé¡A±z¥i¥H¿í·Ó¦Û¥Ñ³nÅé°òª÷·| (Free Software Foundation) ¥Xª©ªº GNU ³q¥Î¤½¦@³\¥iÃÒ±ø´Ú(GNU General Public License) ²Ä¤Gª©¨Ó×§ï©M«·sµo§G³o¤@µ{¦¡¡A©ÎªÌ¦Û¥Ñ¿ï¾Ü¨Ï¥Î¥ô¦ó§ó·sªºª©¥»¡C
µo§G³o¤@µ{¦¡ªº¥Øªº¬O§Æ±æ¥¦¦³¥Î¡A¦ý¨S¦³¥ô¦ó¾á«O¡C¬Æ¦Ü¨S¦³¾A¦X¯S©w¥Øªº¦ÓÁô§tªº¾á«O¡C§ó¸Ô²Óªº±¡ªp½Ð°Ñ¾\ GNU ³q¥Î¤½¦@³\¥iÃÒ¡C
±zÀ³¸Ó¤w¸g©Mµ{¦¡¤@°_¦¬¨ì¤@¥÷ GNU ³q¥Î¤½¦@³\¥iÃÒªº°Æ¥»¡C¦pªGÁÙ¨S¦³¡A¼g«Hµ¹¡G Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA ¡C