Linux版rpm与deb格式,如何转换从RPM到DEB和DEB到RPM包使用Alien

正如我敢肯定你已经知道,有大量的安装在Linux软件的方式:利用你的发行提供的包管理系统( 资质,Yum,或zypper的 ,仅举几例),从源代码编译(虽然有点罕见的,这些天,这是唯一的方法,在Linux的早期可用),或利用水平较低等工具的dpkg或rpm分别.deb文件和.rpm的独立,预编译的软件包。

df4151fdabba88e34f46023dd2b4295f.png

使用Alien将RPM转换为DEB并将DEB转换为RPM包

在这篇文章中,我们将向您介绍外国人 ,是最常见的使用一种工具,不同的Linux软件包格式之间进行转换,以.rpm的以.deb文件 (反之亦然)。

这个工具,即使它的作者不再维护它,并在他的网站中说,外星人将永远可能仍然在实验状态,可以派上用场如果你需要一个特定类型的包,但只能找到另一种包格式的程序。

例如, 外国人救了我的一天一次的时候我一直在寻找一个喷墨打印机一个.deb文件驱动程序,找不到任何-厂家只提供了一个.rpm的包。 我安装了外星人,转换了包,并在很久之前,我能够使用我的打印机没有问题。

也就是说,我们必须澄清,这个实用程序不应该用于替换重要的系统文件和库,因为它们在不同的分布之间设置不同。 如果本文开头的建议安装方法不符合所需程序的问题,则只能使用外来程序作为最后手段。

最后但并非最不重要的,我们必须注意,虽然我们将在本文中使用的CentOS和Debian,外星人也被称为在Slackware的 ,甚至在Solaris中工作,除了前两个分布及其各自的家庭。

第1步:安装异常和依赖

要安装CentOS中/ RHEL 7 外星人 ,你将需要启用EPEL和马钱Dextop(是的,这Dextop -而不是台式机)库,按照这个顺序:# yum install epel-release

# rpm --import http://li.nux.ro/download/nux/RPM-GPG-KEY-nux.ro

使这个仓库的软件包的最新版本是0.5目前(8月10日公布,2015)。# rpm -Uvh http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-5.el7.nux.noarch.rpm

然后做,# yum update && yum install alien

在Fedora,您只需要运行一个命令。

在Debian和衍生产品中,只需:# aptitude install alien

第2步:从.deb到.rpm包转换

对于本次测试我们选择dateutils,它提供了一整套的日期和时间工具来处理大量的财务数据。 我们将.deb软件包下载到我们的CentOS 7中,将其转换为.rpm的并安装:

86a2e02a82553fa55dbb6af1c35d8336.png

检查CentOS版本# cat /etc/centos-release

# wget http://ftp.us.debian.org/debian/pool/main/d/dateutils/dateutils_0.3.1-1.1_amd64.deb

# alien --to-rpm --scripts dateutils_0.3.1-1.1_amd64.deb

d0b8146e702210f64f0900705cfb1d6d.png

在Linux中将.deb转换为.rpm包

重要提示 :(请注意如何,默认情况下,外来的增加目标包的版本次要编号如果要覆盖此行为,添加-keep版本标志)。

如果我们尝试立即安装软件包,我们会遇到一个小问题:# rpm -Uvh dateutils-0.3.1-2.1.x86_64.rpm

a721294ba97d9725126aeaa4d45da8cf.png

安装RPM软件包

为了解决这个问题,我们将启用EPEL-测试库 ,并安装rpmrebuild工具来编辑软件包的设置必须重建:# yum --enablerepo=epel-testing install rpmrebuild

然后运行,# rpmrebuild -pe dateutils-0.3.1-2.1.x86_64.rpm

这将打开你的默认文本编辑器。 转至%files部分,并删除引用错误消息中提到的目录,然后保存文件并退出该行:

173f9bc69d6192290909f06343c12b89.png

将.deb转换为外来版本

当您退出该文件系统将提示您继续与重建。 如果您选择Y,该文件将被改建为指定的目录(不是当前工作目录不同):# rpmrebuild –pe dateutils-0.3.1-2.1.x86_64.rpm

39388e08d58a918690723a75b31ff721.png

构建RPM包

现在您可以继续安装软件包,并照常进行验证:# rpm -Uvh /root/rpmbuild/RPMS/x86_64/dateutils-0.3.1-2.1.x86_64.rpm

# rpm -qa | grep dateutils

5599934f3371f78c72be714d5ff75fcc.png

安装Build RPM软件包

最后,你可以列出附带dateutils,个人工具或者检查它们各自的手册页:# ls -l /usr/bin | grep dateutils

d4d677aa71ac78c146a01995536f72f9.png

验证已安装的RPM软件包

第3步:从.rpm转换到.deb软件包

在这一节中,我们将介绍如何从.rpm的转换为.deb文件 。 在32位Debian的Wheezy中,让我们下载的.rpm包从CentOS 6的操作系统存储库中的zsh外壳。 请注意,Debian和派生类中默认情况下不提供此shell。# cat /etc/shells

# lsb_release -a | tail -n 4

55f05110a4200a67ff67fa323a54ed9c.png

检查Shell和Debian操作系统版本# wget http://mirror.centos.org/centos/6/os/i386/Packages/zsh-4.3.11-4.el6.centos.i686.rpm

# alien --to-deb --scripts zsh-4.3.11-4.el6.centos.i686.rpm

您可以放心地忽略有关缺少签名的邮件:

c2bbcbc189c267ec9ec178135b0d3b85.png

将.rpm转换为.deb软件包

片刻之后,应该已经生成的.deb文件,并准备安装:# dpkg -i zsh_4.3.11-5_i386.deb

032680e7bfe97cd22b9ee88deb7f27df.png

安装RPM转换的Deb包

安装后,你可以验证的zsh被添加到有效的炮弹的列表:# cat /etc/shells

b8f6209f8213b3a9bced4133f3f22358.png

确认安装的Zsh软件包

概要

在这篇文章中,我们已经解释了如何从.rpm的以.deb文件 ,反之亦然转换为安装软件包作为最后的手段,当这种方案不是在仓库或分发源代码可用。 你会想要把这篇文章加入书签,因为我们所有的人都需要外星人在同一时间或另一个。

请随时使用下面的表格分享您对本文的想法。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值