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

时间:2009-12-08 05:07:07

标签: linux version distribution

已移至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 Fri Aug 14 15:48:17 MDT 2009 i686 i686 i386 GNU / Linux 我怎么知道这是Ubuntu / Debian / Fedora或Redhat?

我使用/etc/init.d/serviced restart重新启动服务,似乎不是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
[~]$

6 个答案:

答案 0 :(得分:36)

试试这个:

cat /etc/*-release

您也可以尝试使用/ etc / * - version

答案 1 :(得分:20)

如果您有lsb_release命令,

lsb_release -a

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

lsb_release位于Linux Standard Base Core Specification

编辑:看起来你在Red Hat系统上。在uname输出suggests so上进行Google搜索。当然,这不是程序化的!

答案 2 :(得分:11)

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

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

正如阿洛克所说,看起来你是在一个相当古老(或极其稀疏)的系统。我不认为这是一个你可以(可靠地)用几行代码确定的情况。

如果所有其他方法都失败了,请检查正在使用的包管理器类型(apt / rpm / others),检查/etc/init.d是否是符号链接(rpm / RH发行版)或目录(基于debian的发行版)..你有一个非常好的线索,关于你可以期望在根文件系统中出现的结构。

不能取悦所有人:)

答案 3 :(得分:7)

似乎这里有一些信息:

> cat /etc/issue
Welcome to SUSE LINUX Enterprise Server 9 (i586) - Kernel \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

答案 4 :(得分:2)

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

一个可以帮助你的功能: Shell script

答案 5 :(得分:1)

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

cat  /etc/redhat_release
cat /etc/debian_version

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

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