Chinaunix

标题: 怎么让自己的程序知道运行在哪个linux发行版上? [打印本页]

作者: kyleqian3008    时间: 2013-08-15 08:39
标题: 怎么让自己的程序知道运行在哪个linux发行版上?
使用uname系统调用只能知道是linux和内核的版本,怎么知道程序运行在redhat 5/6, centos 5/6 或者ubuntu 12上呢?从什么地方可以获取发行版本信息啊?
谢谢。
作者: djsxut    时间: 2013-08-15 08:52
1. lsb_release -a
2. cat /etc/issue
3. cat /proc/version

我的debian都可以
作者: kyleqian3008    时间: 2013-08-15 09:40
回复 2# djsxut


    lsb_release -i -r的输出就是想要的,可惜有的Linux上没有这个命令……最保险的方法看起来还是用/etc/issue了
作者: djsxut    时间: 2013-08-15 10:04
回复 3# kyleqian3008
嗯,能用就行。

   
作者: Carl01Zhang    时间: 2013-08-15 10:48
回复 3# kyleqian3008


    ubuntu上好像没有 /proc/issue
作者: kyleqian3008    时间: 2013-08-15 11:06
回复 5# Carl01Zhang


    是/etc/issue
作者: Carl01Zhang    时间: 2013-08-15 11:09
恩,眼花了。。。
作者: forgaoqiang    时间: 2013-08-15 11:42
本帖最后由 forgaoqiang 于 2013-08-15 11:44 编辑

lsb_release 这个类似一个小工具吧 不是所有的系统上都安装了 Ubuntu一般都有~~
LSB (Linux Standard Base)~~

亲测了下 SHELL的话这样能够得到想要的效果 f1 是发型版本名称,f2是版本号
  1. cat /etc/issue | cut -d ' ' -f1,2
复制代码

作者: myworkstation    时间: 2013-08-15 11:51
回复 1# kyleqian3008


    Linux发行版太多。还没哪个配置可以唯一确定一个系统。可以参考一下这个。
http://linuxmafia.com/faq/Admin/release-files.html
作者: kyleqian3008    时间: 2013-08-15 12:59
lsb_release在ubuntu和redhat系列上都有,但是现在可能要用到麒麟Linux,测了下这个上面没有……




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2