Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux rpm作为依赖项安装不同的包_Linux_Centos_Rpm_Packaging - Fatal编程技术网

Linux rpm作为依赖项安装不同的包

Linux rpm作为依赖项安装不同的包,linux,centos,rpm,packaging,Linux,Centos,Rpm,Packaging,我已经从我们的项目中创建了rpm包。在这个包中只有二进制文件和脚本,二进制文件依赖于特定的内核版本(3.10.0-327.el7)。因此,我将其添加到rpm规范文件中: Requires: kernel = 3.10.0-327.el7 现在它大部分时间都可以正常工作,但是如果目标机器上安装了kernel-3.10.0-327.4.4.el7(注意4.4.el7),而不是kernel-3.10.0-327.el7,那么yum不会安装kernel-3.10.0-327.el7,而是安

我已经从我们的项目中创建了rpm包。在这个包中只有二进制文件和脚本,二进制文件依赖于特定的内核版本(3.10.0-327.el7)。因此,我将其添加到rpm规范文件中:

Requires:       kernel = 3.10.0-327.el7
现在它大部分时间都可以正常工作,但是如果目标机器上安装了kernel-3.10.0-327.4.4.el7(注意4.4.el7),而不是kernel-3.10.0-327.el7,那么yum不会安装kernel-3.10.0-327.el7,而是安装kernel-debug-3.10.0-327.el7,这基本上破坏了我的软件包

有没有一种方法可以在rpm规范文件中指定我不想要内核开发,但我想要的是作为依赖项安装的特定内核


非常感谢。

我知道这是老问题,但我只是偶然发现了同样的问题。希望能对其他人有所帮助。为了解决这个问题,我可以按如下方式设置行的格式

Requires:       kernel-%{_target_cpu} = 3.10.0-693.el7

(不同的版本,相同的问题。)我在kmods v1标准的模板中找到了这个解决方案。这里有文档记录:

为什么这会破坏您的软件包?这不是一个普通的内核,内置了额外的调试信息吗?那它不适合你的包裹需要什么呢?它缺少文件吗?我认为包只是调试符号,但是我的包依赖于实际的内核包,所以它不会启动。另外,如果我想删除我的包,那么yum会写几个关于坏包的错误。内核调试包声称是启用调试的内核。您可以自己查看
yum-info-kernel-debug
。我没问你是怎么想的。我问是什么打破了它。您的应用程序是否无法运行?它会抛出错误吗?当您删除它时,会出现哪些“断包”错误?什么是
rpm-qpi--提供$your_package.rpm
输出?应用程序本身很好,主要问题是yum安装了不同的依赖项。我特别添加了Requires:kernel=3.10.0-327.el7,但yum不知何故安装了kernel调试包,这不是我想要的。现在,这种情况只发生在一种情况下:有通过更新安装的kernel-3.10.0-327.4.4.el7,只有这样它才能安装kernel debug包,如果目标机器上没有安装通过更新安装的kernel(只有kernel-3.10.0-229.el7),那么yum才能正确安装kernel-3.10.0-327.el7。安装了更新的内核后,它会在删除包时导致问题。要指定问题:我已使用yum安装了包,并且它还安装了kernel debug,然后我可以删除我的包,但是当我要删除内核调试并在之后仅安装内核时,它会因依赖关系而失败。另外,尝试在之后只安装内核会导致yum无所事事。