Введение

Systemd это демон инициации других демонов Linux. Systemd полностью поддерживается в Ubuntu 15.04 и старше.

Архитектура

Переопределение конфигурационных файлов

Systemd позволяет менять настройки сервисов без модификации оригинальных файлов. Для этого надо:

  1. Создать директорию ниже «/etc/systemd/system/» или в «/lib/systemd/system/» названную «${unit}.d/»
  2. Создать файл <something>.conf в «${unit}.d/» директории, содержащий параметры директив которые вы хотите обновить.

Командная строка

Ubuntu имеет смешанную систему инициализации. В Ubuntu 14.10 и ниже - sysv и upstart, в Ubuntu 15.04 - upstart и systemd.

Действие Команда sysv Общая команда Команда upstart Команда systemd Замечания
Start service sudo /etc/init.d/имясервиса start sudo service имясервиса start start $job systemctl start $unit
Stop service sudo /etc/init.d/имясервиса stop sudo service имясервиса stopstop $jobsystemctl stop $unit
Restart service sudo /etc/init.d/имясервиса restart sudo service имясервиса restartrestart $jobsystemctl restart $unit
See status of services service --status-all,
service --status-all|sort|ccze -A|less -R
initctl list ,
initctl list|sort|ccze -A|less -R
systemctl status,
systemctl --no-pager status|ccze -A|less -R
Check configuration is valid init-checkconf /tmp/foo.confsystemd-analyze verify <unit_file>
Show job environment initctl list-envsystemctl show-environment
Set job environment variable initctl set-env foo=barsystemctl set-environment foo=bar
Remove job environment variable initctl unset-env foosystemctl unset-environment foo
View job log cat /var/log/upstart/$job.logsudo journalctl -u $unit
tail -f job log tail -f /var/log/upstart/$job.logsudo journalctl -u $unit -f
Show relationship between services initctl2dotsystemctl list-dependencies –allShows pstree-style output.
Отключить службу из автозагрузкиsudo update-rc.d имясервиса disable echo «manual» | sudo tee -a /etc/init/mysql.overridesystemctl disable foo.service
Включить службу в автозагрузкуsudo update-rc.d имясервиса enable убрать директиву manualsystemctl enable foo.service

Ссылки