如何检测Linux发行版和版本?

如何检测Linux发行版和版本?

我想检测Linux发行版和版本。

我用我最喜欢的搜索引擎搜索并发现了lsb_release

不幸的是,这个工具默认没有安装。

我想避免lsb_release先安装。

有没有更简单的方法以便携的方式检测 Linux 发行版和版本?

我说的“可移植”是指不同类型的 Linux 发行版。不是 *BSD 或 Windows。

答案1

答案2

选一个...

cat /etc/issue
source /etc/os-release && echo "$NAME $VERSION"
cat /etc/os-release
uname -a

我猜想大多数现代和符合 LSB 的发行版都应该提供 /etc/os-release,但像往常一样:它很复杂!;-)

一些进一步的阅读材料:

https://en.wikipedia.org/wiki/Linux_Standard_Base

http://0pointer.de/blog/projects/os-release.html

答案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"
  }
}

相关内容