[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: