【二进制形式的安装包】
编译好的软件包。定制性弱,方便
*.rpm形式的二进制软件包###
*.tar.gz形式的二进制软件包###
【源代码形式的安装包】
源码形式的软件包。定制性强,不便
*.src.rpm形式的源代码软件包
.tar.gz/.tgz、*.bz2形式的源代码软件包
那有人会问了,怎么区分.tar.gz是二进制包还是源码包呢?
答:源代码包里的文件往往会含有种种源代码文件,头文件.h、c代码源文 件.c、C++代码源文件.cc/.cpp等;而二进制包里的文件则会有可执行文件(与软件同名的往往是主执行文件)
注释掉
1、比较
1、rpm格式
: libjpeg-devel-6b-33.x86_64.rpm #rpm格式很好区分,
2、二进制包
: mysql-3.23.58-pc-linux-i686.tar.gz #名字很长,有版本号、适应平台、适应的硬件类型等,格式:mysql-<版本>--tar.gz 3、源码包
: php-5.2.14.tar.gz #而源码格式仅仅就是一个版本号的tar包。需要经过./config、make、make install
帮你理解 注意:源代码方式和二进制包是软件包的两种形式。二进制包里面包括了已经经过编译,可以马上运行的程序。你只需要下载和解包(安装)它们以后,就马上可以使用。源代码包里面包括了程序原始的程序代码,需要在你的计算机上进行编译以后才可以产生可以运行程序,所以从源代码安装的时间会比较长。MySQL的源码包要编辑只能使用cmake工具,所以一般采用其二进制包 |
2、rpm包的分类及转换
分类
1、[普通的rpm包]:直接安装,不能修改
2、[src的rpm包]: 可还原为源码格式,安装为适合自己需求的程序
转换
<1>src的rpm包--->源码包
[root@slave2~]#>>rpm -ivh libfastcommon-1.0.33-1.el7.centos.src.rpm [root@slave2~]#>>ls /rpmbuild/ SPECS SOURCES [root@slave2~]#>>ls rpmbuild/SOURCES libfastcommon-1.0.33.tar.gz |
<2>源码包--->普通的rpm包+src的源码包
[root@slave2~]#>>mkdir rpmbuild/{SOURCES,SPECS} [root@slave2~]#>>cp libfastcommon-1.23/libfastcommon.spec rpmbuild/SPECS/ [root@slave2~]#>>cp libfastcommon-1.23.tar.gz rpmbuild/SOURCES/ [root@slave2~/rpmbuild/SPECS]#>>rpmbuild -ba libfastcommon.spec [制作src的rpm和普通的rpm] [root@slave2~/rpmbuild/SPECS]#>>rpmbuild -ba libfastcommon.spec [制作普通的rpm] |
帮你理解 0、rpm的安装格式rpm -ivh ./*.rpm 1、yum不能安装src的源码包,只能使用rpm -ivh 2、yum list all下显示的anaconda是系统自带的rpm包,epel是EPEL源中的包 4、源码包转换rpm包只有在ansible等批量部署的情况下才有必要。 |