如何找出我正在运行的发行版?

fuu*_*ind 6 linux-distributions aptitude

我已被分配在服务器上执行一项工作,但不确定正在运行什么 dist。/proc/version告诉我:

Linux version 2.6.18-194.26.1.el5.028stab079.2 (root@rhel5-build-x64) (gcc version 4.1.2 20080704 (Red Hat 4.1.2-46)) #1 SMP Fri Dec 17 19:25:15 MSK 2010

所以这让我想到了 Red Hat Enterprise Linux 5,但后来我尝试安装一些软件包并发现安装了 aptitude 和 apt-get 而不是 yum。我认为 aptitude 和 apt-get 属于 debian 世界。所以现在我想知道,这台服务器上运行的是什么发行版?

Mar*_*iae 7

Linux 发行版在 /etc 目录中保存了一个发布文件。不幸的是,并非所有发行版都相同,因此最简单的方法是运行

 ls -d /etc/* | grep release 
Run Code Online (Sandbox Code Playgroud)

例如,在我的 Arch Linux 系统上,这会产生以下输出:

 # ls -d /etc/* | grep release
 /etc/arch-release
 /etc/os-release
Run Code Online (Sandbox Code Playgroud)

文件 arch-release 是空的,但 os-release 有相关信息。在 Kubuntu 上,insted,

 # ls -d /etc/* | grep release
 /etc/lsb-release
 /etc/os-release
Run Code Online (Sandbox Code Playgroud)

abd here lsb-release 有相关信息。另一种可能正在运行

 ls -d /etc/* | grep version
Run Code Online (Sandbox Code Playgroud)

如果缺少发布文件,它将携带等效信息。

编辑:

刚刚意识到可以更简洁地获得相同的信息

  cat /etc/*{release,version}
Run Code Online (Sandbox Code Playgroud)