Если кому-то надо, пусть включают, но мне о таких неизвестно. P.S.: antohami@ предложил сделать фичей в m-p.
(Ответ для Leonid Krivoshein на комментарий #0) > Если кому-то надо, пусть включают, но мне о таких неизвестно. > > P.S.: antohami@ предложил сделать фичей в m-p. Не в m-p (это невозможно, так как система ставится из пакетов), а сделать installer-feature-no-sleep, которая будет маскировать hibernate.target и suspend.target postinstall-скриптом.
(Ответ для Антон Мидюков на комментарий #1) > (Ответ для Leonid Krivoshein на комментарий #0) > > Если кому-то надо, пусть включают, но мне о таких неизвестно. > > > > P.S.: antohami@ предложил сделать фичей в m-p. > > Не в m-p (это невозможно, так как система ставится из пакетов), а сделать > installer-feature-no-sleep, которая будет маскировать hibernate.target и > suspend.target postinstall-скриптом. Хотя можно сделать не фичей, а в связке m-p и installer. Добавить в инсталяторе поддержку списка сервисов (postinstall.d/65-setup-services.sh), которые нужно замаскировать и через m-p их задавать.
А чем эти юниты мешают? Кто их запускает на сервере?
(Ответ для Alexey Shabalin на комментарий #3) > А чем эти юниты мешают? Тем, что на серверах эти функции не нужны и даже вредны, на большинстве серверных железок они просто не работают. > Кто их запускает на сервере? Они включены в systemd по дефолту, их надо маскировать.
Если маскирование отдельных юнитов требует специальной ручки, то её нужно добавить.
Про systemctl mask hibernate.target jqt4@ в одной задаче год назад сказал: > Я протестировал такой способ на Delta Computers Bober/Rhodeola с > alt-workstation-10.0-aarch64.iso и обнаружил недостаток - если подать > команду от root: > echo disk > /sys/power/state > то происходит переход в hibernate и компьютер отключается. Но речь была о специфичном aarch64, где suspend уже отключен в ядре. Не знаю, стоит ли придавать значение ещё и такой возможности ввести машину в спячку. По сути root может обойти маскировку, отправив руками deep, disk или что-то ещё: https://www.kernel.org/doc/Documentation/power/states.txt
(Ответ для Leonid Krivoshein на комментарий #6) > Про systemctl mask hibernate.target jqt4@ в одной задаче год назад сказал: > > Я протестировал такой способ на Delta Computers Bober/Rhodeola с > > alt-workstation-10.0-aarch64.iso и обнаружил недостаток - если подать > > команду от root: > > echo disk > /sys/power/state > > то происходит переход в hibernate и компьютер отключается. > Но речь была о специфичном aarch64, где suspend уже отключен в ядре. Не > знаю, стоит ли придавать значение ещё и такой возможности ввести машину в > спячку. По сути root может обойти маскировку, отправив руками deep, disk или > что-то ещё: > > https://www.kernel.org/doc/Documentation/power/states.txt Не стоит.
Я бы закрыл как NOTABAG. Не надо глобально и системно маскировать никакие сервисы. Эти сервисы автоматически никак не запускаются, их можно запустить только специально вручную. Если админ хочет это сделать, пусть делает.
(Ответ для Alexey Shabalin на комментарий #8) > Я бы закрыл как NOTABAG. Не надо глобально и системно маскировать никакие > сервисы. > Эти сервисы автоматически никак не запускаются, их можно запустить только > специально вручную. Если админ хочет это сделать, пусть делает. Ошибка в том, что "из коробки" на всех серверных дистрибутивах таргеты включены. Скорее всего, дело рук systemd, а не выпускающих. Если это возможно исправить на уровне systemd, можно перевесить, и тогда включать таргеты в тех дистриубитивах, где это нужно.
Это не ошибка. Так и задумано. Эти таргеты должны быть включены. Некоторые сервисы запускаются именно в этих таргетах. Или выключаются в этих таргетах. Замаскировав эти таргеты вы не сможете корректно выключить сервер.
По моему опыту маскировка hibrnate.target и suspend.target никогда ранее не приводила к вышеописанным побочным эффектам, как невозможность корректного выключения компьютера. Если допустить, что маскировака этих двух таргетов всё же неидеальна, тогда нужен иной способ решения проблемы, поскольку suspend и hibernate включены в серверных дистрибутивах "из коробки". Но другого способа я не знаю.
(Ответ для Leonid Krivoshein на комментарий #11) > По моему опыту маскировка hibrnate.target и suspend.target никогда ранее не > приводила к вышеописанным побочным эффектам, как невозможность корректного > выключения компьютера. Если допустить, что маскировака этих двух таргетов > всё же неидеальна, тогда нужен иной способ решения проблемы, поскольку > suspend и hibernate включены в серверных дистрибутивах "из коробки". Но > другого способа я не знаю. Другой способ в /etc/systemd/sleep.conf: AllowSuspend=no AllowHibernation=no AllowSuspendThenHibernate=no AllowHybridSleep=no
(Ответ для Evgeny Sinelnikov на комментарий #5) > Если маскирование отдельных юнитов требует специальной ручки, то её нужно > добавить. Предлагаю такую реализацию: https://git.altlinux.org/people/jqt4/packages/?p=installer.git;a=commitdiff;h=e91b442efbd5790e659bad4a67ede48181171c92 https://git.altlinux.org/people/jqt4/public/?p=mkimage-profiles-rpi.git;a=commitdiff;h=0467d2260bfc84b246d4b27ecd4acfa5440472a4