Демоны инициализации

systemd

Условия на запуск юнитов

systemd делает простым задание условий на запуск юнитов:

ConditionPathExists=|!/tmp/abc
ConditionPathExists=|!/tmp/abe
  • ! - отрицание
  • | - логическое ИЛИ

Журнал

  • В бинарном виде. Просмотр: journalctl
  • В PRA по умолчанию отключены для экономии ресурсов. Включение и просмотр через меню
  • При добавлении в параметры ядра debug - система стартует с записью лога

Шпаргалка

  • systemd-analyze blame - список запускаемых файлов юнитов, отсортированный по потраченному каждым из них на загрузку времени
  • systemctl list-unit-files - все установленные юниты
  • systemctl enable _my.service - включить сервис
  • systemctl start _my.service
  • systemctl stop _my.service
  • systemctl status _my.service

minirc

  • Minirc больше соответствует принципу «маленький и быстрый».
  • Minirc уменьшает совместимость с Arch репозиторием (решаемо - переписыванием стартовых скриптов демонов). Для NetworkManager и пр. из iso переписаны
  • Конфигурация (в том числе запуск демонов) /etc/minirc.conf
  • /etc/minirc.local - запускается от root при старте системы
  • /etc/minirc.local.shutdown запускается от root при выключении системы
  • udev используется старый (самый маленький и пока проблем не вызывал. Можно использовать eudev или любой другой

Доработки в PRA:

  • Выполняются все исполняемые (права 755) скрипты из /etc/rc.d и пишется /var/log/rc.d.log
  • С параметром ядра debug включается syslogd
  • Пакеты из репозитория Arch, включающие в себя запуск демонов, придется переделывать с systemd на minirc (лучше делать универсальными)

Управление сервисами

  • Поддерживается запуск: syslog-ng iptables alsa crond dbus wpa_supplicant dhcpcd sshd privoxy polipo acpid mpd vsftpd lighttpd ntpd haveged
  • Управление через ENABLED=»@syslog-ng @crond @dhcpcd @sshd» в /etc/minirc.conf
  • @ перед названием сервиса : в фоне
  • Просмотр состояния сервисов : rc
  • Запуск|Остановка|Перезагрузка сервиса: rc start|stop|restsrt service
Печать/экспорт