From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: From: "Sergey Y. Afonin" To: ALT Devel discussion list Subject: Re: [devel] Re: apcupsd, incoming =?koi8-r?q?=C9?= /etc/init.d/halt Date: Thu, 14 Apr 2005 21:43:01 +0500 User-Agent: KMail/1.8 References: <200504132020.30611.asy@altlinux.ru> <200504141908.31186.asy@altlinux.ru> <20050414141610.GA3962@basalt.office.altlinux.org> In-Reply-To: <20050414141610.GA3962@basalt.office.altlinux.org> MIME-Version: 1.0 Content-Type: text/plain; charset="koi8-r" Content-Transfer-Encoding: 8bit Content-Disposition: inline Message-Id: <200504142143.01946.asy@altlinux.ru> X-Virus-Scanned: ClamAV version 0.83, clamav-milter version 0.83 on relay1.hippo.ru X-Virus-Status: Clean X-BeenThere: devel@altlinux.ru X-Mailman-Version: 2.1.5 Precedence: list Reply-To: ALT Devel discussion list List-Id: ALT Devel discussion list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 14 Apr 2005 16:43:15 -0000 Archived-At: List-Archive: List-Post: On Thursday 14 April 2005 19:16, Dmitry V. Levin wrote: > > На S10 можно не реагировать. > > > > Или я что не понимаю ? Если не понимаю, думаю, можно поправить > > Или я не понимаю, что вы предлагаете, или одно из двух. :-) Сейчас попробую как-нибудь по-другому изложить. В общем, В пакеты nut и apcupsd добавляется init-скрипт с названием, скажем, killpowercheck, который содержит примерно следующий кусок кода (bash у меня, что называется, со словарем, потому буду образно писать местами): start) rm -f /etc/powerkilled ;; stop) if [правильный ups]; then UPSCTL=/etc/apcupsd/apccontrol if [ -x "$UPSCTL" -a -f /etc/apcupsd/powerfail ]; then action "Attempting to turn the UPS off:" "$UPSCTL" killpower touch /etc/powerkilled # или другое место root file system fi UPSCTL=/sbin/upsdrvctl if [ -x "$UPSCTL" -a -f /etc/killpower ]; then action "Attempting to turn the UPS off:" "$UPSCTL" shutdown touch /etc/powerkilled fi fi ;; симлинк на скрипт в виде K00killpowercheck создается в... Так. Что-то у меня такое ощущение сложилось на 6-ом году использования Линуксов с Sys V, что я весьма в общем представляю, как работает Sys V init в плане отработки K*. Почему-то я считал, что K* текущего ранлевела запускаются, когда работа на ранлевеле завершается, а не когда на него попадаешь. В общем, симлинк создается в /etc/rc.d/rc0.d (в остальных случаях, то есть в rc6, это не важно - там /etc/killpower или /etc/apcupsd/powerfail будут отсутствовать). У скрипта должно быть что-то вроде # chkconfig: 12345 00 00 если я теперь правильно понимаю. Соответственно в halt дописывается: if [ ! -f /etc/powerkilled]; then # отрицание "!", если не путаю ? UPSCTL=/etc/apcupsd/apccontrol if [ -x "$UPSCTL" -a -f /etc/apcupsd/powerfail ]; then action "Attempting to turn the UPS off:" "$UPSCTL" killpower message="The system is halted" command=/sbin/poweroff fi UPSCTL=/sbin/upsdrvctl if [ -x "$UPSCTL" -a -f /etc/killpower ]; then action "Attempting to turn the UPS off:" "$UPSCTL" shutdown message="The system is halted" command=/sbin/poweroff fi fi if [ -f /etc/powerkilled]; then command=/sbin/halt fi > то poweroff оказывается гораздо практичнее, чем halt. > Похоже, что это поведение должно быть более управляемым, чем сейчас. Вроде и с poweroff/halt разруливается заодно... -- С уважением, Сергей Афонин asy@altlinux.ru