2

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

4

3 回答 3

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 进行很多漂亮的操作,请参阅本指南以获取参考。rpm-philosophy-multi-architecture 的
一般参考。

于 2012-12-04T15:34:29.910 回答
1

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

通常一个 RPM 文件名包含所有这些细节。根据 RPM 文件命名约定,文件名必须如下:

name-version-release.architecture.rpm

请查看此链接了解详情。

于 2010-06-17T12:02:00.853 回答
1

您可以使用rpm -q从 RPM 中的 OS 标签获取 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 不区分操作系统的版本。你只会看到“linux”、“aix”、“darwin”等等——而不是“centos-6”。

于 2016-09-15T00:28:04.763 回答