BBSˮľÇ廪վ¡Ã¾«»ªÇø

 
 
                                ÖÐÎÄ UPS Howto 
 
    Harvey J. Stein, abel@netvision.net.il, Berger Financial Research, Ltd. 
 
                             v2.02, 31 March 1997 
 
 
 
                                   Abstract 
 
     ±¾ÎÄÄܰïÖúÄú½« Linux ÏµÍ³Á¬½Óµ½²»¶Ïµçϵͳ (uninterruptable power sup­ 
     ply, UPS)...  Èç¹ûÐÒÔ˵ϰ ....  °æÈ¨ÉùÃ÷: Copyright (c) 1994, 1995, 
     1996, 1997 by Harvey J. Stein.  You may use this document as you see 
     fit, as long as it remains intact.  In particular, this notice (along 
     with the contributions below) must remain untouched. 
 
                                   CONTENTS 
 
 
 
1. ¼ò½é ..................................................................... 1 
   1.1 Óй±Ï×µÄÈËÃÇ ......................................................... 2 
   1.2 ÇëÌØ±ð×¢Òâ ........................................................... 3 
   1.3 ÆäËûµÄÎļþ ........................................................... 3 
 
2. Çë×¢ÒâÒѹýʱµÄ×ÊѶ ....................................................... 3 
 
3. ´ÏÃ÷µÄÓëµ¥µ÷µÄ UPS ....................................................... 4 
 
4. ÈíÌå ..................................................................... 5 
 
5. ×Ô¼º¶¯ÊÖÖ¸ÄÏ ............................................................. 7 
   5.1 ÄúËùÐèµÄ¹¤×÷ (×ܽá) .................................................. 7 
   5.2 ÕâÓ¦¸ÃÊÇ×öʲ÷Ṥ×÷µÄ? ................................................ 7 
   5.3 ÈçºÎÉ趨ºÃËùÓеŤ×÷ ................................................. 8 
   5.4 ½øÒ»²½µÄ¸ÄÉÆ ........................................................ 10 
 
6. Ó²ÌåµÄ×¢ÒâÊÂÏî .......................................................... 10 
   6.1 ÈçºÎÖÆ×÷ѶºÅÀÂÏß .................................................... 10 
   6.2 Ñ¶ºÅÀÂÏß·´Ïò·ÖÎö¼°Ð޸Ġpower.c ...................................... 13 
 
                                       i 
 
 
 
 
1.  ¼ò½é 
 
±¾ HOWTO Îļþ°üº¬ÁËÈçºÎÁ¬½Ó UPS µ½Ö´ÐРLinux µÄµçÄÔÉÏ¡£ 
ÆäÏë·¨ÊÇÒÔÊʵ±µÄ·½Ê½½«¶þÕßÏàÁ¬½Ó£¬Ê¹µÃ Linux ¿ÉÒÔÔÚµçÔ´¶ÏµçÒÔ¼° UPS 
µÄµç³ØºÄ¹âǰ°²È«µØ¹Ø»ú¡£ 
 
ÆäÖл¹°üÀ¨ÁËһЩ¿É°ïÖúÄú½¨Á¢ÉÏÊöÁ¬ÏßµÄÈíÌ壬ÒÔ¼°ÏêÊö¸ÃÁ¬ÏßµÄÔË×÷·½Ê½¡£ 
¼ÙÈçÄúÄÜÕÒµ½Ò»¸öÒÑÉ趨ºÃ¿ÉÒÔʹÓÃÄúµÄ UPS µÄÈíÌ壬 
ÔòááÕßµÄ˵Ã÷¶ÔÄúÀ´ËµÍ¨³£ÊDz»ÐèÒªµÄ¡£·ñÔòµÄ»°£¬Äú±ØÐë×ÐϸµØÔĶÁËü¡£ 
 
ÔÚÏ൱µÄ³Ì¶ÈÉϱ¾ÎļþÒÑ±ÈÆðÎÒÔÚÈýÄêǰËù׫дµÄÔ­ÎĶà³öÁ˺ܶàÄÚÈÝ¡£ 
ËùÓеĻù±¾×ÊÁ϶¼¿ÉÒÔÔÚ SysVinit ÖеĠpowerd man page ¡õÕÒµ½¡£ 
¾¡¹ÜÔÚÈýÄêǰÓÐÈË¿ÉÄÜÎÞ·¨ÔÚÒ»°ãµÄ Linux Ì×¼þÖÐÕÒµ½ÕâÆª man page £¬ 
µ«ÎÒ²»ÏàÐŽñáỹ»áÔÙ·¢ÉúÕâÑùµÄÇé¿ö¡£ 
 
³ý´ËÖ®Í⣬µ±ÎÒµÚÒ»´Î׫дÕâÆª Howto £¬³ýÁË powerd.c ÒÔÍⲢûÓÐÆäËûµÄÈíÌå¿ÉÒÔ×öΪ 
Linux/UPS Ö®¼äµÄ¹µÍ¨Óë¿ØÖÆ¡£ ¶ø½ñÈÕÎÒÃÇÔò¿ÉÒÔÔÚ Sunsite's UPS directory1 
ÏÂÕÒµ½Ò»´ó¶Ñ UPS ¿ØÖÆÈíÌå¡£ 
 
È»¶ø£¬Êܵ½ RedHat ¼´½«ÖØÐÂÓ¡ÖÆ Dr. Linux µÄ¼¤Àø£¬ÎÒÒ²¿ªÊ¼ÖØÐ´ÕâÆª UPS Hotwo ¡£ 
Ϊʲ÷áÄØ? àÅ .... 
 
   · ÎÒÏ룬¶îÍâµÄÒ»°ãÐԸŹ۽«ÄÜÓÐÖúì¶Á˽âÈçºÎ½« Linux ÏµÍ³Á¬ÉÏ UPS £¬ 
     ¼´Ê¹ËüÖ»ÊÇÁíÒ»·ÝÄÚÈÝÏàͬµÄÎļþ¡£ 
 
   · ÕâÆª HOWTO ËãÊǸ÷ÖÖÌØÊâ UPS ×ÊÁϵĴ¢²Ø¿â --- 
     ÔÚÕâ¶ùÓÐÐí¶àÉÐδ±»ÕûºÏÈëÒ»°ãÈíÌåÌ×¼þÖеĠUPS ×ÊѶ¡£ 
 
   · ÕâÆª HOWTO °üº¬ÁËһЩÔÚÆäËûÎļþÖÐÕÒ²»µ½µÄ¶îÍâÏêϸ×ÊÁÏ¡£ 
 
 
 
____________________ 
 
1. <URL:http://sunsite.unc.edu:/pub/Linux/system/ups> 
 
ÖÐÎÄ UPS Howto                                                                1 
 
 
 
 
 
ÖÐÎÄ UPS Howto                                                                2 
 
 
 
   · Ò»Ð©¿ÉÒÔÔÚ Sunsite's UPS directory2  Õҵõ½µÄ UPS 
     ÈíÌåËÆºõ˵Ã÷Îļþ¶¼ÉٵÿÉÁ¯¡£ ÄúÒ²ÐíÐèÒªÏÈÔÄ¡õ±¾ÎÄÒÔÁ˽âÈçºÎʹÓÃËûÃÇ¡£ 
 
   · ÏÖÔÚÕâ¼þÊÂËÆºõÒÑÓÐÁË×Ô¼ºµÄÉúÃüÁË¡£µ±Ò»Æª HOWTO 
     ÎļþÒò¶øµ®ÉúʱÊÂʵ¾Í¸ü¼ÓÃ÷ÏÔÁË¡£ÁíÒ»¸ö±È½Ï²»Ã÷ÏÔµÄÊÂʵÊǵ±Ëü±ØÐëÉÏ´²Ë¯¾õʱ¡£ 
 
     (Òë×¢: ÕâÒ»¾äЦ»°ÎÒ¿´²»¶®À²! °¦! ·­µÃºÃÀà....) 
 
1.1  Óй±Ï×µÄÈËÃÇ 
 
ÎÒÓÀÔ¶¶¼»á¸Ð¼¤ÄÇÐ©Ôø¾­¸øÎÒ°ïÖú¡¢¸øÎÒ½¨Òé¡¢ÒÔ¼°¸øÎÒÌØÊâµÄ UPS ×ÊÁϵÄÈËÃÇ¡£ 
ÆäÖаüÀ¨ÁË: 
 
   · Hennus Bergman (hennus@sky.owl.nl) 
 
   · Charli (mefistos@impsat1.com.ar) 
 
   · Ciro Cattuto (Ciro Cattuto) 
 
   · Nick Christenson (npc@minotaur.jpl.nasa.gov) 
 
   · Lam Dang (angit@netcom.com) 
 
   · Markus Eiden (Markus@eiden.de) 
 
   · Dan Fandrich (dan@fch.wimsey.bc.ca) 
 
   · Ben Galliart (bgallia@orion.it.luc.edu) 
 
   · Danny ter Haar (dth@cistron.nl) 
 
   · Christian G. Holtje (docwhat@uiuc.edu) 
 
   · Raymond A. Ingles (inglesra@frc.com) 
 
   · Peter Kammer (pkammer@ics.uci.edu) 
 
   · Marek Michalkiewicz (ind43@sun1000.ci.pwr.wroc.pl) 
 
   · Jim Ockers (ockers@umr.edu) 
 
 
   · Evgeny Stambulchik (fnevgeny@plasma-gate.weizmann.ac.il) 
 
   · Clive A. Stubbings (cas@vjet.demon.co.uk) 
 
   · Miquel van Smoorenburg (miquels@cistron.nl) 
 
   · Slavik Terletsky (ts@polynet.lviv.ua) 
 
 
 
____________________ 
 
2. <URL:http://sunsite.unc.edu:/pub/Linux/system/ups> 
 
 
 
 
 
 
 
ÖÐÎÄ UPS Howto                                                                3 
 
 
 
   · Tom Webster (webster@kaiwan.com) 
 
Çë×¢ÒâÏ·½µÄ email µØÖ·ÊÇ×Ôµç×ÓÐżþÖнÚ¼ÏÂÀ´µÄ£¬ËüÃÇÒ²Ðí»á¹ýÆÚ¡£ ¶øÉÏ·½µÄ 
email µØÖ·¿ÉÄÜÒ²»á¹ýÆÚ£¬µ«ÓÐЩÊÇ±ÈÆðÏ·½»¹ÒªÐµġ£ 
 
³ý´ËÖ®Í⣬Èç¹ûÒòÎÒµÄÊèºö¶øÔÚÉϱíÖЩµôÈκÎһλÓй±Ï×Õߵϰ£¬ÎÒÕæµÄºÜ±§Ç¸¡£ ÇëÄú 
email ¸øÎÒ£¬ÎһὫÄúµÄÃû×Ö¼ÓÉÏÈ¥¡£ 
 
1.2  ÇëÌØ±ð×¢Òâ 
 
ÎÒÕæµÄÎÞ·¨±£Ö¤ÕâЩ¶«¶«¶ÔÄú»áÓÐЧ¡£Á¬½á UPS µ½µçÄÔÉÏÊÇÒ»¼þÏ൱Óм¼ÇɵŤ×÷¡£ 
ÆäÖÐÖ®Ò»»ò¶þÕß¶¼ÓпÉÄÜ»áÉÕµô¡¢±¬Õ¨¡¢Öø»ð¡¢»òÕßÊÇÒý·¢µÚÈý´ÎÊÀ½ç´óÕ½¡£ 
³ý´ËÖ®Í⣬ÎÒÖ»ÓжԠAdvice 1200 A UPS£¬ÒÔ¼° 5kva Best Ferrups ÓÐÖ±½ÓµÄ¾­Ñ飬 
¶øÇÒÎÒÒ²²»ÐèÒª×Ô¼º×öÒ»ÌõѶºÅÏß¡£ËùÒÔ£¬Çë×¢Òâ! ¾¡¿ÉÄܵØÊÕ¼¯ÄúµÄ UPS µÄËùÓÐ×ÊѶ¡£ 
ÇëÏÈ¿¼ÂÇÇå³þ£¬²»ÒªËæ±ãÏàÐÅÈκÎÄúÔÚ±¾ÎÄÖлòÆäËûµØ·½Ëù¶Áµ½µÄÄÚÈÝ¡£ 
 
ÁíÒ»·½Ã棬ÎÒÕý¾¡¿ÉÄܵØÊÕ¼¯ËùÓÐʹÎҵĠUPS ¿ÉÒÔ¹¤×÷µÄ·½·¨£¬ 
ÆäÖÐÓкܶ಻ÊÇÀ´×ÔÖÆÔìÉ̵Ä×ÊѶ£¬ËùÐÒҲûÓÐÉÕµôÈκζ«Î÷£¬ËùÒÔÕâЩ¶¼ÊÇ¿ÉÄܵġ£ 
 
1.3  ÆäËûµÄÎļþ 
 
±¾ÎIJ¢Ã»Óаüº¬ËùÓРUPS µÄÒ»°ãÌØÐÔÓëÄÜÁ¦¡£ÈçÄúÐèÒªÕâÀàÐ͵Ä×ÊѶ£¬Äã¿ÉÒÔ¿´¿´ The 
UPS FAQ3 ¡£ ÕâÆªÎļþͬʱҲ¿ÉÒÔÔÚ ftp://rtfm.mit.edu/pub/usenet-by-hierar­ 
chy/comp/answers/UPS-faq ÖÐÕÒµ½¡£ËüÊÇÓÉ Nick Christenson (npc@mino­ 
taur.jpl.nasa.gov) Ëùά»¤µÄ£¬µ«¿´ÆðÀ´ºÃÏñ×Ô´Ó 1995 
ÄêÒÔáá¾ÍûÓÐÔÙÖØÐ´ÁË¡£Èç¹ûÄúÒª email ¸øËû£¬ ËûÏ£ÍûÄú¿ÉÒÔÔÚÐżþµÄ Subject 
ÄÇÒ»ÐзÅÈë UPS »ò UPS FAQ »òÆäËûÏà¹ØµÄ´Ê¾ä¡£ 
 
ÓÐÐíÐí¶à¶àµÄ UPS ÖÆÔìÉÌÔÚÍøÂ·ÖÐÃÈÑ¿¡£ 
ÆäÖÐÓÐЩȷʵÔÚËûÃǵÄÍøÒ³ÖÐÌṩÁËÓÐÓõÄ×ÊѶ¡£Äú¿ÉÒÔÔÚ The UPS Directory4 
ÖÐÕÒµ½ÕâЩ UPS ÖÆÔìÉ̵ÄÍøÒ³¼ò±í¡£¸ÃÍøÕ¾Ò²°üº¬ÁË UPS FAQ5  ÕâÆªÎļþ¡£ 
 
 
2.  Çë×¢ÒâÒѹýʱµÄ×ÊѶ 
 
ÎÒ¸Õ¸Õ·¢ÏÖµ×ÏÂÓÐһЩ×ÊÁÏÒѾ­¹ýʱÁË¡£ÆäÖÐÀ´×Ô the latest sysvinit package6  µÄ 
init daemon ±ÈÆðÎÒËùÄÜÃèÊöµÄ»¹Òª¼òª¡£ 
¾¡¹Ü¿´ÆðÀ´Ä¿Ç°µÄ°æ±¾Óë¸Ã³ÌʽÍê³ÉʱµÄ°æ±¾ÏàÈÝ£¬µ«µ±ÖÐÈÔÈ»ÓÐһЩ¶Ô UPS Ïàµ±ÖØÒª 
µÄ֧ԮûÓÐÎļþ˵Ã÷¡£ 
 
µ×ÏÂËù¼òÊöµÄ¿ØÖÆ»úÖÆÖ»ÄÜÈàpowerd Ë͸ø init powerfail »ò powerok 
ÕâÁ½¸öѶϢ֮һ¶øÒÑ¡£init ½Óµ½ powerfail Ñ¶Ï¢Ê±Ö´ÐÐÒ»¸öÃüÁ¶øµ±Ëü½Óµ½ powerok 
ʱÔòÖ´ÐÐÁíÒ»¸öÃüÁî¡£ Õ⽫µ¼ÖÁ powerd 
ÔÚ´¦ÀíµÍµçÁ¦Ñ¶ºÅ¼°ÆäËûÌØÊâ×´¿öʱ²úÉúÂß¼­Éϵĸ´ÔÓÐÔ¡£ 
 
 
____________________ 
 
3. <URL:ftp://navigator.jpl.nasa.gov/pub/doc/faq/UPS.faq> 
 
4. <URL:http://www.upssystems.uk.com/upsdir.html> 
 
5. <URL:http://www.upssystems.uk.com/upsfaqs.html> 
 
6. <URL:http://sunsite.unc.edu/pub/Linux/system/daemons/init/sysvinit-2.64.tar.gz> 
 
 
 
 
 
 
 
ÖÐÎÄ UPS Howto                                                                4 
 
 
 
½Ïа汾µÄ init (ÏñÊÇ 2.58 °æ) ¾Í±È½Ï¾«Á¼ÁË¡£ Ëü¿ÉÒÔÔÚ½Óµ½Ñ¶ºÅʱѡÔñ Èý¸ö 
script ÖÐÖ®Ò»À´Ö´ÐС£Èç´ËÒ»À´£¬ init ¿ÉÒÔÔÚ½Óµ½µçÔ´¶ÏµçѶºÅʱִÐРpowerfail 
script £¬¿ÉÒÔÖ´ÐÐÒ»¸ö powerfailnow script ×öÁ¢¼´µÄ¹Ø»ú £¬ÒÔ¼°Ò»¸ö powerok 
script À´Í£Ö¹ÈκÎÕýÔÚ½øÐеĹػú¶¯×÷¡£ÕâÑù±ÈÆðÒªÎÒÃÇ×ÔÐд¦ÀíÕâЩ»úÖÆÒª¼òµ¥¶àÁË¡£ 
 
¾¡¹ÜÕâ¡õ´ó²¿·ÖµÄÌÖÂÛÈÔ¼ÙÉèʹÓþɵĠinit Í¨Ñ¶·½Ê½£¬ 
ÎÒÒѼÓÈëÁËÁ½¸öеÄÕ½ÚÀ´ÃèÊöеÄÁ¬Ïß·½·¨¡£ÕâÁ½¸öÕ½ÚÊÇ Trust Energy Protector 
400/650 (section , page ) ¼° APC Smart-UPS 700 (section , page 
)¡£ÆäÖÐǰÕßÌØ±ðÏêϸ¡£¶þÕß¶¼°üº¬ÁËÒ»¸ö powerd.c µµ£¬ 
Ëü¿ÉÒÔÔÚÊÕµ½µÍµçÁ¦Ñ¶ºÅʱËÍѶºÅ¸ø init ÒÔ½øÐнô¼±¹Ø»ú£¬ ¾ÍÏñÊÇ /etc/inittab 
µµÖÐÄǼ¸ÐÐËùдµÄÒ»Ñù¡£Æäâŵ쬠ÎÒËùÄܸæËßÄúµÄ¾ÍÖ»ÓÐÇëÄú¿´¿´ init µÄԭʼÂëÁË¡£ 
 
¾ÍÎÒËùÖªµÄ£¬ÔÚÒÔÏÂËùÁеĠUPS ÈíÌåÌ×¼þÖÐÓÐÐí¶àÒ²²ÉÓÃÁËÐÂʽµÄÁ¬Ïß·½Ê½¡£ 
 
 
3.  ´ÏÃ÷µÄÓëµ¥µ÷µÄ UPS 
 
UPS ´óÖÁ·ÖΪÁ½À࣬ÎÒ·Ö±ð½ÐËüÃÇ ``´ÏÃ÷µÄ (Smart)''Óë ``µ¥µ÷µÄ (Dumb)''¡£ 
¶þÕßÖ®¼äµÄ²îÒìÔÚì¶ÎÒÃÇÄÜ×Ô UPS »ñµÃ¶àÉÙµÄѶϢÒÔ¼°ÎÒÃÇÄܹ»¶Ô UPS Ï´ï¶àÉÙÃüÁî¡£ 
 
      µ¥µ÷µÄ UPS 
 
               · ½åÓÉÐòÁи· (serial port) ÓëµçÄÔÏàÁ¬¡£ 
 
               · Ê¹Óàmodem ¿ØÖÆÏßÓëµçÄÔÏàͨѶ¡£ 
 
               · ¿ÉÒÔÔÚµçÁ¦ÊÇ·ñÏûʧʱ¸øµçÄÔËÍѶºÅ¡£ 
 
               · Ò²Ðí¿ÉÒÔÔÚ UPS µÄµçÁ¦ÊÇ·ñÆ«µÍʱ֪ͨµçÄÔ¡£ 
 
               · µçÄÔͨ³£¿ÉÒÔËÍѶºÅ¸ø UPS ÈÃËü½«×Ô¼º¹Ø±Õ¡£ 
 
      ´ÏÃ÷µÄ UPS 
 
               · ½åÓÉÐòÁи· (serial port) ÓëµçÄÔÏàÁ¬¡£ 
 
               · ÒÔÒ»°ãµÄ×ÊÁÏ´«ÊäÏß¾­ÐòÁи·ÓëµçÄÔ¹µÍ¨¡£ 
 
               · ¶à°ëÓÐÒ»×éÃüÁîÓïÑÔ¿ÉÒÔÈõçÄÔ×Ô UPS ÄǵÃÖª¸÷ʽ¸÷ÑùµÄ×ÊѶ£¬ 
                 ÒÔÉ趨¸÷ÖÖÔË×÷²ÎÊý¸ø UPS£¬Í¬Ê±Ò²²Ù×÷ UPS (ÏñÊǽ«Ëü¹Øµô) 
 
ͨ³£´ÏÃ÷µÄ UPS ¶¼¿ÉÒÔÔÚµ¥µ÷µÄģʽϲÙ×÷¡£ÕâÊǺÜÓÐÓõģ¬ÒòΪ¾ÍÎÒËùÖª£¬ 
×î³£¼ûµÄ´ÏÃ÷ UPS (ÏñÊÇ APC) ÖÆÔìÉÌÖ»Ô¸Òâ͸¶ËûÃǵĠUPS 
ͨѶЭ¶¨¸øÄÇЩǩÊðÁ˾ø²»¡õ¶»úÃÜͬÒâÊéµÄÈËÃÇ¡£ 
 
¾ÍÎÒËùÖª£¬Ö»ÓРBEST ¹«Ë¾ËùÖÆ×÷µÄ UPS ¿ÉÒÔºÜÈÝÒ×µØÔÚ Linux ÏÂÔË×÷¡£ ³ý´ËÖ®Í⣬ 
BEST ¹«Ë¾»¹ÓÐÍêÕûµÄÎļþ˵Ã÷ÁËËûÃǵĠUPS µÄ´ÏÃ÷ģʽ (ÒÔ¼°µ¥µ÷ģʽ)¡£ BEST 
¹«Ë¾Ò²ÌṩÁË¿ÉÒÔÓëËûÃǵĠUPS ¹µÍ¨µÄ³ÌʽµÄԭʼÂë¡£ 
 
ËùÓÐÁÐÔÚ ÈíÌå (section 4., page 5) Õ½ڵÄÈíÌå½Ô¿ÉÔÚµ¥µ÷ģʽÏÂÓë UPS 
¹µÍ¨¡£ÕâЩ¶¼ÊÇÄúÕæÕýÐèÒªµÄ¡£ÓÐЩÈíÌåÔòÐû³ÆËµ¿ÉÒÔÔÚ´ÏÃ÷ģʽϲÙ×÷ ARC UPS 
£¬µ«ÎÒ²»ÖªµÀËûÃÇÊÇÈçºÎ»ñ×¼¶ø×öµ½µÄ¡£ 
Ò»¸öÍêÕûµÄ³ÌʽÔË×÷»áÌø³öÒ»¸öÊÓ´°£¬¡õÍ·°üº¬ÁËÓÐȤµÄ¶ÈÁ¿±í£¬ ´ú±íÖø¸÷ʽ¸÷ÑùµÄ UPS 
ͳ¼Æ×ÊÁÏ£¬ÏñÊǸºÔس̶ȡ¢ÄÚ²¿Î¶ȡ¢¶Ïµç¼Ç¼¡¢ÊäÈëµçѹ¡¢ ¼°Êä³öµçѹ ...... 
 
 
 
 
 
 
 
 
ÖÐÎÄ UPS Howto                                                                5 
 
 
 
µÈµÈ¡£¿´ÆðÀ´Ëƺõ smupsd-0.7-1.i386.rpm ³Ìʽ (¼û ÈíÌå (section 4., page 5)Ò»½Ú) 
¿ÉÒÔ×öµ½ÕâЩ¡£ ¶Ôì¶ÆäËûµÄÈíÌåÎÒÔò²»¸ÒÈ·¶¨¡£ 
 
ÒÔϵÄÄÚÈÝÎÒ½«¾¡Á¿¡õÏÞì¶ÈçºÎµ÷ÕûÄúµÄϵͳʹÆäÄÜÓëµ¥µ÷ģʽϵĠUPS Ò»Æð¹¤×÷¡£ 
¶ø¶Ô´ÏÃ÷ģʽµÄ UPS ¶øÑÔ£¬»ù±¾Ïë·¨ÊÇÒ»ÑùµÄ£¬µ«ÐèҪʲ÷áÑùµÄ powerd 
²ÎÓ빤×÷ÒÔ¼°ÄúÐèҪʲ÷áÑùµÄѶºÅÀÂÏßÊÇËæÖø UPS ¶øÓв»Í¬µÄ¡£ 
 
 
4.  ÈíÌå 
 
»ù±¾ÉÏ£¬ÄúËùÐèµÄ¾ÍÊÇÒ»¸ö¿ÉÒÔ¹¤×÷ powerd ³Ìʽµµ£¬Í¨³£Äú¿ÉÒÔÔÚ /sbin/powerd 
ÏÂÕÒµ½Ëü¡£Ëüͨ³£ÊÇÊôì¶ SysVinit ÏµÍ³µÄÒ»²¿·Ö¡£ ¾ÍÎÒËùÖª£¬ËùÓнüÆÚ°æ±¾µÄ Linux 
ϵͳ¶¼°üº¬ÁËÒ»¸ö½ÏаæµÄ SysVinit ¡£ µ«Ôڷdz£¾ÉµÄ°æ±¾Ôò²»°üº¬ powerd¡£ 
 
ΨһµÄÎÊÌâÊÇÄúµÄѶºÅÀÂÏß¿ÉÄܲ»ÄÜÓëÄúµÄ powerd É趨ÏàÅäºÏ£¬ 
ÔÚÕâÇé¿öÏÂÄú±ØÐëÖØÐÂ×öÒ»ÌõѶºÅÀÂÏߣ¬»òÕßÊÇÕÒÀ´Ò»·Ý powerd.c 
µµ²¢ÐÞ¸ÄËüʹµÃËüÄÜÅäºÏÄúµÄѶºÅÀÂÏß¹¤×÷¡£»òÕßÊÇ£¬ 
Äú¿ÉÒÔʹÓÃÒÔÏÂËùÁеÄÈíÌ壬´ó²¿·ÖµÄÈíÌåÔÊÐíÄú×öÊʵ±µÄÉ趨ÒÔÅäºÏÄúµÄѶºÅÀÂÏß¡£ 
 
¾ÍÏñ¸Õ¸ÕËùÌáµ½µÄ£¬³ýÁËʹÓàSysVinit µÄ powerd Ö®ÍâÄúÒ²¿ÉÒÔÄÃÏÖÓеÄÈκÎÒ»ÖÖ UPS 
ÈíÌåÀ´Óá£Ä¿Ç°ÓÐÐí¶àÈíÌå¿ÉÒÔ°ïÖúÄú½¨Á¢µçÄÔÓë UPS Ö®¼äµÄÁ¬Ïß¡£ÔÚÎÒµÚÒ»´ÎдÕâÆª 
HOWTO Ê±¶¼»¹Ã»ÓÐÕâЩÈíÌ壬 ¶øÕâÒ²ÊÇΪʲ÷áÎÒҪдÕâÆª HOWTO 
¡£ÊÂʵÉÏ£¬ÄúÒ²¿ÉÒÔ´ÓÖÐѡһ¸öÈíÌåÀ´Ó㬠¶øÍêÈ«ºöÂÔÕâÆª HOWTO µÄÄÚÈÝ¡£ 
 
ÔÚ 1997 Äê 3 Ô 15 ÈÕ×óÓÒ£¬ Sunsite µÄ UPS Ä¿Â¼7 
Ï¿ÉÒÔÕÒµ½Ò»´ó¶ÑµÄÈíÌå¿ÉÓ᣶øÔÚÆäËûµÄÍøÕ¾ËÆºõÒ²ÓРUPS ¿ØÖÆÈíÌå¿ÉÒÔÕÒµ½¡£ 
ÒÔÏÂÊÇÎÒĿǰËùÕÒµ½µÄ (³ýÁËÆäÖÐÁ½¸öÒÔÍ⣬ÆäËû¶¼ÊÇÔÚ sunsite ÕÒµ½µÄ): 
 
      Enhanced_APC_BackUPS.tar.gz8 
            " ÕâÊÇÒ»¸ö¿ÉÒÔ¿ØÖÆ APC ´ÏÃ÷ģʽµÄ UPS ¡£¿´ÆðÀ´»ù±¾ÉÏÊÇÒÀ¾Ý BUPS 
            Howto (°üº¬ÁËÕâһƪ) £¬µ«Ò²ºÃÏñÓÐһЩµÍµçÁ¦¾¯¸æµÄÖ§Ô®¡£ 
 
      Enhanced_APC_UPSD-v1.4.tar.gz9 
             " ÔÚ .lsm µµÖÐÌáµ½Ëü´Óǰ¾ÍÊÇÉÏÒ»¸öËùÌáµ½µÄÈíÌ壬 
            µ«ÊÂʵÉÏËüÕýÊǽ«ÉÏÒ»¸öÈíÌåµÄ .tar.gz µµ°ü×°ÔÚËüµÄ tar.gz 
            µµÖ®ÄÚ¡£ÄÇÆªÎļþ˵Ã÷ÓÐÎÊÌ⣬¿´ÆðÀ´ËüËÆºõͬʱ֧Ԯ APC UPS 
            µÄ´ÏÃ÷Óëµ¥µ÷ģʽ£¬µ«ÎÒ²»¸ÒÈ·¶¨¡£ 
 
      apcd-0.5.tar.gz10 
             " ÕâÊÇÁíÒ»¸ö¿ÉÒÔ¿ØÖÆ APC UPS ì¶´ÏÃ÷ģʽÏÂÔË×÷µÄÈíÌå¡£ 
            ¿´ÆðÀ´Ëƺõ¿ÉÒÔÖ§Ô®Ö÷/´Óģʽ 
            (Ò²¾ÍÊÇ˵£¬µ±Í£µçʱ¿ÉÒÔÓÉһ̨»úÆ÷ËÍѶºÅ¸øÁíһ̨»úÆ÷½ÐËü¹Ø»ú) ¡£ 
            ¿´ÆðÀ´ËƺõÊÇʹÓÃÁË UPS µÄ´ÏÃ÷ģʽ£¬²»ÏñÊǾ­ÓÉ modem 
            µÄѶºÅÏßÀ´¿ØÖÆ¡£ 
 
____________________ 
 
7. <URL:http://sunsite.unc.edu:/pub/Linux/system/ups> 
 
8. <URL:http://sunsite.unc.edu:/pub/Linux/system/ups/Enhanced_APC_BackUPS.tar.gz> 
 
9. <URL:http://sunsite.unc.edu:/pub/Linux/system/ups/Enhanced_APC_UPSD- 
   v1.4.tar.gz> 
 
10.<URL:http://sunsite.unc.edu:/pub/Linux/system/ups/apcd-0.5.tar.gz> 
 
 
 
 
 
 
 
ÖÐÎÄ UPS Howto                                                                6 
 
 
 
      smupsd directory11 
             " ÓÖÊÇÁíÒ»¸ö¿ØÖÆ APC UPS µÄÈíÌå¡£¿´ÆðÀ´¿ÉÒÔÔڷdz£´ÏÃ÷ (tm) 
            Ä£Ê½Ï²Ù×÷ UPS ¡£¾ÙÀýÀ´Ëµ£¬Ëü°üº¬ÁËÒ»¸ö Java Í¼ÐνéÃæµÄ UPS 
            ¼à¿Ø¹¤¾ß³Ìʽ¡£ ¸ÃĿ¼Ï°üº¬ÁËÒѱàÒëºÃµÄ RPM ÐÎʽµÄÈíÌå 
            (ftp://cms180.cmsnet.com/pub/smupsd/smupsd-0.7-1.i386.rpm) £¬ 
            Ò»¸öԭʼÂë RPM ¸ñʽµµ 
            (ftp://cms180.cmsnet.com/pub/smupsd/smupsd-0.7-1.src.rpm) £¬ 
            ÒÔ¼°Ò»¸ö¡õÎÒµµ°¸ 
            (ftp://cms180.cmsnet.com/pub/smupsd/smupsd-0.7-1.README) ¡£ 
 
      genpower-1.0.1.tgz12 
             " Ò»¸öÒ»°ã»¯µÄ UPS ¿ØÖÆÈíÌå¡£Ëü°üº¬Á˺ܶàÖÖ UPS µÄÉ趨 --- Á½ÖÖ 
            TrippLite µÄÉ趨£¬ÒÔ¼°ÈýÖÖ APC 
            µÄÉ趨¡£Í¬Ê±Ò²°üº¬Á˺ܺõÄ˵Ã÷Îļþ¡£ÎﳬËùÖµ¡£ 
 
      powerd-2.0.tar.gz13 
             " Ò»¸ö SysVinit µÄ powerd ³ÌʽµÄÌæ´úÆ·¡£ 
            ÓëËüµÄ˵Ã÷ÎļþËùÌáµ½µÄÏà·´£¬ËüËÆºõûÓÐÕûºÏµ½ SysVinit 2.62 
            °æÖС£ËüµÄÓŵãÔÚì¶Ëü¿ÉÒÔ×öΪÔÚÆäËû»úÆ÷ÉÏÖ´ÐеĠpowerd µÄËÅ·þ¶Ë 
            (¼ÙÈçÄúµÄ»úÆ÷ÓÐÁ¬ÉÏÍøÂ·ÇÒÖ»ÓÐÒ»¸ö UPS µÄ»°) 
            £¬¶øÇÒËü¿ÉÒÔÓÃÉ趨µµÀ´½øÐÐÉ趨 ---- ¹ÊÆäԭʼÂë²»ÐèÐ޸ļ°ÖØÐ±àÒë¡£ 
 
      upsd-1.0.tgz14 
             " ÁíÒ»¸ö powerd µÄÌæ´úÆ·¡£¿´ÆðÀ´ËƺõÓë powerd-2.0.tar.gz 
            ÓÐÐí¶àÏàËÆµÄÌØÉ«¡£ 
 
      checkups.tar15 
             " Õâ¸öÈíÌåÊÇÓÃÀ´¿ØÖÆ Best UPS µÄ¡£ËüÊÇÖ±½ÓÀ´×Ô Best ¹«Ë¾µÄÍøÒ³µÄ¡£ 
            Ëü°üº¬Á˶àÖÖ unix µÄ¿ÉÖ´Ðеµ£¬µ«¸üÖØÒªµÄÊÇ£¬Ëü»¹°üº¬ÁËԭʼÂ룬 
            ¹ÊÄú¿ÉÒÔÔÚ Linux Ï²âÊÔËü£¬¶øÇÒ¼ÙÈçËüÎÞ·¨¹¤×÷£¬ÄúÒ²¿ÉÒÔÊÔÖøÐÞ¸ÄËü¡£ 
            ´ËԭʼÂëͬʱ°üº¬ÁËÔÚµ¥µ÷ģʽÏ¿ØÖÆ UPS µÄ "»ù±¾¼ì²â" Ö¸Á 
            ÒÔ¼°Ò»Ð©¸ü¾«ÇɵĠ"ÏȽø¼ì²â" Ö¸Áî --- µ± UPS »Ø±¨ËµËüֻʣ X 
            ·ÖÖӵĵçÁ¦Ê±¼´·¢³ö¹Ø»úµÄѶºÅ£¬¶ø²»Êǵȵ½ X 
            ·ÖÖÓááµçÁ¦¶¼ÓùâÁ˲ſªÊ¼¹Ø»ú¡£ ´ËÏȽø¼ì²â³ÌʽҲ»áÔÚ UPS 
            ·¢³öÏñÊÇÖÜΧ»·¾³Î¶ȹý¸ß¡¢½Ó½üµÍµçÁ¦¡¢ 
            µÍ½»Á÷µçÊä³ö¡¢»òÕßÊÇʹÓÃÕß²âÊԵȾ¯¸æÊ±¹Ø±Õ»úÆ÷¡£ 
 
      bestups-0.9.tar.gz16 
             " ¿ÉÄÜÔÚÄú¶Áµ½ÕâÆªÎÄÕÂʱ£¬´ËÔÚ sunsite 
            ¿ÉÒÔÕҵõ½µÄÈíÌåÒÑ·¢Õ¹µÃºÜºÃÁË¡£ 
            ËüÊÇÒ»¶Ô¿ÉÒÔÏ໥ͨѶµÄÄ£×飬ÓÃÒÔ¿ØÖÆ Best Ferrups 
 
____________________ 
 
11.<URL:ftp://cms180.cmsnet.com/pub/smupsd/> 
 
12.<URL:http://sunsite.unc.edu:/pub/Linux/system/ups/genpower-1.0.1.tgz> 
 
13.<URL:http://sunsite.unc.edu:/pub/Linux/system/ups/powerd-2.0.tar.gz> 
 
14.<URL:http://sunsite.unc.edu:/pub/Linux/system/ups/upsd-1.0.tgz> 
 
15.<URL:http://www.bestpower.com/section/software/checkups.tar> 
 
16.<URL:http://sunsite.unc.edu:/pub/Linux/system/ups/bestups-0.9.tar.gz> 
 
 
 
 
 
 
 
ÖÐÎÄ UPS Howto                                                                7 
 
 
 
            UPS¡£Ëü¿ÉÒÔÔÚ´ÏÃ÷ģʽÏ ¿ØÖÆ UPS ¡£Ëü¿ÉÒÔÓë powerd-2.0 ºÏ×÷²Ù¿Ø --- 
            ÕâÒ»µãÔÚµ±ÄúÓÐÒ»¸ö´óÐ͵ĠBest Ferrups UPS 
            Ö§Ô®Á¬½ÓÔÚÍøÂ·ÉÏ»úÆ÷µÄµçÁ¦Ê±¸ñÍâÓÐÓᣠ
 
Çë×¢ÒâÎÒÖ»ÊÇ¿ìËÙµØä¯ÀÀ¹ýÕâЩÈíÌå¡£ÎÒ²¢Ã»ÓÐÓÃËüÃÇ£¬³ýÁËÄǸöÎÒÃDzſªÊ¼Ê¹ÓõĠ
bestups-0.9.tar.gz17  ÒÔ¼° powerd-2.0.tar.gz18  £¬ ÆäÖР``²Å¿ªÊ¼'' 
Òâ˼ÊÇ˵ÎÒÃDzÅÔÚÉϸöÐÇÆÚËÄ¿ªÊ¹×ö²âÊÔ¡£ 
 
 
5.  ×Ô¼º¶¯ÊÖÖ¸ÄÏ 
 
Õâ¡õµÄÌÖÂÛÊÇÕë¶Ôµ¥µ÷ģʽµÄ UPS ¿ØÖƶøÐ´¾ÍµÄ¡£È»¶ø£¬ ´ó²¿·ÖµÄ¹ý³Ì¶Ôµ¥µ÷µÄ UPS 
Óë´ÏÃ÷µÄ UPS ¼¸ºõÊÇÒ»ÑùµÄ¡£×î´óµÄ²»Í¬ÔÚì¶ UPS ¼à¿Ø³Ìʽ (»ù±¾ÉÏÊÇ powerd) ÈçºÎÓë 
UPS ¹µÍ¨¡£ 
 
ÔÚ¿ªÊ¼Ö®Ç°£¬ÎÒ½¨ÒéÒÔÏµĹ¤×÷Á÷³Ì: 
 
   · ÂÔ¶ÁÕâÆªÎļþ¡£ 
 
   · ÏÂÔØ²¢Éó²éËùÓп´ÆðÀ´ÌرðÊʺÏÄúµÄ UPS µÄÈíÌå¡£ 
 
   · ÏÂÔØ²¢Éó²éËùÓиüÒ»°ã»¯µÄÈíÌå¡£Çë×¢ÒâÓÐЩ½ÏÒ»°ã»¯µÄÈíÌåÊÂʵÉϸüΪǿ´ó¡¢ 
     ÓиüºÃµÄ˵Ã÷Îļþ¡¢ÇÒ±ÈÆðÄÇЩ½ÏÌØÊâµÄÈíÌå¸üÈÝÒ×ʹÓᣠ
 
   · Èç¹ûÄúÒÀÈ»ÎÞ·¨ÈàUPS ¹¤×÷£¬»òÊÇÄúµÄ·½ÏòÒÀ¾É²»Çå³þ£¬ 
     ÇëÄú×ÐϸÔĶÁ±¾ÎÄ£¬²¢ÊÔÊÔ×ö hack µÄ¹¤×÷ .... 
 
5.1  ÄúËùÐèµÄ¹¤×÷ (×ܽá) 
 
   · ½«ÄúµÄµçÄÔ½ÓÉÏ UPS ¡£ 
 
   · ÓÃÌØÊâµÄѶºÅÀÂÏß½«ÄúµÄµçÄԵĵĴ®Áи·Óë UPS Á¬½ÓÔÚÒ»Æð¡£ 
 
   · ÔÚÄúµÄµçÄÔÉÏÅÜ powerd (»òÆäËûÀàËÆµÄÈíÌå) ¡£ 
 
   · É趨ÄúµÄ init ³ÌʽʹËüÄÜÔÚ powerfail ¼° powerok Ê¼þ·¢Éúʱ×öÊʵ±µÄ´¦Àí 
     (ÀýÈç·Ö±ðÆô¶¯ shutdown ³ÌÐò¼°Í£Ö¹ÕýÔÚÖ´ÐеĠshutdown ³ÌÐò)¡£ 
 
5.2  ÕâÓ¦¸ÃÊÇ×öʲ÷Ṥ×÷µÄ? 
 
      UPS µÄ¹¤×÷ 
            µ±µçÁ¦Ïûʧʱ£¬ UPS ³ÖÐø¹©Ó¦µçÄÔËùÐèµÄµçÁ¦£¬ 
            ²¢ÒÔËͳöÖØÖÃѶºÅ»òÊÇÔÚËüµÄ¿ØÖƸ·ÉÏ´ò¿ªÁ¬½ÓѶºÅÒÔ֪ͨµçÄÔµçÁ¦ÏûʧÁË¡£ 
 
      Ñ¶ºÅÀÂÏߵŤ×÷ 
            Ñ¶ºÅÀÂÏßÊÇÉè¼ÆÎªµ± UPS ËͳöÖØÖÃѶºÅʱ£¬»áʹµÃÌØÊâµÄÐòÁи·¿ØÖƽӽŠ
            (»ù±¾ÉÏÊÇ DCD) ³öÏָߵçλ¡£ 
 
 
 
____________________ 
 
17.<URL:http://sunsite.unc.edu:/pub/Linux/system/ups/bestups-0.9.tar.gz> 
 
18.<URL:http://sunsite.unc.edu:/pub/Linux/system/ups/powerd-2.0.tar.gz> 
 
 
 
 
 
 
 
ÖÐÎÄ UPS Howto                                                                8 
 
 
 
      Powerd µÄ¹¤×÷ 
            powerd ³Ìʽ¸ºÔð¼àÊÓÐòÁи·¡£Ëü±£³ÖÖø UPS ËùÐè¶øÉý¸ß / 
            ½µµÍÐòÁи·¿ØÖƽӽŵĸߠ/ µÍµçλ (»ù±¾ÉÏ£¬ DTR 
            ½Ó½Å±ØÐë±£³ÖÔڸߵçλÇҹرՠUPS µÄ½Ó½Å±ØÐë±£³ÖÔڵ͵çλ) ¡£µ± powerd 
            ·¢¾õ¿ØÖƽӽűä³É¸ßµç룬Ëü»áÔÚ /etc/powerfail µµÖÐдÈë FAIL 
            Õâ¸ö×Ö²¢ËÍ SIGPWR Ñ¶ºÅ¸ø init Ðг̡£ 
            µ±¿ØÖƽӽÅÔÙ´Î±ä»ØµÍµçλʱ£¬Ëü»áÔÚ /etc/powerfail µµÖÐдÈë OK 
            Õâ¸ö×Ö²¢ËÍ SIGPWR Ñ¶ºÅ¸ø init ¡£ 
 
      Init µÄ¹¤×÷ (³ýÉÏÊöÖ®ÍâËü¸ºÔðËùÓеŤ×÷) 
            µ±Ëü½Óµ½ÁË SIGPWR Ñ¶ºÅ£¬Ëü»á¼ì²é /etc/powerfail µµ¡£ Èç¹û¡õÍ·ÊÇ 
            FAIL Õâ¸ö×ÖÑÛËü»áÖ´ÐР/etc/inittab µµÖРpowerfail 
            ÄÇÒ»ÐеÄÖ¸Áî¡£Èç¹û¡õÍ·ÊÇ OK Õâ¸ö×ÖËüÔòÖ´ÐРinittab µµÖРpowerokwait 
            ÄÇÒ»ÐеÄÖ¸Áî¡£ 
 
5.3  ÈçºÎÉ趨ºÃËùÓеŤ×÷ 
 
ÒÔÏÂÎÒÃǼÙÉèÄúÓÐÒ»Ìõ¿ÉÒԺ͠powerd Õý³£¹¤×÷µÄѶºÅÀÂÏß¡£ 
Èç¹ûÄú²»È·¶¨ÄúµÄѶºÅÀÂÏßÊÇ·ñ¿ÉÒÔ¹¤×÷ (»òËüÈçºÎ¹¤×÷)£¬Çë²Î¿¼ 
ѶºÅÀÂÏß·´Ïò·ÖÎö¼°Ð޸Ġpower.c (section 6.2, page 13) 
Ò»½Ú£¬ÄǶùÓйØì¶ÉÙ¼ûµÄѶºÅÀÂÏß´¦Àí¼°ÖØÐÂÉ趨 powerd.c µÄ×ÊѶ¡£ ÐòÁи·½Ó½ÅµÄÖ¸¶¨ 
(section , page ) ¼° ÓйضÁд RS232 (section , page ) ÕâÁ½½ÚÒ²½«¶ÔÄúÓаïÖú¡£ 
 
Èç¹ûÄúÐèÒªÖÆ×÷Ò»ÌõѶºÅÀÂÏߣ¬Çë¼û ÈçºÎÖÆ×÷ѶºÅÀÂÏß (section 6.1, page 10) 
µÄÏêϸ˵Ã÷£¬ÒÔ¼° UPS ×ÊÁϽÚÑ¡ (section , page ) Ò»½ÚÖÐÓйØÄúµÄ UPS µÄС½Ú¡£ 
ááÕß¿ÉÄÜÒ²°üº¬ÁËÖÆÔìÉÌËùÌṩµÄѶºÅÀÂÏßµÄÏà¹Ø×ÊѶ¡£ »òÐíÄúÓ¦ÖÁÉÙ½« UPS ×ÊÁϽÚÑ¡ 
(section , page ) 
ÖÐËùÓеÄС½Úä¯ÀÀ¹ýÒ»±é£¬ÒòΪÿһС½Ú¶¼»áÓÐһЩ¶îÍâµÄÒ»°ãÐÔ×ÊÁÏÄܶÔÄúÓаïÖú¡£ 
 
   · Ð޸Ġ/etc/inittab µµ¡£Ð´ÈëÏñÒÔϵÄÄÚÈÝ: 
 
 
          # What to do when power fails (Halt system & drain battery :): 
          pf::powerfail:/etc/powerfailscript +5 
 
          # If power is back before shutdown, cancel the running shutdown. 
          pg:0123456:powerokwait:/etc/powerokscript 
 
 
 
 
   · Ð´ /etc/powerfailscript ¼° /etc/powerokscript ÕâÁ½¸ö script µµ·Ö±ðÔÚÎå·ÖÖÓ 
     (»òÆäËûÄúϲ»¶µÄʱ¼ä) Ö®ÄÚ½øÐйػú¼°Í£Ö¹ÈκδæÔڵĠshutdown ³ÌÐò¡£ 
     ÒÀÄúËùÓõĠshutdown ³Ìʽ°æ±¾µÄ²»Í¬£¬ Ëü¿ÉÄÜ»áÏ൱µ¥¼òÒÔÖÁì¶Äú¸ù±¾²»ÐèʹÓà
     script µµ£¬»òÕßÊÇÒ»ÐРbash µÄ script µµÏñÊÇÒÔÏÂÕâÒ»ÐÐ: 
 
 
              kill `ps -aux | grep "shutdown" | grep -v grep | awk '{print $2}'` 
 
 
 
     (ΪÁ˱ÜÃâÄúŪ´í£¬ÉÏÒ»ÐÐÖеÚÒ»¸öµ¥ÒýºÅÊÇ·´Ïòµ¥ÒýºÅ£¬µÚ¶þ¼°µÚÈý¸öÊǵ¥ÒýºÅ£¬ 
     ¶ø×îááÒ»¸öÔòΪ·´Ïòµ¥ÒýºÅ¡£) 
 
 
 
 
 
 
 
 
 
ÖÐÎÄ UPS Howto                                                                9 
 
 
 
   · ÓÃÒÔϵÄÃüÁî¸æËß init ÖØÐ¶ÁÈ¡ inittab µµÖеÄÉ趨: 
 
 
 
              telinit q 
 
 
 
 
   · ±à¡õ rc.local µµÔÚ¿ª»úʱִÐРpowerd ¡£ÆäÓï·¨ÈçÏÂ: 
 
 
              powerd <line> 
 
 
 
 
     ÆäÖУ¬ÇëÄú×ÔÐн« <line> Õâ¸ö×ÖÌæ»»³É modem ËùÁ¬½ÓµÄÐòÁи·Ãû£¬ÏñÊÇ 
     /dev/cua1¡£ 
 
   · ½«µçÄÔµÄÐòÁи·Óë UPS µÄѶºÅÀÂÏßÏàÁ¬¡£ÇëÏȲ»Òª½«µçÄԵĵçÔ´Ö±½Ó½Óµ½ UPS ÉÏ¡£ 
 
 
   · ½«Ò»¸ö¹âÔ´ (ÈçµÆÅÝ) ½Óµ½ UPS ÉÏ¡£ 
 
   · Ö´ÐРpowerd¡£ 
 
   · ÒÀÕÕÒÔϵIJ½Öè½øÐвâÊÔ: 
 
        · °Îµô UPS µÄ²åÍ·¡£ 
 
             · ¼ì²é¸ÃµÆÅÝÊÇ·ñÈÔÈ»ÁÁÖø¡£ 
 
             · ¼ì²é /etc/powerfailscript ÊÇ·ñÒÑ¿ªÊ¼Ö´ÐС£ 
 
             · ¼ì²é shutdown ÊÇ·ñÕýÔÚÖ´ÐС£ 
 
        · ½Ó»Ø UPS µÄ²åÍ·¡£ 
 
             · ¼ì²é¸ÃµÆÅÝÊÇ·ñÈÔÈ»ÁÁÖø¡£ 
 
             · ¼ì²é /etc/powerokscript ÊÇ·ñÒÑ¿ªÊ¼Ö´ÐС£ 
 
             · ¼ì²é /etc/powerfailscript ÊÇ·ñÒÑÍ£Ö¹Ö´ÐС£ 
 
             · ¼ì²é shutdown ÊÇ·ñÒÑÍ£Ö¹Ö´ÐС£ 
 
        · Ôٴΰεô UPS µÄ²åÍ·¡£·ÅÖø²»È¥¹ÜËü²¢È·¶¨µçÄÔÔÚÒ»¶Îʱ¼äáá 
          ¿ÉÒÔÕý³£¹Ø»ú¡£ 
 
        · Î£ÏÕ²½Öè¡£ ÔÚËùÓеIJ½Öè¿´ÆðÀ´¶¼Õý³£Ö®áᣬ 
          ½«µçÄÔµçÔ´¹Ø±Õ²¢½«µçÄԵĵçÔ´½Óµ½ UPS ÉÏ¡£ÇëÖ´ÐÐÒ»¸ö script 
          ´óԼÿÃëÖÓ×öÒ»´Î sync Ó²µú×ÊÁϻشæµÄ¶¯×÷£¬Í¬Ê±Ò²ÅÜÁíÒ»¸ö script 
          ³ÖÐøÒÔ find Ö¸ÁîËÑѰÕû¿ÅÓ²µú¡£ÆäÖеÚÒ»¸ö script 
 
 
 
 
 
 
 
 
ÖÐÎÄ UPS Howto                                                               10 
 
 
 
          ÊÇΪÁËÈ·±£°²È«£¬¶øµÚ¶þ¸öÔòÊÇÖú³¤µçÁ¦µÄÏûºÄ¡£ÏÖÔÚ£¬½« UPS 
          µÄ²åÍ·°Î³ö£¬Ôٴμì²é shutdown ÊÇ·ñÒÑÔÚÔË×÷£¬²¢µÈ´ýÒ»¶Îʱ¼ä¡£ 
          È·¶¨µçÄÔÔÚ UPS µÄµçÁ¦ÓÃÍêǰÍêÈ«µØ¹Ø»ú¡£´ËÒ»²½ÖèÊǺÜΣÏյ쬠ÒòΪÈç¹û 
          UPS µÄµçÁ¦ÔÚµçÄÔÍê³É¹Ø»ú֮ǰÏÈÓÃÍêÁË£¬ 
          ÄúµÄµµ°¸ÏµÍ³½«»áÊÜËð£¬ÇÒÄú½«¿ÉÄܶªÊ§Ò»Ð©µµ°¸¡£ 
          Äú¿ÉÄÜÔÚ½øÐÐÕâÏî²âÊÔ֮ǰ»áÏëÒª±¸·ÝÄúËùÓеĵµ°¸£¬ 
          ²¢½«¿ªÊ¼¹Ø»úµÄʱ¼äÉè¶ÌÒ»µãÒÔ¿ªÊ¼ÕâÏî²âÊÔ¡£ 
 
¹§Ï²Äú! ÄúµÄ Linux ÏµÍ³ÏÖÔÚÒÑÔÚ UPS µÄ±£»¤Ï£¬ 
ÇÒËü½«»áÔÚµçÁ¦ºÄ¾¡Ö®Ç°°²È«µØ¹Ø»úÁË¡£ 
 
5.4  ½øÒ»²½µÄ¸ÄÉÆ 
 
   · Ð޸Ġpowerd.c Ê¹ËüÔÚ¼àÊÓ UPS µÄѶºÅÏßʱÄܵÃÖªµç³ØµçÁ¦ÒÑÈõ¡£ 
     µ±µçÁ¦Î¢Èõʱ£¬ÂíÉϽøÐнô¼±¹Ø»ú³ÌÐò¡£ 
 
   · Ð޸Ĺػú³ÌÐòʹËüÔÚ powerfail Çé¿öϹػúʱ£¬ Äܹ»ÔÚÍê³ÉËùÓй¤×÷Ö®áὫ UPS 
     ¹Øµô¡£ 
 
 
6.  Ó²ÌåµÄ×¢ÒâÊÂÏî 
 
6.1  ÈçºÎÖÆ×÷ѶºÅÀÂÏß 
 
±¾½ÚµÄÄÚÈÝÖ»ÊÇЩÎÒÔÚÍøÂ·ÉÏ¿´µ½µÄ×ÊѶ¡£ÎÒ²¢Ã»ÓÐÇ××ÔÊÔ¹ý£¬ 
ËùÒÔÎÒÎÞ·¨ÒÀÎҵľ­ÑéдÏÂÀ´¡£Èç¹ûÓÐÈËÓо­Ñ飬Âé·³ÄúΪÎÒдÕâÒ»½Ú :)¡£ 
ͬʱҲÇëÄú²Î¿¼ ACCODATA µÄ GPS1000 (section , page ) ÖÐÓйؠGPS1000 
µÄ×ÊÁÏ£¬²»±ØËµ£¬UPS ×ÊÁϽÚÑ¡ (section , page ) ÕâÒ»½ÚÖÐËùÓÐÌØÊâ UPS 
µÄ×ÊÁÏÒ²ÊÇÖµµÃ²Î¿¼µÄ¡£ 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
ÖÐÎÄ UPS Howto                                                               11 
 
 
 
        >From miquels@caution.cistron.nl.mugnet.org Wed Jul 21 14:26:33 1993 
        Newsgroups: comp.os.linux 
        Subject: Re: UPS interface for Linux? 
        From: miquels@caution.cistron.nl.mugnet.org (Miquel van Smoorenburg) 
        Date: Sat, 17 Jul 93 18:03:37 
        Distribution: world 
        Organization: Cistron Electronics. 
 
        In article <1993Jul15.184450.5193@excaliber.uucp> 
        joel@rac1.wam.umd.edu (Joel M. Hoffman) writes: 
        > ÎÒÕý´òËãÒª¹ºÂò UPS (²»¶Ïµçϵͳ)£¬ÎÒ×¢Òâµ½ÓÐЩ¾ßÓРLAN µÄ½éÃæ£¬ 
        > ¿ÉÒÔÔÚÍ£µçʱÏò LAN ËÍѶºÅ¡£ 
        > 
        > ¶ø Linux ÓÐûÓÐÕâÑùµÄ½éÃæÄØ? 
        > 
        > Ð»Ð»ÄúµÄ»Ø´ð¡£ 
        > 
        >-Joel 
        >(joel@wam.umd.edu) 
        > 
 
        µ±ÎÒÔÚÐÞ¸ÄÉÏÒ»°æµÄ SysVinit Ê± (ÏÖÔڵİ汾ÊÇ 2.4)£¬ 
        ÄÇʱÎҵĵçÄÔÓÐÒ»¸ö UPS £¬ËùÒÔÎÒ¼ÓÈëÁ˶ÔËüµÄÖ§Ô®¡£ 
        ÄúÒ²ÐíÒÑÔÚ×î½üµÄÒ»¸ö <signal.h> ±êÍ·µµÖп´µ½ÁË #define SIGPWR 30 
        ÕâÒ»ÐР:-)¡£×ÜÖ®£¬ÎÒ²¢Ã»ÓÐÄǸöÌØÊâµÄ½éÃæ£¬µ«´ó¶àÊýµÄ UPS 
        ÊÇ¿¿²úÉú»òÖжÏÒ»¸öµçÔ´ÖжÏѶºÅÔÚÔË×÷µÄ¡£ 
        ÎÒÏëµ½Ò»¸ö¼òµ¥µÄ·½Ê½¿ÉÒÔ½«ËüµÄѶºÅÏßÁ¬½Óµ½µçÄÔѶÁи·µÄ DCD 
        ½Ó½Å¡£ÔÚ SysVinit Ì×¼þÖÐÓÐÒ»¸ö½Ð×ö 'powerd' 
        µÄ³£×¤³Ìʽ¿ÉÒÔ×·×Ù²¢¼àÊÓ¸ÃѶºÅÏߣ¬µ±Ñ¶ºÅµÄ״̬¸Ä±äʱËü»áËÍÒ»¸ö SIGPWR 
        µÄѶºÅ¸ø init ³Ìʽ£¬Òò´Ë init ±ã¿ÉÒÔ²ÉÈ¡Êʵ±µÄÐж¯ (ÏñÊÇÔÚ 5 
        ·ÖÖÓÖ®ááÈÃϵͳ¹Ø»ú) ¡£ÈçºÎ½«Ñ¶ºÅÏßÓë UPS ÏàÁ¬ÔÚ "powerd.c" 
        ÒÑÓÐ˵Ã÷£¬µ«ÎÒ»¹ÊÇͼʾÈçÏÂÒÔ×öΪ½âÊÍ: 
 
 
                             +------------------------o  DTR 
                             | 
                           +---+ 
                           |   | resistor 
                           |   | 10 kilo-Ohm 
                           |   | 
                           +---+                                To serial port. 
                             | 
               +-----o-------+------------------------o  DCD 
               |             | 
               o  UPS        | 
             \    relais     | 
              \              | 
               |             | 
               +-----o-------+------------------------o  GND 
 
        »­µÃ»¹¿ÉÒÔÂð? 
 
        Ï£ÍûÕâÑù»áÓаïÖú¡£ 
 
 
 
 
 
 
 
 
 
ÖÐÎÄ UPS Howto                                                               12 
 
 
 
        SysVinit ¿ÉÒÔÔÚ sunsite (»ò¿ÉÄÜÔÚ tsx-11) ÏÂÕÒµ½£¬µµÃûÊÇ 
        SysVinit2.4.tar.z ¡£ 
 
        Mike. 
 
        -- 
 
        Miquel van Smoorenburg, <miquels@cistron.nl.mugnet.org> 
        Ibmio.com: cannot open CONFIG.SYS: file handle broke off. 
 
 
        >From danny@caution.cistron.nl.mugnet.org Wed Jul 21 14:27:04 1993 
        Newsgroups: comp.os.linux 
        Subject: Re: UPS interface for Linux? 
        From: danny@caution.cistron.nl.mugnet.org (Danny ter Haar) 
        Date: Mon, 19 Jul 93 11:02:14 
        Distribution: world 
        Organization: Cistron Electronics. 
 
        In article <9307174330@caution.cistron.nl.mugnet.org> 
        miquels@caution.cistron.nl.mugnet.org (Miquel van Smoorenburg) writes: 
        > ÈçºÎ½«Ñ¶ºÅÏßÓë UPS ÏàÁ¬ÔÚ "powerd.c" ÒÑÓÐ˵Ã÷£¬ 
        > µ«ÎÒ»¹ÊÇͼʾÈçÏÂÒÔ×öΪ½âÊÍ: 
 
        ¸Ãͼʾ²¢²»Ê®·ÖÇå³þ£¬Çë¸ÄÓÃÒÔϵÄͼʾ! 
        > 
        >                     +------------------------o  DTR 
        >                     | 
        >                   +---+ 
        >                   |   | resistor 
        >                   |   | 10 kilo-Ohm 
        >                   |   | 
        >                   +---+                                To serial port. 
        >                     | 
        >       +-----o-------+------------------------o  DCD 
        >       | 
        >       o  UPS 
        >     \    relais 
        >      \ 
        >       | 
        >       +-----o--------------------------------o  GND 
        > 
 
        ÆäÖРDTR ½Ó½ÅÊDZ£³ÖÔڸߵç룬Ôòµ± UPS µÄÍâ½çÊäÈëµçÔ´Ïûʧʱ£¬ 
        ÄǸö¿ª¹Ø (relais) »á¹Ø±Õ¡£¶øµçÄÔ±ãÊǼàÊÓ DCD ÊäÈë½Ó½Å£¬µÈÖøËü±ä³ÉµÍµçλ¡£ 
        µ±ÊÂÇé·¢ÉúʱËü½«»áÆô¶¯¹Ø»ú³ÌÐò ... 
 
        _____ 
        Danny 
 
        -- 
        <=====================================================================> 
        Danny ter Haar  <dannyth@hacktic.nl> or <danny@cistron.nl.mugnet.org> 
        Robins law #103: 'a couple of lightyears can't part good friends' 
 
 
 
 
 
 
 
 
ÖÐÎÄ UPS Howto                                                               13 
 
 
 
6.2  Ñ¶ºÅÀÂÏß·´Ïò·ÖÎö¼°Ð޸Ġpower.c 
 
 
 
ÖÐÎÄ UPS Howto                                                               14 

BBSˮľÇ廪վ¡Ã¾«»ªÇø