如何知道我正在使用哪个Linux发行版?

移动到https://superuser.com/questions/80251/how-to-know-which-linux-distribution-im-using

如何知道我正在使用哪个Linux发行版?

uname -a给出Linux xxxxxx.net 2.6.9-42.0.3.EL.wh1smp#1 SMP周五8月14日15:48:17 MDT 2009 i686 i686 i386 GNU / Linux我怎样才能知道这是Ubuntu / Debian / Fedora或红帽?

我使用/etc/init.d/serviced restart来重新启动serevices,看起来不是Redhat家族

更新:

[~]$ cat /etc/issue cat: /etc/issue: No such file or directory [~]$ cat /etc/issue.net cat: /etc/issue.net: No such file or directory [~]$ lsb_release -a -sh: lsb_release: command not found [~]$ cat /etc/*-release cat: /etc/*-release: No such file or directory [~]$ cat /etc/*-version cat: /etc/*-version: No such file or directory [~]$ cat /etc/*release cat: /etc/*release: No such file or directory [~]$ cat /etc/*_release cat: /etc/*_release: No such file or directory [~]$ cat /etc/*version cat: /etc/*version: No such file or directory [~]$ 

尝试这个:

 cat /etc/*-release 

你也可以尝试/ etc / * – 版本

如果你有lsb_release命令,

 lsb_release -a 

会告诉你(或者只是使用lsb_release -i )。

lsb_releaseLinux Standard Base Core Specification中

编辑 :看起来像你在一个红帽系统。 谷歌搜索你的uname输出建议如此 。 当然,这不是程序化的!

/ etc / issue或/etc/issue.net给出了一个很好的线索。 较新的发行版提供了/ etc / lsb-release,使得更容易确定确切的字符串,例如发行版名称/主要/次要版本/网站等。

在没有/ etc / lsb-release的情况下,它更加困难,因此创建了lsb-release。

正如Alok所说,看起来你正处于一个相当古老的(或非常稀少的)系统。 我不认为这是一个你可以(可靠地)用几行代码进行判断的情况。

如果一切都失败了,请检查一下使用哪种包管理器(apt / rpm / others),检查/etc/init.d是一个符号链接(rpm / RH发行版)还是一个目录(基于debian的发行版)..而且你对于根文件系统中可能存在的结构有很好的线索。

不能请大家:)

似乎这里有一些信息:

 > cat /etc/issue Welcome to SUSE LINUX Enterprise server 9 (i586) - coreel \r (\l). > uname -a Linux boxname 2.6.5-7.244-smp #1 SMP Mon Dec 12 18:32:25 UTC 2005 i686 athlon i386 GNU/Linux > cat /etc/*-release SUSE LINUX Enterprise server 9 (i586) VERSION = 9 PATCHLEVEL = 3 

列出最常见的发行版的发行文件名: 发行文件

还有一个可能帮助你的函数: Shell脚本

在这种情况下,EL代表Enterprise Linux,所以我认为RedHat或克隆(如CentOS)。 我不知道一个很好的方式来编程地找出你在做什么发行。 每个人都有一些不同的线索。

 cat /etc/redhat_release cat /etc/debian_version 

是一个好的开始。 (请注意,Ubuntu从Debian中/etc/debian_version更改时不修改/etc/debian_version ,所以我的Ubuntu Karmic系统在debian_version中挤压/ sid。)

编辑:忘了LSB。 好电话,Tim Post和Alok。 LSB的全部意义在于给予独立于发行的方式来做事。