'如何區分Linux中的源碼包和二進制包'

"

如何區分Linux中的源碼包和二進制包

Linux下的軟件包可分為兩種:

(1)源碼包。

(2)二進制包。

1、源碼包簡單介紹:

實際上,源碼包就是源代碼程序的集合。

由程序員們通過特定的語言編寫出來的。

例如:java項目中的一個個類文件的集合。

眾所眾知,計算機只能識別機器語言(二進制[0,1])。

所以源碼包安裝需要先將特定語言編寫的源代碼翻譯成機器語言(0,1)。

這樣我們才能在Linux安裝該包。

Java為例:

(1)使用javac命令將java代碼編譯成.class字節碼文件[與平臺無關]

(2)使用java命令將字節碼文件解釋成平臺機器碼

當然java本身屬於半編譯半解釋型語言。

此外,源碼包的安裝需要把源代碼編譯為二進制代碼,因此安裝時間較長

如果有小友使用源碼包安裝MySQL的,相信一定是深有體會。

當然源碼包編譯是比較費時間的,如果在編譯過程中出現錯誤

對於不熟悉程序語言初學者將會很難解決。

因此。

為了解決使用源碼包安裝方式的這些問題,Linux 軟件包安裝出現了使用二進制包的安裝方式。發現問題解決問題,一步步的不斷髮展。

2、Linux二進制包

二進制包就是源碼包經過成功編譯之後產生的包。

由於二進制包在發佈之前就已經完成了編譯的工作,因此用戶安裝軟件的速度較快,且安裝過程報錯機率大大減小。這就解決了源碼包安裝出現的問題。

當然,二進制包是Linux下默認的軟件安裝包。

3、源碼包 PK 二進制包

(1)源代碼包

優點:

1.源代碼程序

2.可以修改源代碼(需要在自己的能力範圍內)

3.可以選擇所需功能

4.卸載方便(直接刪除安裝目錄即可)

缺點:

1.安裝過程步驟較多(./configure make make install等等)

2.編譯時間長

3.安裝難度大

安裝位置:

/usr/local/軟件名/

例如:mysql

一般是/usr/local/mysql/

(2)二進制包

優點:

1.包管理系統簡單

2.由於是編譯過,所以安裝速度快

缺點:

1.不能看源代碼

2.功能選擇不如源碼包靈活

3.有可能依賴比較麻煩

安裝位置(默認位置):

1. /etc:配置文件安裝目錄

2. /usr/bin/:可執行命令安裝目錄

3. /usr/lib/:程序所使用的函數庫保存位置

4. /usr/share/doc/:基本的軟件使用手冊保存位置

5. /usr/share/man/:幫助文檔保存位置

4、補充:

安裝的服務可以使用系統服務管理命令(service)來管理

本質上是運行了/etc/rc.d/init.d/的命令

例如:

service network start

實質:

/etc/rc.d/init.d/network start

"

如何區分Linux中的源碼包和二進制包

Linux下的軟件包可分為兩種:

(1)源碼包。

(2)二進制包。

1、源碼包簡單介紹:

實際上,源碼包就是源代碼程序的集合。

由程序員們通過特定的語言編寫出來的。

例如:java項目中的一個個類文件的集合。

眾所眾知,計算機只能識別機器語言(二進制[0,1])。

所以源碼包安裝需要先將特定語言編寫的源代碼翻譯成機器語言(0,1)。

這樣我們才能在Linux安裝該包。

Java為例:

(1)使用javac命令將java代碼編譯成.class字節碼文件[與平臺無關]

(2)使用java命令將字節碼文件解釋成平臺機器碼

當然java本身屬於半編譯半解釋型語言。

此外,源碼包的安裝需要把源代碼編譯為二進制代碼,因此安裝時間較長

如果有小友使用源碼包安裝MySQL的,相信一定是深有體會。

當然源碼包編譯是比較費時間的,如果在編譯過程中出現錯誤

對於不熟悉程序語言初學者將會很難解決。

因此。

為了解決使用源碼包安裝方式的這些問題,Linux 軟件包安裝出現了使用二進制包的安裝方式。發現問題解決問題,一步步的不斷髮展。

2、Linux二進制包

二進制包就是源碼包經過成功編譯之後產生的包。

由於二進制包在發佈之前就已經完成了編譯的工作,因此用戶安裝軟件的速度較快,且安裝過程報錯機率大大減小。這就解決了源碼包安裝出現的問題。

當然,二進制包是Linux下默認的軟件安裝包。

3、源碼包 PK 二進制包

(1)源代碼包

優點:

1.源代碼程序

2.可以修改源代碼(需要在自己的能力範圍內)

3.可以選擇所需功能

4.卸載方便(直接刪除安裝目錄即可)

缺點:

1.安裝過程步驟較多(./configure make make install等等)

2.編譯時間長

3.安裝難度大

安裝位置:

/usr/local/軟件名/

例如:mysql

一般是/usr/local/mysql/

(2)二進制包

優點:

1.包管理系統簡單

2.由於是編譯過,所以安裝速度快

缺點:

1.不能看源代碼

2.功能選擇不如源碼包靈活

3.有可能依賴比較麻煩

安裝位置(默認位置):

1. /etc:配置文件安裝目錄

2. /usr/bin/:可執行命令安裝目錄

3. /usr/lib/:程序所使用的函數庫保存位置

4. /usr/share/doc/:基本的軟件使用手冊保存位置

5. /usr/share/man/:幫助文檔保存位置

4、補充:

安裝的服務可以使用系統服務管理命令(service)來管理

本質上是運行了/etc/rc.d/init.d/的命令

例如:

service network start

實質:

/etc/rc.d/init.d/network start

如何區分Linux中的源碼包和二進制包

補充:

rc{0..6}.d目錄下都是一些符號鏈接文件

這些鏈接文件都指向init.d目錄下的service腳本文件

如果使用的是rpm包管理器(二進制包),並且安裝在默認位置,那麼可以直接使用service命令來管理。

如果安裝的是源碼包不能直接利用service,啟動服務的時候必須要使用絕對路徑。

例如:

/usr/local/apache/bin/apachectl start

當然這個可以自己配置成自啟動服務。

最後,感謝大家支持。

"

相關推薦

推薦中...