【二進制形式的安裝包】php
編譯好的軟件包。定製性弱,方便
mysql
*.rpm形式的二進制軟件包###linux
【源代碼形式的安裝包】web
源碼形式的軟件包。定製性強,不便
sql
那有人會問了,怎麼區分.tar.gz是二進制包仍是源碼包呢?centos
答:源代碼包裏的文件每每會含有種種源代碼文件,頭文件.h、c代碼源文 件.c、C++代碼源文件.cc/.cpp等;而二進制包裏的文件則會有可執行文件(與軟件同名的每每是主執行文件)app
////註釋掉
ide
一、比較工具
一、rpm格式
: libjpeg-devel-6b-33.x86_64.rpm #rpm格式很好區分, 二、二進制包
: mysql-3.23.58-pc-linux-i686.tar.gz #名字很長,有版本號、適應平臺、適應的硬件類型等,格式:mysql-<版本>--tar.gz 三、源碼包
: php-5.2.14.tar.gz #而源碼格式僅僅就是一個版本號的tar包。須要通過./config、make、make installui
幫你理解 注意:源代碼方式和二進制包是軟件包的兩種形式。二進制包裏面包括了已經通過編譯,能夠立刻運行的程序。你只須要下載和解包(安裝)它們之後,就立刻能夠使用。源代碼包裏面包括了程序原始的程序代碼,須要在你的計算機上進行編譯之後才能夠產生能夠運行程序,因此從源代碼安裝的時間會比較長。MySQL的源碼包要編輯只能使用cmake工具,因此通常採用其二進制包 |
二、rpm包的分類及轉換
分類
一、[普通的rpm包]:直接安裝,不能修改
二、[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 一、yum不能安裝src的源碼包,只能使用rpm -ivh 二、yum list all下顯示的anaconda是系統自帶的rpm包,epel是EPEL源中的包 四、源碼包轉換rpm包只有在ansible等批量部署的狀況下才有必要。 |