CentOS7使用Alien将RPM从DE转换为DEB和DEB转换为RPM包

摘要:
使用Alien将RPM转换为DEB,并将DEB转换为RPM包。在本文中,我们将介绍Alien,一种用于在不同Linux包格式之间转换的工具。使用。rpm到.deb是最常见的用法。步骤1:安装外来项和依赖项要在CentOS/RHEL7中安装外来项,您需要启用EPEL和NuxDextop存储库,以便:#yumminstalledepel release#rpm-importhttp://li.nux.ro/download/nux/RPM-GPG-KEY-nux.ro支持此存储库的软件包的最新版本当前为0.5。在32位Debian Wheely框中,让我们下载。来自CentOS6操作系统的zshshell的rpm包存储库。请注意,默认情况下,Debian和衍生产品中不提供此shell。

我相信您已经知道,有很多方法可以在Linux中安装软件:使用您的发行版提供的软件包管理系统(aptitude,yum或zypper,举几个例子),从源代码编译(尽管有些这些天很少见,它是Linux早期唯一可用的方法,或者分别使用dpkg或rpm等低级工具和.deb和.rpm独立的预编译软件包。     将RPM转换为DEB,将DEB转换为RPM

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

在本文中,我们将向您介绍alien,一种在不同Linux包格式之间进行转换的工具,使用.rpm到.deb(反之亦然)是最常用的用法。

这个工具,即使它的作者不再维护它并在他的网站上说外星人总是可能保持实验状态,如果你需要某种类型的包但只能找到另一种包装格式的程序,它可以派上用场。

例如,当我为喷墨打印机寻找.deb驱动程序时,外星人节省了我的一天,但却找不到 - 制造商只提供了一个.rpm包。我安装了外星人,转换了包装,不久我就可以毫无问题地使用我的打印机了。

也就是说,我们必须澄清这个实用程序不应该用于替换重要的系统文件和库,因为它们在不同的发行版中设置不同。如果本文开头的建议安装方法不能满足所需程序的要求,请仅使用外星人作为最后的手段。

最后但并非最不重要的是,我们必须注意,尽管我们将在本文中使用CentOS和Debian,但除了前两个发行版及其各自的系列之外,外星人也知道在Slackware甚至Solaris中工作。

第1步:安装外来和依赖项

要在CentOS / RHEL 7中安装外星人,您需要按顺序启用EPEL和Nux Dextop(是的,它是Dextop - 而不是桌面)存储库:

#yum install epel-release
#rpm --import http://li.nux.ro/download/nux/RPM-GPG-KEY-nux.ro

支持此存储库的最新版软件包目前为0.5(2015年8月10日发布)。您应该先检查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安装外星人

由于制作rpm包过程较为麻烦,此处使用rpmrebuild去将本机已安装好的openvswitch包进行重新打包,用于下次安装部署

# yum install rpmrebuild -y
 修改opensvswitch的配置文件如/etc/sysconfig/network-scripts/ifdown-ovs
   # rpmrebuild openvswitch
由于你修改过这个文件,rpmrebuild的时候会提示该文件修改,输入y
文件会生成于
 # /root/rpmbuild/RPMS/x86_64/libvirt-daemon-3.2.0-14.el7_4.5.x86_64.rpm

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

对于此测试,我们选择了dateutils,它提供了一组日期和时间实用程序来处理大量的财务数据。我们将.deb软件包下载到我们的CentOS 7盒子,将其转换为.rpm并安装它:

检查CentOS版本

                                检查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包

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

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

如果我们立即尝试安装软件包,我们将遇到一个小问题: 

安装RPM包

                                                          安装RPM包

要解决此问题,我们将启用epel-testing存储库并安装rpmrebuild实用程序以编辑要重建的程序包的设置:

      #yum --enablerepo = epel-testing安装rpmrebuild

然后跑,

#rpmrebuild -pe dateutils-0.3.1-2.1.x86_64.rpm

这将打开您的默认文本编辑器。转到该%files部分并删除引用错误消息中提到的目录的行,然后保存文件并退出:
将.deb转换为外星人版

                                        将.deb转换为外星人版

当您退出该文件系统将提示您继续重建。如果你选择Y.,则文件将重建到指定目录(不同于当前工作目录):

#rpmrebuild -pe dateutils-0.3.1-2.1.x86_64.rpm
构建RPM包

                                                     构建RPM包

现在,您可以继续安装软件包并照常验证:

#rpm -Uvh /root/rpmbuild/RPMS/x86_64/dateutils-0.3.1-2.1.x86_64.rpm
#rpm -qa | grep dateutils

安装Build RPM Package

                                                       安装Build RPM Package

最后,您可以列出dateutils中包含的各个工具,也可以检查各自的手册页:

#ls -l / usr / bin | grep dateutils

验证已安装的RPM包

                                                  验证已安装的RPM包

第3步:从.rpm转换为.deb包

在本节中,我们将说明如何将.rpm转换为.deb。在32位Debian Wheezy框中,让我们从CentOS 6操作系统下载zsh shell 的.rpm包存储库。请注意,默认情况下,Debian和衍生产品中不提供此shell。

#cat / etc / shells
#lsb_release -a | 尾巴-n 4
检查Shell和Debian OS版本

                          检查Shell和Debian OS版本

#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包

                                                     将.rpm转换为.deb包

片刻之后,应该生成.deb文件并准备安装:

#dpkg -i zsh_4.3.11-5_i386.deb
安装RPM Converted Deb Package

                                                 安装RPM Converted Deb Package

安装后,您可以验证zsh是否已添加到有效shell列表中:

#cat / etc / shells
确认已安装的Zsh包

                     确认已安装的Zsh包

摘要

在本文中,我们已经解释了如何将.rpm转换为.deb,反之亦然,以便在这些程序在存储库中不可用或作为可分发的源代码时,作为最后的手段安装软件包。你会想要为这篇文章添加书签,因为我们所有人都会在某个时候需要外星人。

 
 

免责声明:文章转载自《CentOS7使用Alien将RPM从DE转换为DEB和DEB转换为RPM包》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Springboot中的@EnableAsync和@Async的作用和基本用法oracle中过滤中文字符或者汉字的函数下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

通过yum库安装或升级rpms的方法

  使用yum工具升级系统或者安装rpm。  此方法特别适用于如下情况:  1) 升级系统但是没有新版本系统的ISO。  2) 要安装的rpm文件依赖于其他rpm,且依赖关系复杂。 步骤如下:  1. 若升级系统或安装rpm时,有ISO文件,则挂载ISO文件     mount -o loop xxx.iso /mnt     并直接跳到低4步执行。   ...

CentOS6.5安装Mysql提示 missing requires of libmysqlclient.so.16()(64bit)(转载)

今天在虚拟机CentOs中安装Mysql怎么也安装不了,总是提示一下信息,网上查了很多资料的解决方案都没有用,然后自己找到了解决方案。这里要提到一个网站https://pkgs.org/,他是linux系统的一个相关网站,里面都是相关内容 Warning: RPMDB altered outside of yum. ** Found 3 pre-exist...

【环境搭建】PostgreSQL 10.7 rpm安装离线部署到 centOS 6.8

1.下载rpm包: 1)下载依赖包 libicu.rpm 百度rpm, 进入http://fr2.rpmfind.net/linux/RPM/, 搜索libicu, 下载对应linux系统版本的依赖,此处下载的是centos6.8的 http://fr2.rpmfind.net/linux/rpm2html/search.php?query=libicu&...

centos7上常用软件安装

1、给firefox装adobe插件:    1 下载install_flash_player_10_linux.tar.zip,解压tar -zxvf install_flash_player_10_linux.tar.zip得到libflashplayer.so    2 将libflashplayer.so拷贝到/usr/lib64/firefox...

Centos 查看,卸载已安装软件

终于因为工作碰到问题,在网上找了些资料,发现都是比较局限的,我想把它整合在一块,因为公司使用CentOS,所以有这方面的技术需要。 因为我在使用的时候,发现我的软件无法自动更新,所以从网上下了新版本,想说直接右键使用“软件包安装程序”打开安装,结果因为检测到我电脑上有之前版本,所以失败,无法使用这样安装。因此我得先卸载,然后才能安装。 使用RPM: 要知道...

(6)centos安装和解压

一、rpm包安装方式步骤:1、找到相应的软件包,比如soft.version.rpm,下载到本机某个目录;2、打开一个终端,su -成root用户;3、cd soft.version.rpm所在的目录;4、输入rpm -ivh soft.version.rpm二、deb包安装方式步骤:1、找到相应的软件包,比如soft.version.deb,下载到本机某...