# See how we were called. case "$0" in *halt|*poweroff) message="The system is halted" command=/sbin/poweroff ;; Это категорически неправильно. halt - это никак не poweroff. В https://bugzilla.altlinux.org/show_bug.cgi?id=6514#c3, кстати, описана ситуация, где это может выстрелить.
Вообще, кстати, 6514#c3, в смысле 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 в плане "command=/sbin/poweroff" тоже заслуживает отдельного упоминания, как баг. И тоже bloker, или, как минимум, critical. Завести отдельно, или будем считать частью #10326 ? Суть, в принципе, одна, пакет тоже один...
Мне смутно припоминается, что это == было сделано с каким-то умыслом... То ли было желание добиться того, чтобы halt приводил к выключению питания, толи ещё что-то в этом духе.
Вообще, для десктопа, может быть, и не плохо выключать. Может сделать startup-workstation и startup-server ?
Нет, не должно тут быть разницы между сервером и десктопом, особенно в случае killpower.
Почему ? killpower - сигнал бесперебойнику отключить питание, а как себя, при этом, будет компьютер вести, это вопрос второй. Но на самом деле, если выбирать, то я и десктоп бы не выключал. По крайней мере, в ситуации с UPS.
С этим багом надо что-то делать. Предлагаю оставить halt = poweroff для обычного режима, в принципе, это не очень важно. Но для ситуации, когда shutdown вызван пропаданием питания, надо однозначно делать command=/sbin/halt. Причина. При таком способе отключения, в 99% ситуаций (если не в 100%) предполагается необходимость включения после появления питания. Вызов /sbin/poweroff препятствует этому, если в BIOS выставлен режим запоминания последнего состояния atx power. С этим можно бороться, выставив "всегда включаться", но есть 2 но: 1. Если компьютер выключен руками, но не обесточен полностью, он может неожиданно включиться по скачку питания. 2. Самое главное. Существуют системы, причём серверные, где выбора поведения atx power нет, а используется режим запоминания последнего состояния.
А может, просто вынести в sysconfig? Это ж local admin policy decision.
Вообще логично.
Пожалуй, добавлю в #19564. Предложение Михаила вынести это в sysconfig мне кажется весьма разумным. По-умолчанию можно и command=/sbin/poweroff оставить. Или "кому надо, тот пусть и патчи пишет" ? :-)
Ну раз Дима сказал, что они принимаются, то -- шли. :)
Created attachment 3967 [details] патч для возможности выбора halt/poweroff Для halt предлагаю такой вот патч. Остаётся вопрос, нужно ли создавать /etc/sysconfig/halt и таскать его в startup, хотябы с закомментированным HALTCMD=/sbin/halt, или же сделать sysconfig/halt частью какого-то другого пакета, startup-server, например... Есть варианты ?
(In reply to comment #2) > Мне смутно припоминается, что это == было сделано с каким-то умыслом... > То ли было желание добиться того, чтобы halt приводил к выключению питания, > толи ещё что-то в этом духе. IMHO это странное желание. Давайте не будем добиваться странного, если ещё актуально?
Вообще-то актуально - пока так руками и патчу там, где выключать нельзя.
startup-0.9.8.28-alt1 -> sisyphus: * Fri Aug 27 2010 Dmitry V. Levin <ldv@altlinux> 0.9.8.28-alt1 - Added dependence on /sbin/fsck (closes: #22410). - init.d/rawdevices: turned off by default (by Michael Shigorin; closes: #10906). - rc.sysinit: + Disable update of /etc/mtab when the latter is a symlink (by Alexey I. Froloff; closes: #23133). + No longer try to mount already mounted /proc and /sys (closes: #23660). + Disable USEMODULES when /sbin/modprobe is not available, thus removed hard dependence on module-init-tools (closes: #11033). + Refactored automatic reboot. + Added SELinux support (by Mikhail Efremov and me). - init.d/halt: + Made halt action configurable, default remains unchanged (by Sergey Y. Afonin and me; closes: #10326). + Reworked unmounting of virtual filesystems so that /proc, /sys, /dev and any usbfs inside /dev are nor longer unmounted (closes: #11888, #22118).