是否有命令可以显示所有 systemd conf.d 插入文件的聚合/合并结果?

是否有命令可以显示所有 systemd conf.d 插入文件的聚合/合并结果?

我想我已经基本理解了这些systemd drop-in files工作,喜欢/etc/httpd/conf.d//etc/sudoers.d/

我的问题:是否有一些辅助命令可以显示当前的聚合结果?

即查看.d文件夹中所有内容如何一起播放,并验证fooProperty最终true不是false……

答案1

systemctl show对于服务单元,您可以使用或选项列出所有属性-p,或--property仅列出一个。您还可以使用systemctl cat连接所有不同的文件,但不合并任何信息。例如,对于我的http.service

$ systemctl cat httpd 
# /usr/lib/systemd/system/httpd.service     <--highlighted
....
[Unit]
Description=The Apache HTTP Server
...
[Service]
...
PrivateTmp=true
...

# /etc/systemd/system/httpd.service.d/override.conf  <--highlighted
[Service]
PrivateTmp=false
UMask=0002

上面的注释(在终端中突出显示)显示了 2 个文件的名称及其内容。您可以看到文件如何override.conf为 提供不同的值PrivateTmp。您可以使用以下命令查看结果值

$ systemctl show  --property=PrivateTmp httpd
PrivateTmp=no

但是,这不适用于其他单位,例如httpd.socket,您可以show按照上述方法操作,但在我覆盖的文件中的属性上失败:

$ systemctl show  --property=ListenStream httpd.socket
Property ListenStream does not exist.

我正在使用 231 版本,情况可能发生了变化。

相关内容