現在,有越來越多的人開始接觸Linux、安裝Linux、使用Linux,網絡上,越來越多企業使用Linux來架構,同時也有越來越多的人討論著與Linux相關的話題。顯然,Linux已經漸漸踏進當今我們的生活空間中了。
由於Linux是一個由一大群電腦愛好者共同創造的,因此在Linux上執行的軟件相當多,而且以很快的速度增長。對於已經發布的軟件,也會有新的修正版本供諸於世。而這些資源,都是散落在世界各地的,令人一時間無所適從。於是,出現了各種Linux的發布版,供人們安裝Linux系統之用,如 RedHat、Slackware、Debain等。在這些發布版裡,囊括了各種最基本、最常用的Linux軟件,然而由於存在著時間與空間的因素,在我們安裝完系統之後,其中的部份軟件可能已經在因特網上發表了更新版,或者有些需要的軟件卻沒有收錄進來,另外還有許多新軟件還來不及納入該發布版中。現在人們接觸因特網的機會越來越多,使用者可以輕易的使用FTP來獲得新的軟件。從而,通過各種渠道獲得軟件並自己動手將取得的軟件安裝到自己的Linux系統中,便顯得越來越重要。
首先,從因特網上FTP服務器取得Linux軟件,其格式大多是下列幾種中的一種:
1、*.tar -- 直接用 tar 將所有文件打包。
2、*.gz -- 使用 gzip 或 compress 壓縮的文件。
3、*.z
4、*.tar.gz
5、*.tar.-- 先使用 tar 將文件打包後,再用 gzip 或compress 將該文件壓縮後的文件。
6、*.tgz
為了節省儲存空間以及提高傳輸效率,絕大部分軟件都是經過壓縮處理,才放在服務器上供人們下載的。因此,在獲得這些軟件後的第一件事,就是要對該軟件進行解壓。現在,我們以一些常見的儲存格式為例,來說明解包的方法。
首先,介紹一下解包的工具:
1、tar
其功能是將多個文件打包成一個合並的文件。軟件作者可將所有文件打包成一個文件。使用者也要用 tar 來將這些文件解包。
2、gzip
GNU Zip 是一個在Unix系統中常用的壓縮、解壓縮命令。 Gzip 壓縮過的文件大都會在文件名後面加上 .gz 、 .z 。
3、compress
Unix系統中傳統的壓縮命令,它可以壓縮文件以減小文件的大小, compress 壓縮過的文件名後會加上 .Z 。 compress 文件保留原文件的權限和一些時間屬性。
4、zcat
zcat命令的功能是解壓縮由 compress 或 gzip 命令產生的壓縮文件,並把結果送標准輸出設備,且保留原壓縮文件。
5、zless
與 zcat 類似,可以直接查看一個由 gzip 壓縮的文件內容。
這些是常用的文件打包、壓縮工具,下面我們來看一些實際的例子。
以myfile.tar.gz為例,可以看出這類型的文件是由 tar 打包後再由 gzip 壓縮的產物。對於這個文件的解包方法是,先使用 gzip 將該文件解壓縮為原始的 tar 文件,然後執行 tar 將這些被打包在一起的文件一一還原。
1、用 gzip 解壓縮
gzip -d myfile.tar.gz
“gzip –d 文件名”是解壓縮的使用方法,在執行過解壓縮的處理後,原來的壓縮文件將不存在,而僅僅保留解壓縮後的文件,不會額外占用磁盤空間。所以在執行完此命令後,將看不到原先的 myfile.tar.gz 而只有 myfile.tar 。
2、執行 tar 將文件解開
用“tar xvf 文件名”的方式將一個 tar 文件解開。 tar 對文件名沒有特別規定,因此,在使用 tar 時,要給予完整的文件名,否則 tar 會找不到要處理的文件。
tar xvf myfile.tar
3、查看壓縮文件的內容
由於 tar 可將多個指定目錄的文件打包產生成一個文件,在這個文件中不僅含有原文件的內容也包括了文件目錄以及文件屬性,因此我們在解開一個 tar 格式的文件之前,最好也清楚一下這個 tar 文件內的目錄結構,以免解開後,文件產生到其他目錄中。
下面的命令可以讓我們知道 myfile.tar 中究竟包含了哪些文件。
tar tvf myfile.tar
同樣,gzip也提供此類的功能,我們可以使用gzip -l來查看壓縮文件中的內容。
gzip -l myfile.tar.gz
注意,我們在使用“tar xvf 文件名”解開文件時, tar 會根據所記錄的每個原始文件所在目錄來解開這些文件, tar 在執行時,會先在當前目錄裡找這個目錄,如果找不到就建立該目錄,然後逐一建立文件。
舉個例子來說,現有一 tar 文件要解開,我們先使用“tar tvf 文件名"的方式查看該內容,發現列出來的文件名開頭都是usr/local/ 。在這個情況下,如果我們在$HOME目錄下進行解包,那麼 tar 將在該目錄下分別建立 usr/local/ 等目錄。可見,此時用root身份在根目錄解包比較恰當。所以在處理一個不知內容的 tar 文件前,先看一下文件內的目錄結構是必要的。
4、綜合應用
經過上面的說明,大家應該已經會正確地解開一個軟件包了,不過上面的方法是最規矩的方式,或稱之為分解動作,下面要說的是其綜合應用。
例如,要查看 /SOURCE 中的 myfile.tgz 的內容:
zcat /SOURCE/myfile.tgz | tar tvf -
說明:(1) zcat 將一個 gzip 壓縮文件解開並輸出到標准輸出設備。
(2)通過管道功能,將 zcat 的結果轉向 tar 來處理。
(3) tar tvf 來查看文件內容。
(4)使用 "-" 是告訴 tar 要處理的文件資料是由標准輸入設備而來的。
要解開文件時使用:
zcat /SOURCE/myfile.tgz | tar xvf -
執行結果和原先分步執行結果不同的是:壓縮文件仍然存在。這些都可以達到解開文件的目的,可以隨個人喜好來選擇不同的方法。
下面開始安裝軟件,新軟件的原始文件解開後,接下來就是查閱作者附在裡面的一些文件,如 README.xxx 、 RELEASE 、 SETUP 、 TODO 、 doc 、 INSTALL 、 ChangeLog 等文件。因為,在這些文件裡往往會有些主要功能的說明,編譯時系統環境的限制,如OS版本、GNU C版本、內存,以及軟件環境參數設置的方式和軟件安裝的步驟。所以,必須要閱讀這些資料以免造成遺憾。並應注意以下幾個方面。
1、Linux系統版本的限制
Linux版本更新速度相當快,所以如果該軟件使用到較新版本的特有功能時,則該軟件無法在舊版本的Linux系統中執行。
2、GNU C、C Runtime Library版本的限制
如果直接安裝軟件的可執行文件時,如果Runtime Library的版本與作者編譯該軟件時的版本差異過大時,那麼就會產生錯誤導致無法執行。如果要重新編譯該軟件並且該軟件用到一些新版才提供的函數時就會發生編譯錯誤。因此如果有此限制時,只有放棄該軟件和升級系統兩種選擇。
3、內存、硬盤的限制
有一些軟件在編譯或執行時有特定的要求,會要求系統至少要有多少的內或硬盤空間。如果沒有注意到這一點,就有可能花了很多功夫結果得到的是一個錯誤訊息。
4、其他相關軟件
有一些軟件會使用到其他軟件,因此如果系統沒有此相關軟件,那也沒法安裝該軟件。
5、軟件安裝步驟說明
對於較為復雜的軟件,作者為了利於使用者正確安裝,一般說來都會附上一份簡要的安裝說明。所以如果有這類文件最好看一下。
6、其他方面
有些軟件有多個更新版本,可能會附上文件來說明每個版本更新的主要內容以及錯誤修正的情況,象這類文件也可以參考。
如果該軟件是以可執行文件的方式安裝,就沒有別的要說的了,一切安裝工作也就到此為止。如果是以原代碼方式提供的話,那麼就要編譯軟件。它是一件相當頻繁的工作。究竟該怎麼編譯軟件呢?說簡單一點就是直接在軟件的原代碼所在目錄敲入 make 就可以完成編譯工作。通常作者在原代碼目錄中建立該軟件編譯所要的 Makefile 讓使用者直接用 make 來完成編譯工作。
以上就是關於如何為Linux添加軟件的說明,希望對大家有所幫助。
本文章版權屬WWW.CPCW.COM網站與中國Linux論壇所有,侵權必究。如需轉載,請與 www.cpcw.com網站聯系
——摘自:CPCW網站