Я нашел общесистемное -решение этой проблемы, предотвращающее любое -управление питанием :. Я создал два хука pacman, которые не дают systemd отключить питание (см.https://askubuntu.com/a/858617).
Первый маскирует цели:
/etc/pacman.d/hooks/00-prevent-interruption-pre.hook
[Trigger]
Operation = Install
Operation = Upgrade
Operation = Remove
Type = Package
Target = *
[Action]
Description = Masking systemd targets to prevent interruption...
When = PreTransaction
Exec = /usr/bin/systemctl --runtime mask halt.target poweroff.target reboot.target kexec.target suspend.target hibernate.target hybrid-sleep.target suspend-then-hibernate.target sleep.target
Depends = systemd
А второй снова разоблачает их после запуска всех остальных хуков:
/etc/pacman.d/hooks/99-prevent-interruption-post.hook
[Trigger]
Operation = Install
Operation = Upgrade
Operation = Remove
Type = Package
Target = *
[Action]
Description = Unmasking systemd targets to reenable power management...
When = PostTransaction
Exec = /usr/bin/systemctl --runtime unmask halt.target poweroff.target reboot.target kexec.target suspend.target hibernate.target hybrid-sleep.target suspend-then-hibernate.target sleep.target
Depends = systemd
Это не помешает вам выйти из системы , но отключит все функции завершения работы до тех пор, пока pacman
не завершит ее успешно. Поэтому, чтобы pacman продолжал работать, я рекомендую вам поместить его в терминальный мультиплексор (, например tmux
), чтобы предотвратить его прерывание при закрытии вашего терминального приложения.