背景:
我有一个包,它提供了一个与 LXD 不兼容的 systemd 单元文件。具体来说,它使用以下两个选项,这似乎在容器内失败:
[Service]
IOSchedulingClass=realtime
CPUSchedulingPolicy=rr
因此,我尝试使用以下内容来覆盖这些内容:systemctl edit
[Service]
IOSchedulingClass=
CPUSchedulingPolicy=
但后来我收到以下消息journalctl -xe
:
Jun 17 18:40:14 nickel systemd[1]: [/etc/systemd/system/freeswitch.service.d/override.conf:2] Failed to parse IO scheduling class, ignoring:
Jun 17 18:40:14 nickel systemd[1]: [/etc/systemd/system/freeswitch.service.d/override.conf:4] Failed to parse CPU scheduling policy, ignoring:
问题:
似乎不允许这样的取消设置选项。我还尝试使用一对空引号(例如IOSchedulingClass=""
)。这样做的正确方法是什么?我知道我可以覆盖整个单元文件,但如果可能的话,我不希望从打包的单元文件中屏蔽任何以后的更新。
作为参考,systemd.exec(5)
手册页建议应该有一些方法来做到这一点:
如果将空字符串分配给此选项,则之前对 IOSchedulingClass= 和 IOSchedulingPriority= 的所有分配都无效。