我对Red和/或Fedora中的RPM(和/或其他发行版?)有点困惑。我当然可以接受64位RPM是64位OS‘OS和32位32位OS’OS需要的,但是.如果我有一个RPM ..。OpenOffice.org,该RPM对我的任何RPM有效吗?接受操作系统吗?还是我需要寻找一个专门为我正在使用的操作系统量身定制的RPM?
发布于 2010-10-29 12:07:12
和往常一样:答案取决于。RPM(或基本上任何给定的二进制包容器)都包含可运行的代码。大多数情况下,代码依赖于某些库或程序,例如,包指定它依赖于版本libA 1.0中的库>=。
现在使用两个不同的发行版,它们都使用RPM打包格式。假设我们调用了libA-1.0包,因此您拥有的RPM指定它依赖于libA。第二个二进制发行版有一个不同的naimg方案,并以language作为包的前缀,因此它被命名为language-libA。即使这两个libA包的内容是相同的,包管理器也不能知道这一点。当然,您可以强制RPM只是安装包,而不查看依赖关系,但这通常只是要求惩罚。
如果这两个发行版是相关的,甚至是基于彼此的,那么问题就不那么严重了:例如,Ubuntu基于debian,因此共享许多命名约定和包,这样您就可以将debian的包构建转移到Ubuntu盒。
它还在很大程度上取决于包是用什么语言编写的:如果您有类似于Python的解释,那么包基本上只是一堆文本文件,为不同的发行版接受包通常很容易处理,但是如果它是用C++编写的,并且取决于,而且这两个发行版都使用不同版本的核心库或编译器,那么您基本上就倒霉了。
发布于 2010-10-29 12:27:06
此外,坦特的回答.它基本上取决于本质上是带有元数据的zip文件的二进制内容是否被正确链接,如果它们没有正确地链接,它们将不得不重新插入或其他方面将无法工作。有些RPMS可能只包含不需要链接的perl模块,所以只要它们在正确的位置,它们就能工作。然而,IIRC,有不止一种RPM格式,我相信OpenSuse的RPM格式与Red Hats略有不同,因此不能在Fedora上工作。显然,虽然Fedora包不太可能在Red上工作,因为库版本是如此不同,而且链接将关闭。
总之,不,这是行不通的,不要费心去尝试。只有通用的RPM,如为flash提供的RPM,oracle (您将注意到oracle需要重新调整)、avg等,可能在其他地方工作。
https://unix.stackexchange.com/questions/3602
复制相似问题