不得不说的Fedora和CentOS安装deb包方法
文章来自公众号:睿江云计算
转载请说明出处
使用Alien将RPM转换成DEB
在本文中,我们将为你介绍alien,一个用于在各种不同的Linux包格式相互转换的工具,其最常见的用法是将.rpm转换成.deb(或者反过来)。
相信很多用linux(比如Fedora)桌面作日常工作用的朋友也有遇到过。如果你需要某个特定类型的包,而你只能找到其它格式的包的时候,该工具迟早能派得上用场--即使是其作者不再维护,并且在其网站声明:alien将可能永远维持在实验状态。
例如,有一次,我正查找一个用于音乐软件或翻译软件的.rpm安装包,但是却没有找到--开发者只提供.deb包,这时候alien拯救了我。我安装了alien,将包进行转换,不久之后我就可以使用我要的这款软件了,没有任何问题。
即便如此,我们也必须澄清一下,这个工具不应当用来转换重要的系统文件和库,因为它们在不同的发行版中有不同的配置。只有在前面说的那种情况下所建议的安装方法根本不适合时,alien才能作为最后手段使用。
最后一项要点是,我们必须注意,虽然我们在本文中使用CentOS和Fedora,除了前两个发行版及其各自的家族体系外,据我们了解,alien还可以工作在Debian、Slackware中,甚至Solaris中。
要安装alien到CentOS/RHEL 7中,你需要启用EPEL和Nux Dextop(是的,是Dextop--不是Desktop)仓库,顺序如下:
1. # yum install epel-release
启用Nux Dextop仓库的包的当前最新版本是0.5(2018年2月20日发布),在安装之前你可以查看该链接中是否有更新的版本。
http://li.nux.ro/download/nux/dextop/el7/x86_64/
1. # rpm --import http://li.nux.ro/download/nux/RPM-GPG-KEY-nux.ro
2. # rpm -Uvh http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-5.el7.nux.noarch.rpm
然后再做,
1.#yum clean all
2.#yum repolist
3.#yum install alien
在Fedora中,你只需要运行上面的命令即可。
在Debian及其衍生版中,只需要:
1. # aptitude install alien
对于本次测试,我们选择了date工具,它提供了一系列日期和时间工具用于处理大量时间数据。我们将下载.deb包到我们的CentOS 7机器中,将它转换成.rpm并安装:
Check CentOS Version
检查CentOS版本
1. # cat /etc/centos-release
2. # wget http://ftp.us.debian.org/debian/pool/main/d/dateutils/dateutils_0.3.1-1.1_amd64.deb
3. # alien --to-rpm --scripts dateutils_0.3.1-1.1_amd64.deb
在Linux中将.deb转换成.rpm
重要:(请注意alien是怎样来增加目标包的次版本号的。如果你想要无视该行为,请添加-keep-version标识)。
如果我们尝试马上安装该包,我们将碰到些许问题:
1. # rpm -Uvh dateutils-0.3.1-2.1.x86_64.rpm
安装RPM包
要解决该问题,我们需要启用epel-testing仓库,然后安装rpmbuild工具来编辑该包的配置以重建包:
1.#yum--enablerepo=epel-testing install rpmrebuild
然后运行,
1.#rpmrebuild-pedateutils-0.3.1-2.1.x86_64.rpm
它会打开你的默认文本编辑器。请转到%files章节并删除涉及到错误信息中提到的目录的行,然后保存文件并退出:
转换.deb到Alien版
但你退出该文件后,将提示你继续去重构。如果你选择"Y",该文件会重构到指定的目录(与当前工作目录不同):
1.#rpmrebuild-pedateutils-0.3.1-2.1.x86_64.rpm
构建RPM包
现在你可以像以往一样继续来安装包并验证:
1.#rpm -Uvh /root/rpmbuild/RPMS/x86_64/dateutils-0.3.1-2.1.x86_64.rpm
2.#rpm -qa | grep dateutils
安装构建RPM包
最后,你可以列出date工具包含的各个工具,也可以查看各自的手册页:
1. # ls -l /usr/bin | grep dateutils
验证安装的RPM包
小结
在本文中,我们已经解释了如何将.deb转换成.rpm包,这可以作为这类程序不能从仓库中或者作为可分发源代码获得的最后安装手段。
文章参考Linux中国
【睿江云】充值大返利,预充值返万元,购两年免8月。预充值,立刻返劵,最高可省10000元。
参与活动链接:http://www.eflycloud.com/#/home?from=RJ0028&salesID=62DS7F2GA