我有安装自定义
seLinux
模块的代码。在我的小黄人舰队中,有基于 Fedora
的系统(安装了 seLinux
)和基于 Debian
的系统(没有 seLinux
)。对于后者,不应使用模块/安装状态,因此我正在寻找一种方法来检索问题“seLinux
是否安装在该系统上?”的简洁答案。 (NOT“seLinux
在此系统上强制执行吗?”)在相应的jinja2
if
子句中使用。
让我绝望的尝试是:
salt
中似乎没有状态查询给定的二进制文件是否在 $PATH
上 - 检查 sestatus
就是我在这里所追求的。salt.states.selinux
在没有 seLinux
的系统上不可用,因此它的功能没有帮助。salt
功能来查询 salt.states.selinux
(见上文)之类的本地可用性。- unless: - rpm -q libselinux
(来自 stackoverflow.com/a/31748984/2103880)也不起作用,因为 rpm 是 Fedora 特定的...任何有关如何进行此操作的提示都值得赞赏。
按照this提示,我最终做了:
{% if salt['pkg.version']('libselinux') %}
...
{% endif %}