在 Redhat 上安装 apt-get

在 Redhat 上安装 apt-get

apt-getredhat上可以安装吗?我的印象是你不能,但我只是想确定一下。如果可能的话,安装各种程序时,生活会容易得多,特别是因为yum实际上没有看起来那么多的可用程序。

这是我尝试过的(仅供记录):

我一直在尝试安装 apt-get 以下这些说明,但 redhat 没有 dpkg,所以我回到了方 1。

我问这个问题是因为我在安装 pidgin (pidgin-sipe) 插件时遇到一些困难,因为yum install libglib2.0-dev它失败了,这对我来说证明拥有 apt-get 可能是一项值得的投资。

有什么建议么?

答案1

长话短说 apt通常不能在基于 Enterprise Linux 的发行版中开箱即用,而且您也不会找到很多适合您的存储库。

如果您在 Red Hat 上找不到所需的软件,那是因为您的存储库没有这些软件包。您想要研究的是添加不同的存储库。对于 Red Hat Enterprise Linux,通常添加的第一个存储库是Enterprise Linux 的额外软件包 (EPEL)托管于 Fedora 项目。您可能会在该存储库中找到很多您缺少的内容。

更多信息:

虽然当然可以apt在 Enterprise Linux 系统上安装包管理实用程序,但这并不意味着您能够一旦你完成了任何事情。

这里的问题是该apt实用程序是一个与软件包的已发布目录一起使用的程序(存储库是我的常用名称,但它可能会有所不同)。Yumrpmdnfemerge等都是不同 *NIX 发行版上执行相同操作的实用程序。但他们本身不提供软件,他们被配置为查询存储库并从中提供软件包。另一个问题是,您在网上找到的常见存储库通常是在创建时配置为与它们为其提供软件的操作系统的本机包管理实用程序一起使用的。您可以apt在 RHEL7 系统上进行配置以查询 Debian 存储库,但由于 Debian 和 Red Hat 构建、布局、结构和配置其操作系统的方式不同,该软件可能与您的系统不兼容。这就像尝试在 Linux 系统上安装 Mac OS X 软件一样。它们都是基于 *NIX 技术的,但它们的功能差异很大。

答案2

您不需要仅仅因为某个包似乎丢失就更换您的包管理工具。

每个包管理工具都与其发行版紧密集成,这与 CentOS 没有什么不同。apt与 Debian 及其衍生产品很好地集成,即使它们(Debian、Ubuntu、Mint、Knoppix...)使用相同的包管理工具,它们的包也使用特定的包版本进行链接和配置,这些版本在某些情况下只能工作具有该发行版具有的特定依赖性。

您需要安装glib特定于类似 redhat 的操作系统的开发包:

yum install glib2-devel.x86_64

这里需要注意的是,您必须找到一个等效的包,它在您的发行版上可以有不同的名称。了解如何在您正在使用的发行版上搜索软件包是值得花时间学习的知识。

我怎么发现这是这个名字:

[root@ftp ~]# yum search glib2| grep dev
glib2-devel.i686 : A library of handy utility functions
glib2-devel.x86_64 : A library of handy utility functions
spice-glib-devel.i686 : Development files to build Glib2 applications with
spice-glib-devel.x86_64 : Development files to build Glib2 applications with

并显示包信息,您可以看到它似乎是相同的库开发包:

[root@ftp ~]# yum info glib2-devel.x86_64
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: centos.brisanet.com.br
 * extras: centos.brisanet.com.br
 * rpmforge-extras: apt.sw.be
 * updates: centos.brisanet.com.br
Available Packages
Name        : glib2-devel
Arch        : x86_64
Version     : 2.28.8
Release     : 9.el6
Size        : 300 k
Repo        : base
Summary     : A library of handy utility functions
URL         : http://www.gtk.org
License     : LGPLv2+
Description : The glib2-devel package includes the header files for the GLib library.

另外,如果您不熟悉软件包搜索,这个在线工具可以帮助您在最常见的 Linux 发行版上查找软件包:Linux 软件包搜索

答案3

我问这个问题是因为我在安装 pidgin (pidgin-sipe) 插件时遇到一些困难,因为 yum install libglib2.0-dev 失败了,这对我来说证明 apt-get 可能是一项值得的投资。

简短的回答:不完全是,不。

有一个aptfor端口rpm,即apt-rpm。直到最近它才可用,但据我所知,Red Hat 及其衍生产品不支持它,所以现在可能不支持它。自 2008 年以来,发展似乎陷入停滞,前景不容乐观。另外,apt-rpm不能与 yum 存储库一起使用,因此除非有人构建了rpm可以与apt.

还有一个变体叫做apt4rpm由 Connectiva 创建,但似乎比 apt-rpm 使用更少。

在Red Hat系统上安装Debian自己的系统apt是浪费时间,即使安装成功。dpkg适用于红帽,或者至少以前是。但我认为尝试使用dpkg和来建立一个类似 Debian 的并行系统apt是完全不可能的。

我记得apt-rpm2006 年左右在 Red Hat 系统上使用它进行基本的系统管理。如果没记错的话,那是 CentOS 安装。那时它仍然运作得很好。但现在是 2017 年了,我的猜测是apt-rpm现在实际上已经死了。

无论如何,我怀疑apt在红帽系统上使用它,即使它可用且功能齐全,也会对您的体验产生很大影响。 Debian 及其衍生品之所以apt能运行良好,并不是因为它apt拥有什么神奇的品质。这主要是因为 Debian 著名的质量控制,尽管 Debian 包管理工具(dpkgapt)可以因良好的设计和实现而获得一些荣誉。

如果您想要“apt 体验”,请使用 Debian。

答案4

正如其他人在上面的答案中所说,发行版及其包管理是紧密结合的。如果您需要在基于 RPM 的发行版中安装 Debian 或 Ubuntu 存储库中的内容,我相信您最好的选择是设置相应的 chroot(通过 debootstrap)并在那里安装您需要的任何内容。然后你基本上就会有一个 Debian 与你的发行版“一起”运行。

然后,您可以设置符号链接和/或脚本来运行从 chroot 安装的任何应用程序 - 这也适用于图形应用程序。我一直在使用各种应用程序出于沙箱原因这样做,但你的也是一个合理的原因。 Docker 容器中的 Debian 是一个类似的选项,您可以尝试 - 基本上是一个更好的沙盒 chroot。

相关内容