LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1614|回复: 16

如何获得Linux发行版本信息

[复制链接]
发表于 2006-9-26 22:56:50 | 显示全部楼层 |阅读模式
请问, 如何自动获得Linux发行版本信息, 也就是说,这个Linux版本是SuSe还是RH,还是Fedora等等. 用uname -a不能够获得这个信息,至少我在SuSe上得不到这个信息。

先谢谢了。
发表于 2006-9-27 02:10:45 | 显示全部楼层
汗,这种东东用得着钻牛角尖吗,都知道是suse了

一般是类似/etc/redhat-release
回复 支持 反对

使用道具 举报

发表于 2006-9-27 12:36:31 | 显示全部楼层
楼主的问题我也想知道,比如碰到已启动的Linux,无图形界面或不是主流图形界面的一时是看不出版本,而不同的版本配置的文件放的地方有所不同,有什么办法可以短时间看出是什么发行版。
回复 支持 反对

使用道具 举报

发表于 2006-9-27 13:10:14 | 显示全部楼层
你退出去重新 login一下就看到了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-9-27 15:38:43 | 显示全部楼层
Post by dato
汗,这种东东用得着钻牛角尖吗,都知道是suse了

一般是类似/etc/redhat-release


我是要程序自动识别Linux发行版本信息,例如运行一个script程序,可能运行到不同的Linux发行版本上,需要针对不同的Linux发行版本执行不同的处理,因此需要首先判断Linux发行版本。如果是个人自己凭眼睛看的话,不是瞎子应该都看得到,再问这问题那不是傻子吗?我上面的SuSe只是举一个例子。

不是所有的Linux发行版本都有类似/etc/redhat-release的文件,SuSe就没有/etc/suse-release。因此我想找一个能够用程序自动判断各种版本的方法。
回复 支持 反对

使用道具 举报

发表于 2006-9-27 16:29:17 | 显示全部楼层
那是不可能的。
回复 支持 反对

使用道具 举报

发表于 2006-9-27 17:53:25 | 显示全部楼层
這是我cat /proc/version的信息:
Linux version 2.6.17-2-686 (Debian 2.6.17-8) (waldi@debian.org) (gcc version 4)
不知道對樓主有沒用。

不太明白樓主是否有沒有得到所需要的。
回复 支持 反对

使用道具 举报

发表于 2006-9-27 19:34:05 | 显示全部楼层
cat /proc/version
我的是fedoral
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-9-27 20:39:49 | 显示全部楼层
感谢7楼的回答. 我这里SuSe 10.1的结果显示是:
Linux version 2.6.16.21-0.21-default (geeko@buildhost) (gcc version 4.1.0 (SUSE Linux)) #1 Tue Aug 29 16:42:05 UTC 2006

虽然其中也有SuSe标记,但这是SuSe gcc4.1相关的, 并不代表发行版本标志。这里代表版本的关键词也许是2.6.16.21-0.21-default,它也许就是SuSe版本的指纹,这个关键词也可以由uname -r获得。

但不同的发行版本,/proc/version 这里的显示不知道如何。从7楼,8楼看,Debian和fedoral可以由此分辨,另外的版本例如RH等不知道结果如何。

从目前看, 各个版本肯定有他们不同的版本指纹, 当然可以根据他们的特殊指纹来获取发行版本的信息. 我想最理想的情况就是检测一个,或者尽量少的几个文件, 或者执行某个功能, 各个版本的指纹就可以找到.
回复 支持 反对

使用道具 举报

发表于 2006-9-27 20:43:51 | 显示全部楼层
无放诸四海皆准的办法,只要满足当时需求即可。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表