Не так давно писал про сервисы и демоны в Linux, где присутствует стартовый скрипт /etc/init.d/after.local из openSUSE.
Но пытаясь остановить bootchart с помощью этого скрипта, оказалось, что со всеми любимым systemd, after.local никакого эффекта не имеет вовсе, что мне даже подтвердили в bugzilla. Однако, jdmcdaniel3 описал как всё-таки подружить systemd и after.local.
Всё сводится к трём шагам:
1. Создать /lib/systemd/system/after-local.service со следующим содержимым:
2. Собственно добавить after-local.service в автозагрузку, чтоб systemd понимал, что от него требуется:
3. Отредактировать /etc/init.d/after.local, вписав туда то, что вам нужно.
 
Но пытаясь остановить bootchart с помощью этого скрипта, оказалось, что со всеми любимым systemd, after.local никакого эффекта не имеет вовсе, что мне даже подтвердили в bugzilla. Однако, jdmcdaniel3 описал как всё-таки подружить systemd и after.local.
Всё сводится к трём шагам:
1. Создать /lib/systemd/system/after-local.service со следующим содержимым:
# This file is part of systemd. # # systemd is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. [Unit] Description=/etc/init.d/after.local Compatibility ConditionFileIsExecutable=/etc/init.d/after.local [Service] Type=oneshot ExecStart=/etc/init.d/after.local TimeoutSec=0 StandardOutput=tty RemainAfterExit=yes SysVStartPriority=99 [Install] WantedBy=multi-user.target
2. Собственно добавить after-local.service в автозагрузку, чтоб systemd понимал, что от него требуется:
systemctl enable /lib/systemd/system/after-local.service
3. Отредактировать /etc/init.d/after.local, вписав туда то, что вам нужно.
 
Пардон, а от какого пользователя будет исполняться записанное в after.local? и возможно ли явным образом это указать?
ОтветитьУдалитьОт root. Возможно указать, думаю, с помощью su
УдалитьЭтот комментарий был удален автором.
Удалитьтоесть как писать?
Удалитьsu user program
или же
su user
program?
первый вариант в консоли не работает.
или может быть написать скрипт и запускать его?
Вот: http://www.linux.org.ru/forum/general/5773560
Удалить