If I am reading a documentation to this package properly (not an easy task as these docs may use a thorough rewrite) then /etc/rc.d/init.d/halt script is missing shutdown procedures for UPS itself required when such device is present (see 'shutodown.txt' in the said documentation). I think that the following, inserted in 'halt' just before the last line, would do: switchoff_ups () { [ -r /etc/ups/upsmon.conf ] || return POWERDOWNFLAG=$( /bin/grep '^POWERDOWNFLAG' /etc/ups/upsmon.conf \ | while read id pf rest ; do echo $pf break done ) [ -f $POWERDOWNFLAG ] || return [ -f /etc/sysconfig/ups ] || return . /etc/sysconfig/ups [ "$SERVER" != "yes" -o "$MODEL" = "NONE" \ -o "$MODEL" = "" -o "$DEVICE" = "" ] && return /usr/bin/$MODEL -k $DEVICE } [ "$command" = halt ] && switchoff_ups if not for that small catch that /usr/bin may be already gone. So either various ups drivers have to live in a place like /sbin (actually they likely should be there) or 'halt' has to keep /usr/bin, mounted read-only, to the last moment. Michal michal
It's fixed in initscripts-5.84. Thanks
*** Bug 37273 has been marked as a duplicate of this bug. ***