Плавное выключение с помощью кнопки питания

Плавное выключение с помощью кнопки питания

Я хочу иметь возможность выключать машину CentOS 7, нажав кнопку питания. Поскольку это не работает из коробки, я попробовал следующее:

yum -y install acpid
service acpid start
chkconfig acpid on

К сожалению, без эффекта, вероятно, потому что это было действительно только для CentOS 6.x. Кто-нибудь знает, как включить выключение нажатием кнопки питания?

решение1

RHEL 7 и, следовательно, Centos 7 перешли от сценариев запуска и уровней запуска System V (SysV) к systemd. Таким образом, команды для активации acpid должны быть следующими:

systemctl start acpid
systemctl enable acpid

решение2

У меня тоже была эта пробема.

По сути, то, что вы увидите в своих журналах (если systemd настроен правильно, любой из приведенных выше методов работает — systemd транслирует старые команды «service» для вас... по крайней мере, в CentOS7)

Nov 20 11:12:06 localhost systemd-logind: Power key pressed.
Nov 20 11:12:06 localhost systemd: SELinux policy denies access

Итак, вам нужно перейти к /var/log/audit/audit.log, и вы увидите что-то вроде этого:

init_t:s0 msg='avc:  denied  { start } for auid=-1 uid=0 gid=0 path="/usr/lib/systemd/system/poweroff.target" scontext=system_u:system_r:apmd_t:s0 tcontext=system_u:object_r:power_unit_file_t:s0 tclass=service  exe="/usr/lib/systemd/systemd" sauid=0 hostname=? addr=? terminal=?'

Хорошо, почему системные файлы конфигурации больше не находятся в /etc? В любом случае, я отвлекся... что-то в /usr/lib/systemd/system/poweroff.target отключено?: Кстати, мне очень нравится, как теперь новые автоматизированные файлы сами себя запутывают... Теперь нет реального направления... этот файл совершенно бесполезен. Что означают все эти опции? Я предполагаю, что безопасность работы для некоторых администраторов PFY... и больше сверхурочных для меня. (должно быть, еще одна «фича»!)

#  This file is part of systemd.
#
#  systemd is free software; you can redistribute it and/or modify it
#  under the terms of the GNU Lesser General Public License as published by
#  the Free Software Foundation; either version 2.1 of the License, or
#  (at your option) any later version.

[Unit]
Description=Power-Off
Documentation=man:systemd.special(7)
DefaultDependencies=no
Requires=systemd-poweroff.service
After=systemd-poweroff.service
AllowIsolate=yes

[Install]
Alias=ctrl-alt-del.target

Хорошо, на данный момент у нас достаточно информации, чтобы действительно искать ответ. Проблема в политике SELinux, которая не позволяет systemd завершить работу системы.

И вуаля! Есть баг против этого: https://bugzilla.redhat.com/show_bug.cgi?id=1224211

По сути, где-то около комментария #60 они выясняют, что есть ошибка политики. Она будет исправлена ​​с помощью регулярных обновлений, но я хотел установить только пакеты из 'everything dvd'. Так что, похоже, мне придется ждать, пока ребята из CentOS не выпустят 7.2, чтобы исправить эту проблему!

Связанный контент