Linux下二進制包、源代碼包、rpm包


主要提供三種格式的mysql包:rpm格式、二進制格式、源碼格式:(tar打包,gz壓縮)

rpm格式: libjpeg-devel-6b-33.x86_64.rpm       #rpm格式很好區分,

二進制包: mysql-3.23.58-pc-linux-i686.tar.gz   #二進制格式的包名字很長,有版本號、適應平台、適應的硬件類型等,格式:mysql-<版本>-<OS>-tar.gz

源碼包:    php-5.2.14.tar.gz                            #而源碼格式僅僅就是一個版本號的tar包。#cj 安裝區別:解壓、./config、make、make install

 

source code 是程序員寫的碼, 
binary code 是機器跑的碼。 
source code 得經過 compile 才能成為 binary code 。 

RPM 有分兩種:binary rpm 跟 source rpm 。 
前者是編好的 binary ,安裝就可用。 
後者是還沒編好的 source ,需 rebuild 之後才能安裝

 

源代碼方式和二進制包是軟件包的兩種形式。二進制包里面包括了已經經過編譯,可以馬上運行的程序。你只需要下載和解包(安裝)它們以后,就馬上可以使用。源代碼包里面包括了程序原始的程序代碼,需要在你的計算機上進行編譯以后才可以產生可以運行程序,所以從源代碼安裝的時間會比較長。

 

Linux下有個命令叫file,因為Linux並不是按照后綴名來判斷文件類型的。所以一般在不清楚文件到底是什么類型的時候,就用file這個命令去判斷。
file php-5.2.14.tar.gz 
php-5.2.14.tar.gz: gzip compressed data, was "php-5.2.14.tar", from Unix, last modified: Wed Jul 21 22:32:34 2010, max compression
這個php-5.2.14.tar.gz 明顯是個gzip的壓縮包,這樣的文件一般都是用tar zxvf 命令去解包然后去配置編譯安裝的,通常情況把這種安裝方法叫做源碼編譯安裝。

file libjpeg-devel-6b-33.x86_64.rpm 
libjpeg-devel-6b-33.x86_64.rpm: RPM v3 bin i386 libjpeg-devel-6b-33
這個libjpeg-devel-6b-33.x86_64.rpm 文件,就是個標准的redhat系列發行版本所用的RPM格式軟件包。一般在RHEL、CentOS、SUSE、OracleLinux下都可以安裝類似的RPM包。標准的安裝方法是rpm -ivh。

基本上紅帽系列Linux發行版本安裝軟件就這兩種方法了。還有經常被提起的yum,其實就是由yum自動判斷rpm包的依賴,然后一次性把所有需要安裝的N個rpm統一下載安裝,其實原理和一個個的安裝rpm沒有什么本質區別。

 

 一般在官網上下載的源碼包都是以:tar.gz tar.bz2結尾的,經過編譯的一般是以.rpm來結尾的,linux下的文件擴展名沒有實際的意義,這樣做只是為了方便你去查看是什么類型的包然后采取什么樣的方式去安裝和配置,當然有時候並不能從文件的擴展名去查看什么類型的包,因為文件名可以隨意的去修改可以使用file這個命令去查看文件包的類型.

 

源碼的安裝一般由3個步驟組成:配置(configure)、編譯(make)、安裝(make install)

Configure是一個可執行腳本,它有很多選項,在待安裝的源碼路徑下使用命令./configure –help輸出詳細的選項列表。

其中--prefix選項是配置安裝的路徑,如果不配置該選項,安裝后可執行文件默認放在/usr /local/bin,庫文件默認放在/usr/local/lib,配置文件默認放在/usr/local/etc,其它的資源文件放在/usr /local/share,比較凌亂。

如果配置--prefix,如:

  1. ./configure --prefix=/usr/local/test

可以把所有資源文件放在/usr/local/test的路徑中,不會雜亂。

用了—prefix選項的另一個好處是卸載軟件或移植軟件。當某個安裝的軟件不再需要時,只須簡單的刪除該安裝目錄,就可以把軟件卸載得干干凈凈;移植軟件只需拷貝整個目錄到另外一個機器即可(相同的操作系統)。

當然要卸載程序,也可以在原來的make目錄下用一次make uninstall,但前提是make文件指定過uninstall。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM