我想检测Linux发行版和版本。
我用我最喜欢的搜索引擎搜索并发现了lsb_release
。
不幸的是,这个工具默认没有安装。
我想避免lsb_release
先安装。
有没有更简单的方法以便携的方式检测 Linux 发行版和版本?
我说的“可移植”是指不同类型的 Linux 发行版。不是 *BSD 或 Windows。
答案1
cat /etc/*-release
应该可以
文档:https://www.freedesktop.org/software/systemd/man/os-release.html
答案2
选一个...
cat /etc/issue
source /etc/os-release && echo "$NAME $VERSION"
cat /etc/os-release
uname -a
我猜想大多数现代和符合 LSB 的发行版都应该提供 /etc/os-release,但像往常一样:它很复杂!;-)
一些进一步的阅读材料:
答案3
除了...
cat /etc/*-release
...这将告诉您内核版本和机器架构。
$ uname -a
答案4
如果你的系统中安装了 ruby gem,你可以使用 facter 安装gem install facter
;如果你安装了 puppet,你可以使用 facter
facter os
{
architecture => "x86_64",
family => "RedHat",
hardware => "x86_64",
name => "CentOS",
release => {
full => "7.2.1511",
major => "7",
minor => "2"
},
selinux => {
config_mode => "enforcing",
config_policy => "targeted",
current_mode => "permissive",
enabled => true,
enforced => false,
policy_version => "28"
}
}