国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Linux > 正文

Linux軟件包(源碼包和二進制包)

2024-08-27 23:57:04
字體:
來源:轉載
供稿:網友
linux下的軟件包眾多,且幾乎都是經 GPL 授權、免費開源(無償公開源代碼)的。這意味著如果你具備修改軟件源代碼的能力,只要你愿意,可以隨意修改。

GPL,全稱 General Public License,中文名稱“通用性公開許可證”,簡單理解 GPL 就是一個保護軟件自由的一個協議,經 GPL 協議授權的軟件必須開源,請猛擊《開源協議》了解更多信息。

Linux下的軟件包可細分為兩種,分別是源碼包二進制包

Linux源碼包

實際上,源碼包就是一大堆源代碼程序,是由程序員按照特定的格式和語法編寫出來的。

我們都知道,計算機只能識別機器語言,也就是二進制語言,所以源碼包的安裝需要一名“翻譯官”將“abcd”翻譯成二進制語言,這名“翻譯官”通常被稱為編譯器

“編譯”指的是從源代碼到直接被計算機(或虛擬機)執行的目標代碼的翻譯過程,編譯器的功能就是把源代碼翻譯為二進制代碼,讓計算機識別并運行,讀者可以猛擊《C語言編譯器》了解更多信息。

雖然源碼包免費開源,但用戶不會編程怎么辦?一大堆源代碼程序不會使用怎么辦?源碼包容易安裝嗎?等等這些都是使用源碼包安裝方式無法解答的問題。

另外,由于源碼包的安裝需要把源代碼編譯為二進制代碼,因此安裝時間較長。比如,大家應該都在 Windows下安裝過 QQ,QQ 功能較多,程序相對較大(有 70 MB左右),但由于其并非是以源碼包的形式發布,而是編譯后才發布的,因此只需幾分鐘(經過簡單的配置)即可安裝成功。但如果我們以源碼包安裝的方式在 Linux 中安裝一個 mysql 數據庫,即便此軟件的壓縮包僅有 23 MB左右,也需要 30 分鐘左右的時間(根據硬件配置不同,略有差異)。

通過對比你會發現,源碼包的編譯是很費時間的,況且絕多大數用戶并不熟悉程序語言,在安裝過程中我們只能祈禱程序不要報錯,否則初學者很難解決。

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

Linux二進制包

二進制包,也就是源碼包經過成功編譯之后產生的包。由于二進制包在發布之前就已經完成了編譯的工作,因此用戶安裝軟件的速度較快(同 Windows下安裝軟件速度相當),且安裝過程報錯幾率大大減小。

二進制包是 Linux 下默認的軟件安裝包,因此二進制包又被稱為默認安裝軟件包。目前主要有以下 2 大主流的二進制包管理系統:
  • RPM 包管理系統:功能強大,安裝、升級、査詢和卸載非常簡單方便,因此很多 Linux 發行版都默認使用此機制作為軟件安裝的管理方式,例如 Fedora、CentOS、SuSE 等。
  • DPKG 包管理系統:由 Debian Linux 所開發的包管理機制,通過 DPKG 包,Debian Linux 就可以進行軟件包管理,主要應用在 Debian 和 Ubuntu 中。

RPM 包管理系統和 DPKG 管理系統的原理和形式大同小異,可以觸類旁通。由于本教程使用的是 CentOS 6.x 版本,因此本節主要講解 RPM 二進制包。

源碼包 VS RPM二進制包

源碼包一般包含多個文件,為了方便發布,通常會將源碼包做打包壓縮處理,Linux 中最常用的打包壓縮格式為“tar.gz”,因此源碼包又被稱為 Tarball。

Tarball 是 Linux 系統的一款打包工具,可以對源碼包進行打包壓縮處理,人們習慣上將最終得到的打包壓縮文件稱為 Tarball 文件。

源碼包需要我們自己去軟件官方網站進行下載,包中通常包含以下內容:
  • 源代碼文件。
  • 配置和檢測程序(如 configure 或 config 等)。
  • 軟件安裝說明和軟件說明(如 INSTALL 或 README)。

總的來說,使用源碼包安裝軟件具有以下幾點好處:
  • 開源。如果你有足夠的能力,則可以修改源代碼。
  • 可以自由選擇所需的功能。
  • 因為軟件是編譯安裝的,所以更加適合自己的系統,更加穩定,效率也更高。
  • 卸載方便。

但同時,使用源碼包安裝軟件也有幾點不足:
  • 安裝過程步驟較多,尤其是在安裝較大的軟件集合時(如 LAMP 環境搭建),容易出現拼寫錯誤。
  • 編譯時間較長,所以安裝時間比二進制安裝要長。
  • 因為軟件是編譯安裝的,所以在安裝過程中一旦報錯,新手很難解決。

相比源碼包,二進制包是在軟件發布時已經進行過編譯的軟件包,所以安裝速度比源碼包快得多(和 Windows 下軟件安裝速度相當)。也正是因為已經進行通譯,大家無法看到軟件的源代碼。

使用 RMP 包安裝軟件具有以下 2 點好處:
  1. 包管理系統簡單,只通過幾個命令就可以實現包的安裝、升級、査詢和卸載。
  2. 安裝速度比源碼包安裝快得多。

與此同時,使用 RMP 包安裝軟件有如下不足:
  • 經過編譯,不能在看到源代碼。
  • 功能選擇不如源碼包靈活。
  • 依賴性。有時我們會發現,在安裝軟件包 a 時需要先安裝 b 和 c,而在安裝 b 時需要先安裝 d 和 e。這就需要先安裝 d 和 e,再安裝 b 和 c,最后才能安裝 a。比如,我買了一個漂亮的燈具,打算安裝在客廳里,可是在安裝燈具之前,客廳需要有頂棚,并且頂棚需要刷好油漆。安裝軟件和裝修及其類似,需要有一定的順序,但是有時依賴性會非常強。

如何選擇

通過源碼包和 RMP 二進制包的對比,在 Linux 進行軟件安裝時,我們應該使用哪種軟件包呢?

為了更好的區別兩種軟件包,這里舉個例子。假設我們想做一套家具,源碼包就像所有的家具完全由自己動手手工打造(手工編譯),想要什么樣的板材、油漆、顏色和樣式都由自己決定(功能自定義,甚至可以修改源代碼)。想想就覺得爽,完全不用被黑心的廠商所左右,而且不用擔心質量問題(軟件更適合自己的系統,效率更高,更加穩定)。但是,所花費的時間大大超過了買一套家具的時間(編譯浪費時間),而且自己真的有做木工這個能力嗎(需要對源代碼非常了解)?就算請別人定制好的家具,再由自己組裝,萬一哪個部件不匹配(報錯很難解決),怎么辦?

那么二進制包呢?也是我們需要一套家具,去商場買了一套(安裝簡單),家具都是現成的,不會有哪個部件不匹配,除非因為自身問題沒有量好尺寸而導致放不下(報錯很少)。但是我們完全不知道這套家具用的是什么材料、油漆是否合格,而且家具的樣式不能隨意選擇(軟件基本不能自定義功能)。

通過以上對源碼包和二進制包的講解,相信大家對兩者的區別和特點有了更清楚的認識。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 偃师市| 宜良县| 额济纳旗| 长寿区| 灵寿县| 巫溪县| 青龙| 河东区| 临颍县| 内乡县| 师宗县| 克拉玛依市| 富锦市| 巴东县| 盱眙县| 白水县| 嘉定区| 贺州市| 开远市| 鲁甸县| 聂拉木县| 北辰区| 尼玛县| 龙南县| 长海县| 阿克| 西林县| 镇江市| 宁陵县| 昌都县| 淄博市| 甘南县| 桑日县| 巩留县| 东乌珠穆沁旗| 安吉县| 海宁市| 白山市| 景宁| 桐乡市| 田林县|