linux - 为 CentOS 移植一个 debian 包到 YUM

标签 linux centos debian redhat dependency-management

我有一个在 Debian 上运行的项目,并使用了 Debian 存储库提供的许​​多软件包。

由于需求,我研究过将项目移植到 CentOS,但发现我需要的许多软件包完全缺失 - 在用户机器上安装时至少需要手动编译 10 个依赖项。

我的问题是,为用户的机器创建安装程序的最佳方法是什么?我应该使用 automake 工具(使用标准的 ./configure、make、make install)来编译所需的库,还是这是一种非标准方法。请注意,我的应用程序实际上不需要编译,因为它是用 Python 编写的,所以当您不编译自己的应用程序时执行“make”是不是很奇怪?

配置脚本是否应该只警告用户包 X 丢失,让他们处理其余的?

我是否应该通过为每个所需的库手动运行几次 pkg-config 来滚动我自己的依赖项检查程序,如果缺少某些内容则退出?

我对此很陌生,因此非常感谢任何让我朝着正确方向前进的提示。

编辑:我熟悉 red hat 基础发行版的 RPM 和 yum,但 CentOS 缺少许多我需要的多媒体包。我的包依赖项之一的示例是“liquidsoap”,它是一个可编程音频引擎:http://savonet.sourceforge.net/

这在 Debian 上可用,但在 Redhat/Centos 上不可用

最佳答案

请参阅 CentOS 软件包管理上的此链接。

http://wiki.centos.org/PackageManagement/Yum

CentOS 是基于 redhat 的,默认情况下不使用 .deb 软件包。然而,apt 包管理已移植到大量平台,您可以使用 centOS 的端口

如果您使用 YUM,您的应用程序所需的任何软件包都将在那里,因为 redhat 发行版需要与任何其他发行版相同的所有东西。

编辑:从评论中获取详细信息

目标平台上不可用的包要么必须在目标平台上构建(可能作为端口),然后在移植包(在本例中为 YUM)中发布,要么需要修改代码并派生以使用包已经在目标平台上可用。选择取决于哪个更糟,或者哪个在您的限制条件下甚至是可能的。

关于linux - 为 CentOS 移植一个 debian 包到 YUM,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12993772/

相关文章:

linux - 为什么这些共享库不同?

apache - 无法安装 Apache Apollo——找不到 "keytool"

c++ - 使用 suid 安装 debian linux 头文件后无法访问共享库

linux - Linux 中的核心转储

linux - 递归复制目录内容到所有目标目录

linux - 无法让 cv2 工作 - 即使是最基本的代码

linux - 找不到包 'libxml++-2.6'

postgresql - 从 docker 容器访问主机 postgres

java - 在 Debian Jessie 上安装 Apache Wave

linux - 为 Redis 3.2.6 调整 Linux 内核堆栈