移动到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_release
在Linux 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的全部意义在于给予独立于发行的方式来做事。