在Redhat上安装apt-get


9

是否可以apt-get在redhat 上安装?我的印象是您做不到,但我只是想确定一下。如果可能的话,在安装各种程序时,生活会更加轻松,尤其是因为yum实际上似乎没有那么多的可用程序。

这是我尝试过的内容(仅作记录):

我一直在尝试按照这些说明安装apt-get 但是redhat没有dpkg,所以我回到第1步。

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

有什么建议么?


3
供以后参考,我也发现它也可以yum install pidgin-sipe工作。原来我根本不需要手动安装,但是无论如何,这是一次很棒的学习经历。
ajsmart

Answers:


10

您不需要仅仅因为缺少软件包而更换软件包管理工具。

每个软件包管理工具都与其发行版紧密集成,而CentOS也不例外。apt与Debian及其衍生产品很好地集成在一起,即使它们(Debian,Ubuntu,Mint,Knoppix ...)使用相同的软件包管理工具,它们的软件包也已链接并配置了特定的软件包版本,在某些情况下只能使用与该分发具有的特定依赖性。

您需要为glib类似Redhat的操作系统安装特定的dev软件包:

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

并显示软件包信息,您可以看到它似乎与库dev软件包相同:

[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软件包搜索


我经常遇到这个问题,但是是否有等同的一切?我的意思是,如果存储库不同,则对我而言意味着每个存储区都有彼此没有的程序/功能。
ajsmart

1
最常见的CLI程序包(gliblinux-utilsiputils2dos-utilsnmaptcpdump和许多更多)和图形界面被包装上的分布,所以是的,机会是很大的,如果你有可用的一个包Debian,你可能有它CentOS或它的社区回购;)

事实是,不同的Linux发行版具有不同的优先级,这在可用的软件包中得到了反映。如果这是您经常遇到的问题,则可能是其他Linux发行版的优先级与您的优先级更高。distrowatch.com可能有助于进行比较。
bgvaughan

但是在这个特定问题的情况下,glib您可以在大多数发行版中找到与开发相关的东西……

@bgvaughan我会选择其他发行版,但这与工作有关。可悲的是,我真的没有选择。唯一受支持的企业版Linux是RHEL,但是如果我有选择的话,我会选择Ubuntu或其衍生版本之一。
ajsmart

12

apt对于基于Enterprise Linux的发行版,TL; DR通常无法立即使用,无论如何您都不会找到许多适合您的存储库。

如果您在Red Hat上找不到所需的软件时遇到问题,这是因为您的存储库中没有软件包。您要查看的是添加不同的存储库。对于Red Hat Enterprise Linux,通常要添加的第一个存储库是Fedora项目上托管的Extra for Linux企业软件包(EPEL)。您可能会发现很多该回购中缺少的东西。

更多信息:

虽然肯定可以apt在Enterprise Linux系统上安装软件包管理实用程序,但这并不意味着您一旦完成就可以使用它进行任何操作。

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


1
因此,为澄清起见,您实际上是在说,如果我将存储库添加到了系统中,则不需要apt吗?(感谢链接!)
ajsmart

您只需要找到与发行版“等效”的软件包即可。看看我的答案@ajsmart

正确!Apt是用于拉包的工具,通常由基于Debian的发行版使用。Rpm,Yum和Dnf是Enterprise Linux使用的一系列工具。它们使用的存储库也有所不同,但这不是由于工具而是因为该存储库要为其提供软件的OS系列。祝您好运,如果您需要更多帮助,请告诉我们。
0xSheepdog

2

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

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

有一个aptfor 端口rpm,即apt-rpm。它直到最近才可用,但据我所知,Red Hat及其衍生版本不支持它,所以现在可能不是。自2008年以来,发展似乎停滞不前,这没有希望。另外,apt-rpm不能与yum存储库一起使用,因此,除非有人构建rpm了可以与一起使用的存储库,否则它就没有用apt

Connectiva 还创建了一个名为apt4rpm的变体,但它的使用似乎比apt-rpm少。

apt即使成功安装,在Red Hat系统上安装Debian自己也是浪费时间。dpkg适用于Red Hat,或者至少曾经如此。我想,但是尝试使用dpkg和建立一个类似Debian的并行系统apt将是一个完全的初学者。

我记得apt-rpm在2006年左右在Red Hat系统上进行基本系统管理。如果有内存,那就是CentOS安装。到那时,它仍然运作良好。但这是2017年,我的猜测apt-rpm是实际上已经死亡。

无论如何,我怀疑apt即使在Red Hat系统上可用并且功能正常,也会对您的体验产生很大影响。之所以能apt在Debian及其衍生产品上表现出色,并不是因为apt拥有任何神奇的品质。这主要是因为Debian的著名的质量控制,尽管Debian软件包管理工具(dpkgapt等),可以采取一些贷款,用于被精心设计和实施。

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


但这不会改变libglib2.0-dev软件包的操作需求...并且安装apt不会使软件包更改名称...仍然是apt-get install glib2-devel.x86_64,并且花在安装上的精力apt可以更好地用于搜索软件包...

关心解释下降投票吗?
Faheem Mitha

删除了downvote。您的答案的第一个版本以某种方式导致安装apt-rpm可能是一种解决方案;)

@nwildner:我看不到我暗示的地方。
Faheem Mitha

1

可以这样做,但是非常困难,通常建议不要这样做,几乎可以肯定是不必要的。

您要问的是如何在Red Hat系统上安装Debian软件包管理系统。

程序包管理系统跟踪系统中安装了哪些程序包,从而促进了程序包的安装和更新,跟踪依赖关系并避免了程序包之间的冲突。特别是由于后两个原因,不同的程序包管理系统在根本上是不兼容的。尝试同时使用两个不同的系统将在没有非常仔细的监督的情况下迅速使您的系统无法使用,因为您将有效地尝试在彼此之上安装两个不同的Linux发行版。

当映射Linux发行版的族谱时,主要的分支点是软件包管理系统的选择。两个最常见的系统是Debian软件包管理系统DPKG和Red Hat软件包管理系统RPM。“ apt-get”是使用DPKG系统的前端,它需要其余工具集才能工作;同样,“ yum”是使用RPM系统的前端。

有时可以将软件包从一个系统转换为另一个系统。Alien是执行此操作的应用程序。请注意,几乎在没有警告它不可靠的情况下几乎从未提及它。

如果您要解决的问题是要在Red Hat系统上安装特定的应用程序,那么您可能会发现使用另一个使用RPM的Linux发行版中的软件包会更好。rpmfind可以帮助您搜索。找到源RPM并在您的系统上重建它要可靠一些。这样可以减少依赖特定编译二进制文件的问题的可能性。或者,您可以通过查找应用程序的源tarball并进行编译来绕过软件包管理。

如果您要解决的问题是通常有更多可用的软件包,那么应该记住,Red Hat Enterprise Linux在设计上强调稳定性,并且其官方存储库相对有限。您可能会喜欢使用密切相关的Fedora Linux,后者在其官方存储库中有更多的软件包选择,或者您可能希望切换到Debian或其衍生版本之一。


0

就像其他人在上述答案中说的那样,发行版及其软件包管理紧密相关。如果您需要在基于RPM的发行版中从Debian或Ubuntu仓库安装东西,我相信最好的选择是设置一个相应的chroot(通过debootstrap)并在其中安装所需的任何东西。然后,您基本上将在发行版的“旁边”运行一个Debian。

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


-2

本教程似乎显示了它:http : //everyday-tech.com/apt-get-on-centos/

但是,使用较少软件包的问题是因为您没有太多的存储库,或者软件包的名称不同(例如:基于debian的apache2和基于red hat的httpd)。

您可以使用:yum search查找数据包

这是有关如何添加yum存储库的文档:

https://access.redhat.com/documentation/zh-CN/Red_Hat_Enterprise_Linux/6/html/Deployment_Guide/sec-Managing_Yum_Repositories.html

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.