Подумайте об использовании сценария, чтобы прочитать исходную конфигурацию, изменить ее и выложить в раскрывающийся файл.
Например, я использую Chef, и вот часть ruby (библиотеки), которая анализирует файл systemd модуля marathon, чтобы получить из него оригинальный ExecStart.
require 'inifile'
module Dcos
def get_execstart_from_unit_file
marathon_systemd_unit_file =
IniFile.load('/etc/systemd/system/dcos-marathon.service')
return marathon_systemd_unit_file['Service']['ExecStart']
end
end
Затем в рецепте я создаю выпадающий файл, чтобы добавить опцию в ExecStart
chef_gem 'inifile'
exec_start_orig = get_execstart_from_unit_file
systemd_service_drop_in 'dcos-marathon' do
override 'dcos-marathon.service'
precursor 'Service' => { 'ExecStart' => nil }
service do
exec_start exec_start_orig + ' --env_vars_prefix "DCOS_MARATHON_"'
end
end