Lunix下軟件安裝

1. Tarball 的產生和使用

1.1 make與configure

make是能夠對文件進行編譯的簡化指令。通常軟件開發商都會寫一支文件名爲 configure 或者是 config 的偵測程序來偵測用戶的作業環境,偵測完畢後主動的建立記錄了原始碼如何編譯的Makefile 的規則文件。執行 make 時,make 會在當時的目錄下搜尋Makefile (or makefile) 文本文件進行編譯。

1.2 tarball軟件

1.2.1 什麼是tarball軟件

所謂的 Tarball 文件,其實就是將軟件的所有原始碼文件先以 tar 打包,然後再以壓縮技術來壓縮,通常最常見的就是以 gzip 來壓縮了。因爲利用了 tar 與 gzip 的功能,所以 tarball 文件一般的擴展名就會寫成 *.tar.gz 或者是簡寫爲 *.tgz !
Tarball 本質上是一個軟件包, 妳將他解壓縮之後,裏面的文件通常就會有:

1. 源代碼文件;

2. 偵測程序文件 (可能是 configure 或 config 等檔名);

3. 本軟件的簡易說明與安裝說明 (INSTALL 或 README)

1.2.2 如何安裝一個Tarball軟件 

1. 將 Tarball 由廠商的網頁下載下來;

2. 將 Tarball 解開,產生很多的原始碼文件;

3. 開始以 gcc 進行原始碼的編譯 (會產生目標文件 object files);

4. 然後以 gcc 進行函式庫、主、子程序的鏈接,以形成主要的 binary file;

5. 將上述的 binary file 以及相關的配置文件安裝至自己的主機上面。

上面第 3, 4 步驟當中,我們可以透過 make 這個指令的功能來簡化他,但前提是需要你至少有 gcc 以及 make 這兩個軟件在你的 Linux 系統裏面才行。

1.2.3 makefile文件規則與make示例

makefile文件規則爲:

1. 在 makefile 當中的 # 代表批註;
2. <tab> 需要在命令行 (例如 gcc 這個編譯程序指令) 的第一個字符;
3. 目標 (target) 與相依文件(就是目標文件)之間需以『:』隔開。

創建一個clean動作的make:

在makefile中使用變量:

變量的基本語法爲:

1. 變量與變量內容以『=』隔開,同時兩邊可以具有空格;

2. 變量左邊不可以有 <tab> ,例如上面範例的第一行 LIBS 左邊不可以是 <tab>;

3. 變量與變量內容在『=』兩邊不能具有『:』;

4. 在習慣上,變數最好是以『大寫字母』爲主;

5. 運用變量時,以 ${變量} 或 $(變量) 使用;

6. 在該 shell 的環境變量是可以被套用的,例如提到的 CFLAGS 這個變數!

7. 在指令列模式也可以給予變量。

2 軟件安裝RPM、SRPM與YUM

2.1 常見的軟件安裝方式

目前在 Linux 界軟件安裝方式最常見的有兩種,分別是:

1. dpkg:

這個機制最早是由 Debian Linux 社羣所開發出來的,透過 dpkg 的機制, Debian 提供的軟件就能夠簡單的安裝起來,同時還能提供安裝後的軟件信息。 只要是衍生於 Debian 的其他 Linux distributions 大多使用 dpkg 這個機制來管理軟件的, 包括 B2D, Ubuntu 等等。文件後綴爲.deb。

2. RPM:

這個機制最早是由 Red Hat 這家公司開發出來的,後來實在很好用,因此很多 distributions 就使用這個機制來作爲軟件安裝的管理方式。包括 Fedora, CentOS, SuSE 等等知名的開發商。文件後綴爲.rpm。

2.2 RPM與SRPM

RPM 全名是『 RedHat Package Manager 』簡稱則爲 RPM 啦!顧名思義,當初這個軟件管理的機制是由 Red Hat 這家公司發展出來的。 RPM 是以一種數據庫記錄的方式來將你所需要的軟件安裝到你的 Linux 系統的一套管理機制。

他最大的特點就是將你要安裝的軟件先編譯過, 並且打包成爲 RPM 機制的包裝文件。

SRPM 是 Source RPM 的意思,也就是這個 RPM 文件裏面含有原始碼!特別注意的是,這個 SRPM 所提供的軟件內容『並沒有經過編譯』, 它提供的是原始碼!通常 SRPM 的擴展名是以 ***.src.rpm 這種格式來命名的。

yum 可以直接用來進行安裝的動作,基本上 rpm 這個指令真的就只剩下查詢與檢驗的功能了! 

2.3 RPM的使用

2.3.1 安裝

rpm -ivh package_name

選項與參數:

-i :install 的意思

-v :察看更細部的安裝信息畫面

-h :以安裝信息列顯示安裝進度

2.3.2 升級與更新

使用 -Uvh 或 -Fvh 來升級。

2.3.4 查詢

2.4 YUM使用

yum 是透過分析 RPM 的標頭資料後, 根據各軟件的相關性製作出屬性相依時的解決方案,然後可以自動處理軟件的相依屬性問題,以解決軟件安裝或移除與升級的問題。 

由於 distribution 必須要先釋出軟件,然後將軟件放置於 yum 服務器上面,以提供客戶端來要求安裝與升級之用的。 因此我們想要使用 yum 的功能時,必須要先找到適合的 yum server 才行!而每個 yum server 可能都會提供許多不同的軟件功能,那就是我們之前談到的『軟件庫』!因此,你必須要前往 yum server 查詢到相關的軟件庫網址後,再繼續處理後續的設定事宜。

查詢功能:yum [list|info|search|provides|whatprovides] 參數

安裝/升級功能:yum [install|update] 軟件

移除功能:yum [remove] 軟件

2.5 SRPM 

略過

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章