天天看點

安卓修改軟體安裝時間_Linux軟體包分類源碼包特點二進制包特點

Linux 下的軟體包衆多,而且幾乎都是經 GPL 授權的,也就是說這些軟體都免費,振奮人心吧?而且更棒的是,這些軟體幾乎都提供源代碼(開源的),隻要你願意,就可以修改程式源代碼,以符合個人的需求和習慣。當然,你要具備修改這些軟體的能力才可以。

源碼包到底是什麼呢?其實就是軟體工程師使用特定的格式和文法所書寫的文本代碼,是人寫的計算機語言的指令,一般由英文單詞組成。是不是有點暈?

其實源代碼程式是程式員寫的計算機指令,符合特定的格式和文法。那麼,衆所周知,計算機可以識别的是機器語言,也就是二進制語言,是以需要一名翻譯官把abed翻譯成二進制機器語言。我們一般把這名翻譯官稱為編譯器,它的作用就是把人能夠識别的 abcd 翻譯成二進制機器語言,讓計算機可以識别并執行。

源碼包不用擔心收費問題,但是我并不會 C 語言怎麼辦?那一大堆的源代碼程式到底如何使用呢?這個源碼包容易安裝嗎?源碼包的安裝因為要把源代碼編譯為二進制語言,是以安裝的時間較長。比如,在 Windows 下大家可能安裝過 QQ,現在的 QQ 功能較多,程式相對較大,大概有 60 MB,但由于 QQ 并不是以源代碼形式釋出的,而是經過編譯之後釋出的,是以隻需要幾分鐘并經過簡單的配置就可以安裝成功。安裝時間較短(當然功能也基本不能自定義)。

在 Linux 中安裝一個 MySQL 資料庫,這個資料庫的壓縮包大概有 23 MB,需要多長時間呢?答案是 30 分鐘左右(根據計算機硬體配置不同)。這樣看來編譯還是很浪費時間的,而且絕大多數使用者并不熟悉寫程式的語言,是以我們要祈禱程式不要報錯,否則對初學者來講很難解決。

為了解決源碼包的這些問題,在 Linux 中就出現了二進制包,也就是源碼包經過編譯之後的包。這種包因為編譯過程在釋出之前已經完成,是以使用者安裝時速度較快(和 Windows 下安裝軟體速度相當),而且報錯也大大減少。

二進制包是 Linux 下的預設安裝軟體包,是以有時我們也把二進制包稱作預設安裝軟體包。目前主要有兩個系列的二進制包管理系統:一個是 Red Hat 上的 RPM 包管理系統;另一個是 Debian 和 Ubuntu 上的 DPKG 包管理系統。本教程講的是 Red Hat 公司的 CentOS Linux,是以我們主要講解 RPM 包管理系統。不過這兩個系列的二進制包管理的原理與形式大同小異,可以觸類旁通。

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

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

好了,通過這個例子大家可以了解源碼包和二進制包之間的差別。

源碼包特點

源碼包既然是軟體包,就不會是一個檔案,而是多個檔案的集合。出于發行的需要,我們一般會把源碼包打包壓縮之後釋出,而 Linux 中最常用的打包壓縮格式是"Mar.gz",是以我們也把源碼包叫作 Tarball。源碼包需要大家自己去軟體的官方網站進行下載下傳。

源碼包的壓縮包中一般會包含如下内容:

  • 源代碼檔案。
  • 配置和檢測程式(如configure或config等)。
  • 軟體安裝說明和軟體說明(如INSTALL或 README)。

源碼包的優點如下:

  • 開源。如果你有足夠的能力,則可以修改源代碼。
  • 可以自由選擇所需的功能。
  • 因為軟體是編譯安裝的,是以更加适合自己的系統,更加穩定,效率也更高。
  • 解除安裝友善。

源碼包的缺點如下:

  • 安裝過程步驟較多,尤其是在安裝較大的軟體集合時(如 LAMP 環境搭建),容易出現拼寫錯誤。
  • 編譯時間較長,安裝時間比二進制安裝要長。
  • 因為軟體是編譯安裝的,是以在安裝過程中一旦報錯,新手很難解決。

二進制包特點

二進制包是在軟體釋出的時候已經進行過編譯的軟體包,是以安裝速度比源碼包快得多(和 Windows 下軟體安裝速度相當)。但是因為已經進行通譯,大家也就不能在看到軟體的源代碼了。目前兩大主流的二進制包系統是 DPKG 包和 RPM 包。

  • DPKG 包是由 Debian Linux 所開發的包管理機制,通過 DPKG 包,Debian Linux 就可以進行軟體包管理,主要應用在 Debian 和 Ubuntu 中。
  • RPM 包是由 Red Hat 公司所開發的包管理系統,功能強大,安裝、更新、査詢和解除安裝非常簡單友善。

目前很多 Linux 版本都在使用這種包管理方式,包括 Fedora、CentOS、SuSE 等。Linux 預設采用 RPM 包來安裝系統,是以常用的 RPM 包都在安裝CD光牒中。

RPM 包的優點如下:

  • 包管理系統簡單,隻通過幾個指令就可以實作包的安裝、更新、査詢和解除安裝。
  • 安裝速度比源碼包安裝快得多。

RPM 包的缺點如下:

  • 經過編譯,不能在看到源代碼。
  • 功能選擇不如源碼包靈活。
  • 依賴性。有時我們會發現,在安裝軟體包 a 時需要先安裝 b 和 c,而在安裝 b 時需要先安裝 d 和 e。這就需要先安裝 d 和 e,再安裝 b 和 c,最後才能安裝 a。比如,我買了一個漂亮的燈具,打算安裝在客廳裡,可是在安裝燈具之前,客廳需要有頂棚,并且頂棚需要刷好油漆。安裝軟體和裝修及其類似,需要有一定的順序,但是有時依賴性會非常強。
安卓修改軟體安裝時間_Linux軟體包分類源碼包特點二進制包特點