Answers:
恐怕没有标准化的方法可以检查它。每个发行版似乎都有其发布其版本的方式。您可以尝试:cat /etc/*release,它可能在某些系统上工作。另外,/etc/issue可能包含发行信息。
lsb_release -a 应该适用于大多数发行版。
lsb_release -i -s我需要获取供应商ID即可在大多数系统上运行。不幸的是,lsb_release不是我的小型/嵌入式系统上基本安装的一部分,因此必须首先进行测试。
lsb-release程序包中,的确不是默认值。不过,缺少它是Debian的有力指标。:-)
lsb_release一些新的RHEL6衍生产品(例如Scientific Linux 6.1或Fedora Linux 16)上不存在
ame -o
几乎在每个Linux系统上都可以找到uname二进制文件,并且-o标志可以最好地将操作系统还给您。lsb_release也可以工作,但并不普遍。
uname -o,然后如果只是GNU / Linux回来,运行lsb_release -i -s似乎可以在我的所有系统上运行。
如果在上使用该-a标志uname,则该标志在大多数情况下都可以工作。例如,在我当前的Ubuntu计算机上uname -a打印:
Linux clark-laptop 2.6.35-25-generic #43-Ubuntu SMP Thu Jan 6 22:25:21 UTC 2011 x86_64 GNU/Linux
cat /etc/*release,/etc/issue给我我需要的确切信息。