พิจารณาการใช้สคริปต์เพื่ออ่านการกำหนดค่าอัปสตรีมแก้ไขและคายมันออกเป็นไฟล์ดรอปอิน
ตัวอย่างเช่นฉันใช้ Chef และนี่คือ ruby (ไลบรารี่) ที่แยกวิเคราะห์ไฟล์ระบบมาราธอน systemd เพื่อรับ 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