Довольно новичок в systemd, поэтому, скорее всего (и, надеюсь), не хватает чего-то тривиального. Заранее спасибо.
Я пытаюсь включить службу (bees
btrfs dedup; файл ниже), но enable
/[Install]
не имеет никакого эффекта ?.
Я запускаю следующий, полный вывод вставлен, enable
вроде получается. Я не вижу ничего связанного в journalctl
. Сначала добавил файл модуля /etc/systemd/system/beesd@.service
(перечислено ниже)
# systemctl daemon-reload
# echo $?
0
# systemctl enable beesd@.service # <-- I believe I don't need an '@name' just '@' here?
# echo $?
0
# systemctl status beesd@.service
Failed to get properties: Unit name beesd@.service is neither a valid invocation ID nor unit name.
также я не вижу ни одного basic.target.wants/
в /usr/lib/systemd/system/
; но заметьте, многие вещи WantedBy=basic.target
... так это может быть актуально?
Вот файл модуля, который я mv
d к /etc/systemd/system/beesd@.service
перед запуском вышеуказанного
[Unit]
Description=Bees (%i)
Documentation=https://github.com/Zygo/bees
After=sysinit.target
[Service]
Type=simple
ExecStart=/usr/sbin/beesd --no-timestamps %i
CPUAccounting=true
CPUSchedulingPolicy=batch
CPUWeight=12
IOSchedulingClass=idle
IOSchedulingPriority=7
IOWeight=10
KillMode=control-group
KillSignal=SIGTERM
MemoryAccounting=true
Nice=19
Restart=on-abnormal
StartupCPUWeight=25
StartupIOWeight=25
[Install]
WantedBy=basic.target
Я считаю, что нашел причину;
Вышеупомянутый файл модуля представляет собой шаблон, обозначенный @
; Я думал, что могу создать его экземпляр без имени экземпляра ... но похоже, что это неправильно. Если я дам ему имя, он будет установлен должным образом.
Обратите внимание, что я пропустил %i
в модульном файле; которое является именем экземпляра; поэтому, даже если он правильно установлен с пустым именем (я думал, будет по умолчанию), скрипт / модуль все равно, вероятно, потерпит неудачу
Если у вас похожие проблемы, это был лучший исчерпывающий systemd
прохождение: https://www.digitalocean.com/community/tutorials/understanding-systemd-units-and-unit-files