Bug 10326

Summary: halt = poweroff
Product: Sisyphus Reporter: Sergey Y. Afonin <asy>
Component: startupAssignee: Alexey Gladkov <legion>
Status: CLOSED FIXED QA Contact: qa-sisyphus
Severity: blocker    
Priority: P2 CC: aen, asy, evg, glebfm, ldv, legion, mike, stalker
Version: unstable   
Hardware: all   
OS: Linux   
Bug Depends on:    
Bug Blocks: 19564    
Attachments:
Description Flags
патч для возможности выбора halt/poweroff none

Description Sergey Y. Afonin 2006-11-26 19:19:01 MSK
# 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, кстати, описана ситуация,
где это может выстрелить.
Comment 1 Sergey Y. Afonin 2006-11-26 21:45:51 MSK
Вообще, кстати,  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 ? Суть, в принципе, одна, пакет тоже один...

Comment 2 Dmitry V. Levin 2006-12-01 03:00:05 MSK
Мне смутно припоминается, что это == было сделано с каким-то умыслом...
То ли было желание добиться того, чтобы halt приводил к выключению питания, толи
ещё что-то в этом духе.
Comment 3 Sergey Y. Afonin 2006-12-01 09:46:03 MSK
Вообще, для десктопа, может быть, и не плохо выключать.
Может сделать startup-workstation и startup-server ?
Comment 4 Dmitry V. Levin 2007-03-31 04:11:31 MSD
Нет, не должно тут быть разницы между сервером и десктопом, особенно
в случае killpower.
Comment 5 Sergey Y. Afonin 2007-04-02 10:55:59 MSD
Почему ? killpower - сигнал бесперебойнику отключить питание, а как себя, при 
этом, будет компьютер вести, это вопрос второй. Но на самом деле, если 
выбирать, то я и десктоп бы не выключал. По крайней мере, в ситуации с UPS.
Comment 6 Sergey Y. Afonin 2008-06-03 11:50:46 MSD
С этим багом надо что-то делать. Предлагаю оставить halt = poweroff для обычного
режима, в принципе, это не очень важно. Но для ситуации, когда shutdown вызван
пропаданием питания, надо однозначно делать command=/sbin/halt.

Причина. При таком способе отключения, в 99% ситуаций (если не в 100%)
предполагается необходимость включения после появления питания. Вызов
/sbin/poweroff препятствует этому, если в BIOS выставлен режим запоминания
последнего состояния atx power. С этим можно бороться, выставив "всегда
включаться", но есть 2 но:

1. Если компьютер выключен руками, но не обесточен полностью, он может
неожиданно включиться по скачку питания.
2. Самое главное. Существуют системы, причём серверные, где выбора поведения atx
power нет, а используется режим запоминания последнего состояния.
Comment 7 Michael Shigorin 2009-04-03 20:22:31 MSD
А может, просто вынести в sysconfig?  Это ж local admin policy decision.
Comment 8 Sergey Y. Afonin 2009-04-05 14:51:30 MSD
Вообще логично.
Comment 9 Sergey Y. Afonin 2009-09-04 16:07:59 MSD
Пожалуй, добавлю в #19564. Предложение Михаила вынести это в sysconfig мне кажется весьма разумным. По-умолчанию можно и command=/sbin/poweroff оставить. Или "кому надо, тот пусть и патчи пишет" ? :-)
Comment 10 Michael Shigorin 2009-09-28 15:01:40 MSD
Ну раз Дима сказал, что они принимаются, то -- шли. :)
Comment 11 Sergey Y. Afonin 2009-10-07 13:17:14 MSD
Created attachment 3967 [details]
патч для возможности выбора halt/poweroff

Для halt предлагаю такой вот патч. Остаётся вопрос, нужно ли создавать /etc/sysconfig/halt и таскать его в startup, хотябы с закомментированным HALTCMD=/sbin/halt, или же сделать sysconfig/halt частью какого-то другого пакета, startup-server, например... Есть варианты ?
Comment 12 Michael Shigorin 2010-06-27 18:19:03 MSD
(In reply to comment #2)
> Мне смутно припоминается, что это == было сделано с каким-то умыслом...
> То ли было желание добиться того, чтобы halt приводил к выключению питания,
> толи ещё что-то в этом духе.
IMHO это странное желание.  Давайте не будем добиваться странного, если ещё актуально?
Comment 13 Sergey Y. Afonin 2010-06-28 11:49:58 MSD
Вообще-то актуально - пока так руками и патчу там, где выключать нельзя.
Comment 14 Repository Robot 2010-08-28 01:20:47 MSD
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).