转载自

http://www.heminjie.com/system/linux/1487.html

deb文件格式本是ubuntu/debian系统下的安装文件,那么我想要在redhat/centos/fedora中安装,需要把deb格式的软件包转化成rpm格式。
 
需要用到的转换工具:alien_8.89.tar.gz
 
1、编译安装alien_8.89.tar.gz

[root@localhost ~]# yum install perl make gcc      ##安装编译所必须的软件环境
[root@localhost ~]# tar -zxvf alien_8.89.tar.gz
[root@localhost ~]# cd alien
[root@localhost alien]# perl Makefile.PL
Writing Makefile for Alien
[root@localhost alien]# make
[root@localhost alien]# make install

2、转换deb包为rpm包

[root@localhost ~]# alien -r wondershaper_1.1a-6_all.deb     ##红色为要转换的deb包名称

执行后出现下面的结果就说明转换成功了,就会在当前目录下产生一下相对应的rpm包

wondershaper-1.1a-7.noarch.rpm generated

3、再安装rpm包

[root@localhost ~]# rpm -ivh wondershaper-1.1a-7.noarch.rpm

报错与解决办法:
 
1、在编译安装alien时可能会遇到下面报错
[root@localhost alien]# perl Makefile.PL
Can't locate ExtUtils/MakeMaker.pm in @INC (@INC contains: /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .) at Makefile.PL line 2.
BEGIN failed--compilation aborted at Makefile.PL line 2.
 
执行下面命令即可解决:

[root@localhost alien]# yum install perl-ExtUtils-CBuilder perl-ExtUtils-MakeMaker

2、在执行转换命令时,报rpmbuild: command not found
[root@localhost ~]# alien -r wondershaper_1.1a-6_all.deb
Package build failed. Here's the log of the command (cd wondershaper-1.1a; rpmbuild --buildroot='/root/wondershaper-1.1a' -bb --target noarch 'wondershaper-1.1a-7.spec'):
sh: rpmbuild: command not found
 
yum安装rpm-build即可:

[root@localhost ~]# yum install rpm-build
个人根据上面操作的时候遇到了一个新的问题:bad ELF interpreter: No such file or directory
百度后发现是64位安装了32位的的程序执行yum install glibc.i686命令即可,此外还有安装rpm包时有个依赖包的问题
加上-nodeps参数即可,可参考https://blog.csdn.net/jinwufeiyang/article/details/52069498

在CentOS系统上将deb包转换为rpm包的更多相关文章

  1. deb包转换为rpm包格式

    在Debian系列中安装软件包可以使用apt或者dpkg安装deb包,但是在CentOs, Redhat等则只能安装RPM包,如果希望在Redhat或者CentOS下也安装Deb包的话是不可行的, 但 ...

  2. 在CcentOS系统上将deb包转换为rpm包

    deb文件格式本是ubuntu/debian系统下的安装文件,那么我想要在redhat/centos/fedora中安装,需要把deb格式的软件包转化成rpm格式. 需要用到的转换工具:alien_8 ...

  3. CentOS 如何将.deb 文件 转换.rpm, centos安装deb包

    CentOS 如何将.deb 文件 转换.rpm [root@localhost tmp]#tar zxvf alien_8.88.tar.gz yum install alien [root@loc ...

  4. CentOS 如何将.deb 文件 转换.rpm

    CentOS 如何将.deb 文件 转换.rpm [root@localhost tmp]#tar zxvf alien_8.88.tar.gz [root@localhost alien]#perl ...

  5. Linux学习总结(九)-源码包和rpm包安装

    一.源码包安装 通常办法是安装三部曲:./configuremakemake install但是具体还要根据包里面的帮助文档操作./configure --help 可以查看可以带什么参数,比如--p ...

  6. 使用alien命令让deb包和rpm包互相转换

    OS version: CentOS7 / Debian9 发现alien这个命令时很惊喜,之前在debian上安装etcd找不到安装包感觉很不科学,有了alien命令事情一下就变简单了. 这里以et ...

  7. centos 6 yum源记录,离线下载rpm包的办法

    wget -O /etc/yum.repos.d/CentOS6-Base-163.repo http://mirrors.163.com/.help/CentOS6-Base-163.repo rp ...

  8. Centos 一次卸载多个RPM包

    rpm 不支持通配符,可以使用 xargs来接收多个变量 示例,一次性卸载所有 erlang先关的rpm包: rpm -qa | grep erlang | xargs rpm -e --nodeps

  9. CentOS里下载和离线安装rpm包

    离线下载rpm包    yum --downloadonly --downloaddir=/home/packages install mariadb-devel 安装离线rpm包    进入下载包的 ...

随机推荐

  1. 在线java反编译服务

    大家是否遇到过有java class文件,却没有java源码的苦恼.近期findmaven.net提供了在线java反编译服务http://www.findmaven.net/decompile_cn ...

  2. Android Material风格的应用(五)--CollapsingToolbar

    Collapsing Toolbar Android Material风格的应用(一)--AppBar TabLayoutAndroid Material风格的应用(二)--RecyclerViewA ...

  3. 最大公约数最小公倍数 (例:HDU2028 Lowest Common Multiple Plus)

    也称欧几里得算法 原理: gcd(a,b)=gcd(b,a mod b) 边界条件为 gcd(a,0)=a; 其中mod 为求余 故辗转相除法可简单的表示为: int gcd(int a, int b ...

  4. 【Codeforces Round #301 (Div. 2) E】Infinite Inversions

    [链接] 我是链接,点我呀:) [题意] 给你一个无限长的序列1,2,3,4... 然后给你n个操作. 每个操作ai,bi; 表示调换位置为ai和位置为bi的数的位置. (ai,bi<=10^9 ...

  5. mootools常用特性和示例(基础篇2)

    接着上一篇:mootools常用特性和示例(基础篇1) 1.表单操作 html: <form id="myForm" action="submit.php" ...

  6. andriod first app-computer

    andriod first app-computer 个人信息:就读于燕大本科软件project专业 眼下大三; 本人博客:google搜索"cqs_2012"就可以; 个人爱好: ...

  7. swift项目第三天:手写代码搭建主框架

    一:先配置环境:自定义Log输出(DEBUG 和 release模式),并屏蔽后台多余的打印信息 1:屏蔽后台多余的打印信息:如果写了OS_ACTIVITY_MODE = disable 还是不行.把 ...

  8. php语法同java语法的基本区别(实例项目需求,php才能熟)

    php语法同java语法的基本区别(实例项目需求,php才能熟) 一.总结 看下面 二.PHP基本语法以及和Java的区别 .表示字符串相加 ->同Java中的. $作为变量的前缀,除此之外,变 ...

  9. u-boot-2011.06在基于s3c2440开发板的移植之引导内核与加载根文件系统

    http://www.linuxidc.com/Linux/2012-09/70510.htm  来源:Linux社区  作者:赵春江 uboot最主要的功能就是能够引导内核启动.本文就介绍如何实现该 ...

  10. 2015第30周四Java日志组件

    Java 日志 API 从功能上来说,日志 API 本身所需求的功能非常简单,只需要能够记录一段文本即可.API 的使用者在需要进行记录时,根据当前的上下文信息构造出相应的文本信息,调用 API 完成 ...