“/etc/issue”对于所有 Linux 发行版都是通用的吗?

“/etc/issue”对于所有 Linux 发行版都是通用的吗?

我正在尝试在 bash 脚本中创建操作系统检测可移植函数,

所以我只是想知道,该文件"/etc/issue"对于所有 Linux 风格都是通用的?

答案1

是的,这是跨发行版的标准文件。它是大多数发行版(Fedora/CentOS/RHEL/Debian/Ubuntu 等)的标准配置。

您可以阅读有关它的更多信息man issue或其关联文件/etc/issue.net。您可以看到issues.net 手册页了解更多详细信息以及如何将宏包含到这两个文件中。

您还可以在Linux 从头开始项目,使用 /etc/issue 自定义您的登录

答案2

除了 slm 的答案之外,值得记住的是,任何人(具有 root 访问权限)都可以编辑/etc/issue.一些组织可能会这样做是为了提供登录前警告或免责声明,而其他组织可能出于安全原因删除所有发行版标识(无论这些措施的有效性如何)。

因此,虽然 /etc/issue 可能几乎一直存在,但内容不一定适合检测操作系统(如您所说,或更可能是 Linux 发行版)。

答案3

@EightBitTony 的答案是正确的。而且它在 Fedora 23 上默认不存在。

不是依靠它来识别随机系统。我会使用/etc/system-releaseor/etc/os-release但不确定它有多少通用性。

阅读一点内容/etc/os-release是附带的systemd,所以我想它不适用于古老的发行版(或任何讨厌的发行版systemd)。找不到有关的权威信息/etc/system-release。我想如果兼容性很重要,就必须检查许多文件。或者/etc/os-release如果边缘情况不重要则使用。

相关内容