如何确定rpm编译的操作系统版本?

时间:2010-06-17 11:25:38

标签: linux rpm

如何确定编译rpm数据包的Linux版本(发行版)?

3 个答案:

答案 0 :(得分:2)

我相信这就是你所追求的目标。

$ rpm -q gnome-speech --queryformat '%10{NAME} %20{VENDOR} %20{RELEASE} %20{ARCH}\n'
    gnome-speech Red Hat, Inc.                1.fc6                 i386

$ rpm -q hwdata --queryformat '%10{NAME} %20{VENDOR} %20{RELEASE} %20{ARCH}\n'
    hwdata       Red Hat, Inc.                1.el5               noarch

使用queryformat可以使用很多漂亮的位,请参阅this guide以获取参考。
关于rpm-philosophy-multi-architecture的一般参考。

答案 1 :(得分:1)

没有这种方法可以从文件内容中确定操作系统名称和版本。

通常,RPM文件名包含所有这些详细信息。根据RPM文件命名约定,文件名必须类似于:

name-version-release.architecture.rpm

请查看此link了解详情。

答案 2 :(得分:1)

您可以使用rpm -q从RPM中的OS标记获取操作系统数据,但是您需要指定一个查询格式,因为它不在正常的-i输出中。您可以使用-p引用特定的RPM文件进行测试。

$ rpm -q -p myfiletotest.rpm --queryformat '%10{NAME} %10{OS} %10{VERSION} %10{RELEASE} %10{ARCH}\n' mypackage linux 2.2.10 1_14.el6 x86_64

操作系统名称是此输出中的第二个字段。 RPM虽然没有区分OS的版本;你只会看到'linux','aix','darwin'等等 - 而不是'centos-6'。