在Linux裡,大家所熟知的檢查kernel版本指令是 uname –r:

[jackieyeh@dhcppc15 ~]$ uname -r
2.6.18-6-686
[jackieyeh@dhcppc15 ~]$

 

但是如果你想知道它是 Fedora, Debian, 還是Ubuntu 等等的 Linux distribution version,怎麼辦呢?

整理了一下網路上大家提供的方法,不同的distribution略有不同,所以簡單試一下幾個指令應該就可以得到答案

  • 1. cat /proc/version

這裡得到的結果,應該類似於 uname ,只是更詳細些。各個版本適用,但是不一定可以得到你要的東西,只能說可以得到一些『線索』。例舉 Fedora 與 Debian:

Fedora:

[jackieyeh@vega ~]$ cat /proc/version
Linux version 2.6.23.17-88.fc7 (mockbuild@xenbuilder2.fedora.redhat.com) (gcc version 4.1.2 20070925 (Red Hat 4.1.2-27)) #1 SMP Thu May 15 00:35:10 EDT 2008
[jackieyeh@vega ~]$

Debian:

packetship:~# cat /proc/version
Linux version 2.6.18-6-686 (Debian 2.6.18.dfsg.1-24etch2) (dannf@debian.org) (gcc version 4.1.2 20061115 (prerelease) (Debian 4.1.1-21)) #1 SMP Tue May 5 00:40:20 UTC 2009
packetship:~#

 

  • 2. cat /etc/*-release

這個命令在 Fedora 與Ubuntu都是正確的。例舉 Fedora 與 Debian:

Fedora:

[jackieyeh@vega src]$ cat /etc/*-release
Fedora release 7 (Moonshine)
Fedora release 7 (Moonshine)
[jackieyeh@vega src]$

 

  • 3. cat /etc/issue

因為 /etc/issue 是Linux的標準檔案(可參考鳥哥的說明),所以這個檔案一定存在,一般系統預設應該都會寫出Linux distribution。缺點是這個檔案有可能被系統管理者修改過。例舉 Fedora 與 Debian:

Fedora:

[jackieyeh@vega ~]$ cat /etc/issue
Fedora release 7 (Moonshine)
Kernel \r on an \m

[jackieyeh@vega ~]$

 

Debian:

packetship:~# cat /etc/issue
Debian GNU/Linux 4.0 \n \l

packetship:~#

 

  • 4. cat /etc/debian_version

很明顯,這一定是Debian 專屬的。

Debian:

packetship:~# cat /etc/debian_version
4.0
packetship:~#

 

結論: 一般來說,利用 cat /etc/issue 應該可以得到答案,而且各個distribution通用。只是這個檔案可能被管理者修改,當無法從這邊得到答案時,再尋求其他方法。

創作者介紹

真實旅程

dragonspring 發表在 痞客邦 PIXNET 留言(0) 人氣()