正如我敢肯定你已经知道,有大量的安装在Linux软件的方式:利用你的发行提供的包管理系统( 资质,Yum,或zypper的 ,仅举几例),从源代码编译(虽然有点罕见的,这些天,这是唯一的方法,在Linux的早期可用),或利用水平较低等工具的dpkg或rpm分别.deb文件和.rpm的独立,预编译的软件包。
使用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)。 您应该检查http://li.nux.ro/download/nux/dextop/el7/x86_64/ ,看看是否有进一步继续之前的新版本:
# 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的并安装:
检查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
在Linux中将.deb转换为.rpm包
重要提示 :(请注意如何,默认情况下,外来的增加目标包的版本次要编号如果要覆盖此行为,添加-keep版本标志)。
如果我们尝试立即安装软件包,我们会遇到一个小问题:
# rpm -Uvh dateutils-0.3.1-2.1.x86_64.rpm
安装RPM软件包
为了解决这个问题,我们将启用EPEL-测试库 ,并安装rpmrebuild工具来编辑软件包的设置必须重建:
# yum --enablerepo=epel-testing install rpmrebuild
然后运行,
# rpmrebuild -pe dateutils-0.3.1-2.1.x86_64.rpm
这将打开你的默认文本编辑器。 转至%files
部分,并删除引用错误消息中提到的目录,然后保存文件并退出该行:
将.deb转换为外来版本
当您退出该文件系统将提示您继续与重建。 如果您选择Y,该文件将被改建为指定的目录(不是当前工作目录不同):
# rpmrebuild –pe dateutils-0.3.1-2.1.x86_64.rpm
构建RPM包
现在您可以继续安装软件包,并照常进行验证:
# rpm -Uvh /root/rpmbuild/RPMS/x86_64/dateutils-0.3.1-2.1.x86_64.rpm # rpm -qa | grep dateutils
安装Build RPM软件包
最后,你可以列出附带dateutils,个人工具或者检查它们各自的手册页:
# ls -l /usr/bin | grep dateutils
验证已安装的RPM软件包
第3步:从.rpm转换到.deb软件包
在这一节中,我们将介绍如何从.rpm的转换为.deb文件 。 在32位Debian的Wheezy中,让我们下载的.rpm包从CentOS 6的操作系统存储库中的zsh外壳。 请注意,Debian和派生类中默认情况下不提供此shell。
# cat /etc/shells # lsb_release -a | tail -n 4
检查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
您可以放心地忽略有关缺少签名的邮件:
将.rpm转换为.deb软件包
片刻之后,应该已经生成的.deb文件,并准备安装:
# dpkg -i zsh_4.3.11-5_i386.deb
安装RPM转换的Deb包
安装后,你可以验证的zsh被添加到有效的炮弹的列表:
# cat /etc/shells
确认安装的Zsh软件包
概要
在这篇文章中,我们已经解释了如何从.rpm的以.deb文件 ,反之亦然转换为安装软件包作为最后的手段,当这种方案不是在仓库或分发源代码可用。 你会想要把这篇文章加入书签,因为我们所有的人都需要外星人在同一时间或另一个。
请随时使用下面的表格分享您对本文的想法。