我们有一个通过RPM分发的产品。我们创建SUSE SLES10 SP1 RPM和RedHat 5.5 RPM。两者之间存在差异,如果您在RedHat机器上安装SUSE RPM,事情将无法正常工作(通常很神秘),反之亦然。
有没有办法防止在SUSE系统上安装RedHay RPM,反之亦然?我用谷歌搜索了一下,找到了http://www.rpm.org/max-rpm/ch-rpm-multi.html,但这里的所有约束似乎都是基于命令uname的输出,该命令不会告诉您运行的是RedHat还是Suse。操作系统是Linux,并且架构是相同的。
我们有想法在安装脚本中添加可以在/etc/issue文件中查找“Red Hat”或“SUSE”的检查,但我真的希望有一个比这个更好的选项。
发布于 2011-10-01 08:50:43
因为您只想检测RedHat,所以需要查找是否存在一个名为/etc/redhat-release的文件。如果它在那里,则说明您正在安装某个版本的RedHat。
发布于 2011-10-01 15:04:14
您可以在特定于redhat的包上添加依赖项(尽管SuSE可能会提供一个版本)。
您还可以为支持的操作系统设置%pre check /etc/redhat-release (或lsb-release等)。
在%pre中执行任何预安装检查,而不是%post,否则它们将在安装程序包后发生(%post不会真正有效地失败)
发布于 2013-06-26 04:16:53
此外,还可以检查是否在等级库文件中定义了%{rhel}宏。
https://stackoverflow.com/questions/7617357
复制相似问题