У меня есть служба (скажем, она называется xrootd), которая потребует запуска другой службы (называемой cmsd), если в общем файле конфигурации есть определенное объявление. Есть ли способ добавить Requires, если объявление присутствует в файле conf?
Лучшее решение, которое я могу придумать, - написать генератор какие символические ссылки cmsd.service
в xrootd.service.requires/
, возможно, вот так (непроверено):
# /etc/systemd/system-generators/xrootd-requires-cmsd
#!/bin/bash
while read -r line; do
if [[ $line =~ ^CertainDeclaration ]]; then
requiresCmsd=true
break
fi
done
if [[ $requiresCmsd ]]; then
mkdir -- "$1/xrootd.service.requires/"
ln -s -t "$1/xrootd.service.requires/" /usr/lib/systemd/system/cmsd.service
fi