此问题已在此处有答案:
Creating *.rpm file based on *.deb file(1个答案)
6天前关闭
我有一个在Debian上运行的项目,使用了Debian仓库提供的许多软件包。
由于需求,我已经考虑将项目移植到CentOS,但发现我需要的许多包完全缺失-至少有10个依赖项必须在用户机器上安装时手动编译。
我的问题是,为用户的机器创建安装程序的最佳方法是什么?我应该使用automake工具(使用标准的./configure,make,make install)来编译所需的库,还是这是一种非标准的方法。请注意,我的应用程序实际上并不需要编译,因为它是用Python编写的,所以当你没有编译自己的应用程序时,做一个“make”会不会很奇怪?
configure脚本是否应该只警告用户包X丢失,然后让他们处理其余的事情?
我是否应该为每个所需的库手动运行几次pkg-config来运行自己的依赖检查器,如果缺少某些内容,则退出?
我对这个很陌生,所以任何让我朝着正确方向前进的提示都很感激。
编辑:我熟悉红帽基础发行版的RPM和Yum,但CentOS缺少许多我需要的多媒体包。我的一个包依赖的例子是“liquidsoap”,这是一个可编程的音频引擎:http://savonet.sourceforge.net/
这在Debian上可用,但在Redhat/Centos上不可用
2条答案
按热度按时间i1icjdpr1#
请参阅CentOS包管理的此链接。
http://wiki.centos.org/PackageManagement/Yum
CentOS是基于redhat的,默认情况下不使用.deb包。然而,apt包管理已经被移植到了很多平台上,你可以使用centOS的移植
如果你使用YUM,你需要的任何软件包都会在你的应用程序中出现,因为redhat发行版需要的东西和其他发行版一样。
**编辑:**从评论中获取详细信息
在目标平台上不可用的包要么必须在目标平台上构建(可能作为端口),然后在移植的包中发布(在本例中为YUM),要么需要修改代码并派生以使用目标平台上已经可用的包。选择取决于哪一种情况更糟,或者考虑到您的限制,哪一种情况甚至是可能的。
relj7zay2#
我认为
alien
实用程序可以做你想做的事情。(虽然这是一个很老的问题)
https://unixcop.com/how-to-install-deb-on-redhat-centos-rpm-on-debian-ubuntu-with-alien/