Re: Управлениесервисамибезотносительно sysvinit/upstart/systemd
Артём Н. <artiom14 <at> yandex.ru> writes:
> > * получить список всех служб и статусов - работает ли
> > * запускать / останавливать вручную
> > Вроде везде "service $NAME start/stop/status" или --status-all
> отрабатывал, хотя man страничка заявляет про
> работоспособность для
> > System V init script or upstart job, ничего не говоря о systemd (пакет
> sysvinit-utils из sid). Эта утилита закрывает 2 вопроса.
> service работает.
>
> > * запускать / останавливать перманентно (я так
> понимаю понятие runlevel даже с модными системами осталось?)
В SYSTEMCTL(1) и SYSTEMD(1) написано что runlevel нету, есть нечто в виде:
systemd.unit=runlevel2.target
> chkconfig <name> on/off
>
> Пакет chkconfig.
> sysv-rc-conf тоже вполне себе работает.
>
> Всё для jessie+system.d.
deblaptop+bash# dpkg -S init/ssh init.d/ssh
openssh-server: /etc/init/ssh.conf
openssh-server: /etc/init.d/ssh
Какой из них вызывается? По:
strace -f -o ssh.out chkconfig -t ssh
видно что учитывается только /etc/init.d/*
Далее:
$ systemctl list-units --all
...
console-kit-daemon.service loaded active running Console Manager
...
$ dpkg -S console-kit-daemon.service
consolekit: /lib/systemd/system/console-kit-daemon.service
Но:
$ service console-kit-daemon status
● console-kit-daemon.service - Console Manager
Loaded: loaded (/lib/systemd/system/console-kit-daemon.service; disabled)
Active: active (running) since Mon 2015-07-20 19:57:35 EEST; 2 weeks 3
days ago
Main PID: 1142 (console-kit-dae)
CGroup: /system.slice/console-kit-daemon.service
└─1142 /usr/sbin/console-kit-daemon --no-daemon
$ chkconfig -t console-kit-daemon
console-kit-daemon: unknown service
Это некий особый сервис что его не нужно пользователю останавливать?
Еще бяка - в конце /etc/init/ssh.conf:
# if you used to set SSHD_OPTS in /etc/default/ssh, you can change the
# 'exec' line here instead
exec /usr/sbin/sshd -D
т.е. systemd скрипты плюют на /etc/default/*...
Еще что ново - сценарии запуска ушли из /etc в /lib/systemd/system (я
сравнил /etc/udev/rules.d, там аналогично почти все пакеты пихают в
/lib/udev/rules.d).
Учитывая что runlevel это legacy по документации мне перестало быть понятным
как самому сделать некий сервис перманентно запускаемым при рестарте в
терминах systemd.
Я бы просто по старинке sysvinit написал бы и не разбирался. Они все дергают
/etc/init.d/rc в конце концов или как то эмулируют его работу...
В общем нужно адаптироваться к новому окружению ((
Reply to: