确定操作系统版本的常用方法似乎是查看
/etc/*-release file *这将是操作系统的特定版本所属的家庭。但在OEL系统中,存在以下文件,它们似乎都返回了有效的版本,在这种情况下,是否有确定确定OS发行版本详细信息的方法:
cat /etc/redhat-release
Red Hat Enterprise Linux Server release 5.8 (Tikanga)
cat /etc/enterprise-release
Enterprise Linux Enterprise Linux Server release 5.8 (Carthage)
cat /etc/oracle-release
Oracle Linux Server release 5.8
cat /etc/*release*
Enterprise Linux Enterprise Linux Server release 5.8 (Carthage)
Oracle Linux Server release 5.8
Red Hat Enterprise Linux Server release 5.8 (Tikanga)仅在上述文件不返回有效值时才使用下面提到的替代方法:
lsb_release -a returns the same output as returned by enterprise-release 更新1:执行上下文
将/etc/*- solution文件作为编程解决方案的一部分进行检查,由具有以下值的虚拟文件提供*的值:
亚洲,企业,曼德拉克,红帽,UnitedLinux,Suse,SuSE
根据上述场景中出现的顺序而定,因为企业首先出现/etc/ enterprise - redhat文件,以查找OS版本,以防在使用enterprise /etc/redhat之前出现红帽命令。
这似乎不是一个可行的解决方案,因此寻求其他更明确的方法来确定操作系统的版本。
发布于 2014-09-02 08:17:17
lsb_release -a请参阅Linux标准基础文档
根据你的问题,你提到这是一个替代方案,以防上述情况不起作用。您应该首先使用lsb_release,因为它是标准的。
它还应该返回比enterprise-release命令更多的信息,特别是LSB版本行(例如,lsb_release -v)。
发布于 2014-09-02 11:24:39
没有能够跨所有主要发行版工作的确定/标准方法。您将不得不使用额外的代码来尽您所知(根据您如何理解每个发行版,使这些信息可用)。
如果这是用于安装脚本,则给用户手动指定它的选项。如果你想做一个超级好的人,试着自己弄清楚,只需要得到确认。
如果这是一个将要检查的程序(因此需要查看不同的位置来找到它们),那么提供配置文件或命令行选项的选项来指定使用哪个发行版。
提供的其他解决方案是很棒的,但是您将依赖于可能并非无处不在的代码/包(尤其是facter,它是迄今为止收集环境信息的最完整的工具)。
发布于 2017-10-13 15:35:39
uname -a (列印所有资料)
uname -r (打印内核名称)
cat /etc/issue
cat /etc/redhat-release
lsb_release –a
tail /etc/redhat-releashttps://serverfault.com/questions/625621
复制相似问题