如何區(qū)分linux中的源碼包和二進(jìn)制包
Linux下的軟件包可分為兩種:
(1)源碼包。
(2)二進(jìn)制包。
1、源碼包簡(jiǎn)單介紹:
實(shí)際上,源碼包就是源代碼程序的集合。
由程序員們通過(guò)特定的語(yǔ)言編寫(xiě)出來(lái)的。
例如:JAVA項(xiàng)目中的一個(gè)個(gè)類(lèi)文件的集合。
眾所眾知,計(jì)算機(jī)只能識(shí)別機(jī)器語(yǔ)言(二進(jìn)制[0,1])。
所以源碼包安裝需要先將特定語(yǔ)言編寫(xiě)的源代碼翻譯成機(jī)器語(yǔ)言(0,1)。
這樣我們才能在Linux安裝該包。
Java為例:
(1)使用javac命令將java代碼編譯成.class字節(jié)碼文件[與平臺(tái)無(wú)關(guān)]
(2)使用java命令將字節(jié)碼文件解釋成平臺(tái)機(jī)器碼
當(dāng)然java本身屬于半編譯半解釋型語(yǔ)言。
此外,源碼包的安裝需要把源代碼編譯為二進(jìn)制代碼,因此安裝時(shí)間較長(zhǎng)。
如果有小友使用源碼包安裝MySQL的,相信一定是深有體會(huì)。
當(dāng)然源碼包編譯是比較費(fèi)時(shí)間的,如果在編譯過(guò)程中出現(xiàn)錯(cuò)誤。
對(duì)于不熟悉程序語(yǔ)言初學(xué)者將會(huì)很難解決。
因此。
為了解決使用源碼包安裝方式的這些問(wèn)題,Linux 軟件包安裝出現(xiàn)了使用二進(jìn)制包的安裝方式。發(fā)現(xiàn)問(wèn)題解決問(wèn)題,一步步的不斷發(fā)展。
2、Linux二進(jìn)制包
二進(jìn)制包就是源碼包經(jīng)過(guò)成功編譯之后產(chǎn)生的包。
由于二進(jìn)制包在發(fā)布之前就已經(jīng)完成了編譯的工作,因此用戶(hù)安裝軟件的速度較快,且安裝過(guò)程報(bào)錯(cuò)幾率大大減小。這就解決了源碼包安裝出現(xiàn)的問(wèn)題。
當(dāng)然,二進(jìn)制包是Linux下默認(rèn)的軟件安裝包。
3、源碼包 PK 二進(jìn)制包
(1)源代碼包
優(yōu)點(diǎn):
1.源代碼程序
2.可以修改源代碼(需要在自己的能力范圍內(nèi))
3.可以選擇所需功能
4.卸載方便(直接刪除安裝目錄即可)
缺點(diǎn):
1.安裝過(guò)程步驟較多(./configure make make install等等)
2.編譯時(shí)間長(zhǎng)
3.安裝難度大
安裝位置:
/usr/local/軟件名/
例如:mysql
一般是/usr/local/mysql/
(2)二進(jìn)制包
優(yōu)點(diǎn):
1.包管理系統(tǒng)簡(jiǎn)單
2.由于是編譯過(guò),所以安裝速度快
缺點(diǎn):
1.不能看源代碼
2.功能選擇不如源碼包靈活
3.有可能依賴(lài)比較麻煩
安裝位置(默認(rèn)位置):
1. /etc:配置文件安裝目錄
2. /usr/bin/:可執(zhí)行命令安裝目錄
3. /usr/lib/:程序所使用的函數(shù)庫(kù)保存位置
4. /usr/share/doc/:基本的軟件使用手冊(cè)保存位置
5. /usr/share/man/:幫助文檔保存位置
4、補(bǔ)充:
安裝的服務(wù)可以使用系統(tǒng)服務(wù)管理命令(service)來(lái)管理
本質(zhì)上是運(yùn)行了/etc/rc.d/init.d/的命令
例如:
service network start
實(shí)質(zhì):
/etc/rc.d/init.d/network start
補(bǔ)充:
rc{0..6}.d目錄下都是一些符號(hào)鏈接文件
這些鏈接文件都指向init.d目錄下的service腳本文件
如果使用的是rpm包管理器(二進(jìn)制包),并且安裝在默認(rèn)位置,那么可以直接使用service命令來(lái)管理。
如果安裝的是源碼包不能直接利用service,啟動(dòng)服務(wù)的時(shí)候必須要使用絕對(duì)路徑。
例如:
/usr/local/Apache/bin/apachectl start
當(dāng)然這個(gè)可以自己配置成自啟動(dòng)服務(wù)。
最后,感謝大家支持。