⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 122.htm

📁 尝试使用有意义的结构与组织
💻 HTM
字号:
<HTML><HEAD><meta http-equiv="Content-Type" content="text/html; charset=GB2312"><TITLE>-->Linux HowTo 中译版-->中文 UPS Howto :自己动手指南</TITLE>
<META NAME="keywords" CONTENT=" Linux HowTo 中译版 中文 UPS Howto :自己动手指南">
<META NAME="description" CONTENT=" - Linux HowTo 中译版 - 中文 UPS Howto :自己动手指南">

<style>
<!--
#page {position:absolute; z-index:0; left:0px; top:0px}
.tt3 {font: 9pt/12pt "宋体"}
.tt2 {font: 12pt/15pt "宋体"}
a {text-decoration:none}
a:hover {color: blue;text-decoration:underline}
-->
</style>
</HEAD>
<body text="#000000" aLink=#9900ff link=#006699 vLink=#006699 bgcolor="#FFFFFF" leftmargin="3" topmargin="3" marginheight="3" marginwidth="3">
<TABLE WIDTH="100%" CELLPADDING=10 CELLSPACING=0 BORDER=0>
<TR>
<TD CLASS="tt3" VALIGN="top" width="8%"  bgcolor="#e0e0e0"><strong><A HREF="123.htm">后一页</A><BR>
<A HREF="121.htm">前一页</A><BR>

<A HREF="index.html">回目录</A><BR>
<A HREF="../../../../index.htm">回首页</A><BR>
</strong>
</TD>
<TD class="tt2" bgcolor="#F5F8F8" width="84%"><center><B><FONT style="FONT-SIZE: 16.5pt" COLOR="#FF6666" FACE="楷体_GB2312">中文 UPS Howto :自己动手指南</FONT></B></center>
<hr color="#EE9B73" size="1" width="94%">
姓名:Harvey J. Stein,<br>
Email:abel@netvision.net.il,<br>
地址 :Berger Financial Research, Ltd.<br>
转摘 :http://member.netease.com/</p>
<BR>
<BR>
<hr size="0">
<BR>
<p><br>
<br>
<br>
5. 自己动手指南 <br>
这□的讨论是针对单调模式的 UPS
控制而写就的。然而,大部分的过程对单调的 UPS 与聪明的 UPS
几乎是一样的。最大的不同在於 UPS 监控程式 (基本上是 powerd)
如何与 UPS 沟通。 <br>
<br>
在开始之前,我建议以下的工作流程: <br>
<br>
略读这篇文件。 <br>
下载并审查所有看起来特别适合您的 UPS 的软体。 <br>
下载并审查所有更一般化的软体。请注意有些较一般化的软体事实上更为强大、有更好的说明文件、且比起那些较特殊的软体更容易使用。
<br>
如果您依然无法让 UPS
工作,或是您的方向依旧不清楚,请您仔细阅读本文,并试试做 hack
的工作 .... <br>
<br>
5.1. 您所需的工作 (总结) <br>
<br>
将您的电脑接上 UPS 。 <br>
用特殊的讯号缆线将您的电脑的的串列阜与 UPS 连接在一起。 <br>
在您的电脑上跑 powerd (或其他类似的软体) 。 <br>
设定您的 init 程式使它能在 powerfail 及 powerok
事件发生时做适当的处理 (例如分别启动 shutdown
程序及停止正在执行的 shutdown 程序)。 <br>
<br>
5.2. 这应该是做什麽工作的? <br>
<br>
UPS 的工作 <br>
当电力消失时, UPS
持续供应电脑所需的电力,并以送出重置讯号或是在它的控制阜上打开连接讯号以通知电脑电力消失了。
<br>
<br>
讯号缆线的工作 <br>
讯号缆线是设计为当 UPS
送出重置讯号时,会使得特殊的序列阜控制接脚 (基本上是 DCD)
出现高电位。 <br>
<br>
Powerd 的工作 <br>
powerd 程式负责监视序列阜。它保持著 UPS 所需而升高 /
降低序列阜控制接脚的高 / 低电位 (基本上, DTR
接脚必须保持在高电位且关闭 UPS 的接脚必须保持在低电位) 。当
powerd 发觉控制接脚变成高电位,它会在 /etc/powerfail 档中写入 FAIL
这个字并送 SIGPWR 讯号给 init
行程。当控制接脚再次变回低电位时,它会在 /etc/powerfail 档中写入
OK 这个字并送 SIGPWR 讯号给 init 。 <br>
<br>
Init 的工作 (除上述之外它负责所有的工作) <br>
当它接到了 SIGPWR 讯号,它会检查 /etc/powerfail 档。如果□头是 FAIL
这个字眼它会执行 /etc/inittab 档中 powerfail
那一行的指令。如果□头是 OK 这个字它则执行 inittab 档中 powerokwait
那一行的指令。 <br>
<br>
<br>
5.3. 如何设定好所有的工作 <br>
以下我们假设您有一条可以和 powerd
正常工作的讯号缆线。如果您不确定您的讯号缆线是否可以工作 (或它如何工作),请参考
讯号缆线反向分析及修改 power.c
一节,那儿有关於少见的讯号缆线处理及重新设定 powerd.c
的资讯。序列阜接脚的指定 及有关读写 RS232
这两节也将对您有帮助。 <br>
<br>
如果您需要制作一条讯号缆线,请见 如何制作讯号缆线
的详细说明,以及 UPS 资料节选 一节中有关您的 UPS
的小节。後者可能也包含了制造商所提供的讯号缆线的相关资讯。或许您应至少将
UPS 资料节选
中所有的小节浏览过一遍,因为每一小节都会有一些额外的一般性资料能对您有帮助。
<br>
<br>
<br>
修改 /etc/inittab 档。写入像以下的内容: <br>
# What to do when power fails (Halt system &amp; drain battery :): <br>
pf::powerfail:/etc/powerfailscript +5 <br>
<br>
# If power is back before shutdown, cancel the running shutdown. <br>
pg:0123456:powerokwait:/etc/powerokscript <br>
<br>
<br>
写 /etc/powerfailscript 及 /etc/powerokscript 这两个 script 档分别在五分钟 (或其他您喜欢的时间)
之内进行关机及停止任何存在的 shutdown 程序。依您所用的 shutdown
程式版本的不同,它可能会相当单简以至於您根本不需使用 script
档,或者是一行 bash 的 script 档像是以下这一行: <br>
kill `ps -aux | grep &quot;shutdown&quot; | grep -v grep | awk '{print $2}'` <br>
<br>
(为了避免您弄错,上一行中第一个单引号是反向单引号,第二及第三个是单引号,而最後一个则为反向单引号。)
<br>
用以下的命令告诉 init 重新读取 inittab 档中的设定: <br>
telinit q <br>
<br>
<br>
编□ rc.local 档在开机时执行 powerd 。其语法如下: <br>
powerd &lt;line&gt; <br>
<br>
<br>
其中,请您自行将 &lt;line&gt; 这个字替换成 modem
所连接的序列阜名,像是 /dev/cua1。 <br>
将电脑的序列阜与 UPS
的讯号缆线相连。请先不要将电脑的电源直接接到 UPS 上。 <br>
将一个光源 (如灯泡) 接到 UPS 上。 <br>
执行 powerd。 <br>
依照以下的步骤进行测试: <br>
拔掉 UPS 的插头。 <br>
检查该灯泡是否仍然亮著。 <br>
检查 /etc/powerfailscript 是否已开始执行。 <br>
检查 shutdown 是否正在执行。 <br>
接回 UPS 的插头。 <br>
检查该灯泡是否仍然亮著。 <br>
检查 /etc/powerokscript 是否已开始执行。 <br>
检查 /etc/powerfailscript 是否已停止执行。 <br>
检查 shutdown 是否已停止执行。 <br>
再次拔掉 UPS
的插头。放著不去管它并确定电脑在一段时间後可以正常关机。 <br>
危险步骤。
在所有的步骤看起来都正常之後,将电脑电源关闭并将电脑的电源接到
UPS 上。请执行一个 script 大约每秒钟做一次 sync
硬碟资料回存的动作,同时也跑另一个 script 持续以 find
指令搜寻整颗硬碟。其中第一个 script
是为了确保安全,而第二个则是助长电力的消耗。现在,将 UPS
的插头拔出,再次检查 shutdown
是否已在运作,并等待一段时间。确定电脑在 UPS
的电力用完前完全地关机。此一步骤是很危险的,因为如果 UPS
的电力在电脑完成关机之前先用完了,您的档案系统将会受损,且您将可能丢失一些档案。您可能在进行这项测试之前会想要备份您所有的档案,并将开始关机的时间设短一点以开始这项测试。
<br>
<br>
恭喜您! 您的 Linux 系统现在已在 UPS
的保护下,且它将会在电力耗尽之前安全地关机了。 <br>
<br>
5.4. 进一步的改善 <br>
<br>
修改 powerd.c 使它在监视 UPS
的讯号线时能得知电池电力已弱。当电力微弱时,马上进行紧急关机程序。
<br>
修改关机程序使它在 powerfail
情况下关机时,能够在完成所有工作之後将 UPS 关掉。 </p>
<BR>
<hr color="#EE9B73" size="1" width="94%">

</TD>
<TD CLASS="tt3" VALIGN="bottom" width="8%"  bgcolor="#e0e0e0"><strong><A HREF="123.htm">后一页</A><BR>
<A HREF="121.htm">前一页</A><BR>

<A HREF="index.html">回目录</A><BR>
<A HREF="../../../../index.htm">回首页</A><BR>
</strong>
</TD>
</TR>
</table>
</BODY></HTML>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -