對於Linux初學者來說,安裝一個很小的軟件恐怕都是一件很讓人頭疼的事,因為在Linux下安裝軟件不像在 Windows中那樣簡單。在Linux中大多數軟件提供的是源代碼,而不是現成的可執行文件,這就要求用戶根據自己系統的實際情況和自身的需要來配置、編譯源程序後,軟件才能使用。多數初學者往往不知道該如何進行配置和編譯就盲目地運行一些有執行屬性的文件或者機械地運行“make”、“make install”之類的命令。結果呢?是軟件沒裝成,自己急出一身汗,後果嚴重的還會破壞系統的穩定性。下面筆者將安裝軟件方面的一些規律寫出來與大家分享。 目前流行的軟件包有兩種比較常見的形式,一種是RPM包的形式,另一種是壓縮成*.tar.gz的形式。本文將討論這兩種形式的軟件包在文本環境和圖形環境(X Window)下不同的安裝方法。 文本環境下的軟件安裝 一、安裝簡便的RPM包 RPM是RedHat Package Manager的縮寫,它只能使用在安裝了RPM軟件的系統中,RedHat Linux和Turbo Linux中已經使用了它。這種結構的包使用起來還是很方便的,只要記住幾條簡單的命令和參數就可以方便地使用: #〉rpm [options] filename.rpm 其中常用的options包括: -i: 安裝軟件 -e: 卸載軟件 -q:查看軟件安裝的信息和狀態 -U: 升級現有軟件 例如安裝軟件時,可以使用如下命令:“rpm -i filename.rpm”,軟件安裝在什麼地方、是怎麼安裝的都不需要用戶操心,RPM可以幫助用戶管理。由於RPM使用方便,很多軟件都有RPM版本。如果想使用RPM形式的軟件就要首先下載一個RPM管理軟件。在FTP://ftp.rpm.org/pub/rpm/dist/rpm-version網站可以下載最新的版本——rpm-3.-.4.i386。該軟件有RPM包和.tar.gz包兩種形式,如果你的系統中已經有了RPM管理軟件,你可以下載RPM形式的包來升級現有軟件,否則就必須了解.tar.gz包的安裝方法。 二、安裝需要編譯的.tar.gz包 由於RPM包使用的局限性(必須安裝RPM),目前更多的軟件使用的是源代碼形式的.tar.gz包。這種軟件的安裝通常要經過解壓縮、軟件配置、軟件編譯及安裝的過程。 解壓縮通常有兩種命令方法:一種是“gunzip filename-VERSION-OS.tar.gz tar xvf -”,它實質是兩條命令“gunzip filename-VERSION-OS.tar.gz”和“tar xvf filename-VERSION-OS.tar”;另一種是“tar xzvf filename-VERSION-OS.tar.gz”。 一般來說在軟件解壓縮後會生成一個目錄filename-VERSION-OS。 軟件的配置、編譯、安裝是最讓初學者望而生畏的事了,但筆者認為掌握一些規律還是不難的。一般來說,在解壓縮生成的目錄中都會有名為Readme、Rnstall或Readme.install之類的文件。這些文件通常會對軟件的功能、特性、版權許可、安裝以及相關知識加以介紹,並且會提到關於安裝的方法和步驟。舉例來說:在apache_1.3.6的install文件中說明了如下內容(此處只列出總的條目,具體內容省略): Installing the Apache 1.3 HTTP server with APACI ============================== 1.Overview for the impatient(概括說明配置的全過程) $./configure--prefix=PREFIX $make $make install $PREFIX/bin/apachectl start 2.Requirements(需要的條件) 3.Configuring the source tree(配置的參數說明) 4.Building the package(編譯軟件的方法) 5.Installing the package(安裝軟件的方法) 6.Testing the package(軟件測試) 理解並能熟練使用這些說明文件後,就可以利用一些規律來安裝大多數的軟件。對於那些沒有說明文件的軟件(當然這種情況比較少見),這些規律通常也是適用的。一般來說,與安裝軟件有直接關系的文件只有兩個:configure 、Makefile。 其中,configure文件具有可執行的屬性,是用來配置軟件的,它的參數比較多,用法也比較靈活。當然,不同的軟件參數也不相同,這時候就需要借助它的help參數,運行下面的命令就會讓你感到豁然開朗: #〉 ./configure -help Usage: configure [options] Options: [defaults in brackets after descriptions] General options: --quiet, --silent do not print messages --verbose,-v print even more messages --sha [=DIR] switch to a shadow tree (under DIR) for building Stand-alone options: --help,-h print this message --show-layout print installation path layout (check and debug) [[The No.1 Picture.]] 圖1 Gnome運行界面 Installation layout options: --with-layout=[F:]ID use installation path layout ID (from file F) --target=TARGET install name-associated files using basename TARGET …… 接下來,就可以運行“./configure [options]”來配置該軟件。注意,命令行中的“./”非常重要,它告訴系統要運行的命令就在當前目錄下(否則系統就會到$path變量指定的路徑下去執行命令)。執行命令後可以生成Makefile文件或者修改已有的文件配置。 Makefile文件通常是用來編譯和安裝軟件的。運行make命令時系統會自動根據Makefile文件中的設置對軟件進行編譯和安裝。make命令有時還可以帶一些參數,如:all、build、config、install等。具體要帶哪個參數可以參看Makefile文件。在Linux中絕大部分文件是文本文件,Makefile就是一個shell程序(Linux中shell程序與DOS中的批處理文件有很多相似之處,當然功能要強得多),很容易讀懂,尤其是編譯時可帶的參數都會明確寫出,例如: ##======================== ## Targets ##======================== # default target all: build ##------------------------ ## Build Target ##------------------------ # build the package build: …… # the non-verbose variant for package maintainers build-quiet: @$(MAKE) -f $(TOP)/$(MKF) $(MFLAGS) $(MFWD) QUIET=1 build # build the additional support stuff build-support: …… ##------------------------ ## Installation Targets ## ----------------------- # the install target for installing the complete Apache # package. This is implemented by running suBTargets for the # separate parts of the installation process. install: …… # the non-verbose variant for package maintainers install-quiet: @$(MAKE) -f $(TOP)/$(MKF) $(MFLAGS) $(MFWD) QUIET=1 install # create the installation tree install-mktree: …… 上面這段代碼是apache_1.3.6的Makefile文件的一部分,從這段程序可以看出all參數表示完全編譯(缺省參數)。此外,編譯時還可以帶build、build-quiet、build-surpport等參數;安裝時可以帶install、install-quiet、install-surpport等參數。它們的功能分別在“#”表示的注釋中進行了說明。需要額外說明的是,有些軟件(例如Linux的內核升級程序)不用configure命令來配置軟件,而是用make config來完成這項工作,所以,具體使用哪種方法要具體問題具體分析。 圖形界面下的軟件安裝 在圖形環境下,同樣可以彈出一個仿真終端以文本的方法來安裝軟件,但那樣就太笨了,因為在X Window中有一些簡單的方法可以幫您完成軟件安裝。下面筆者以RedHat 6.0為例做介紹。 一、圖形界面下安裝.tar.gz包 在X Window下,安裝這種形式的包簡化程度並不大,只是在解壓縮軟件時方便一些。用鼠標左鍵雙擊要安裝的軟件包,系統就會自動生成一個目錄——filename.tar.gz#utar,在這個目錄下就有你要解壓縮的內容——filename目錄。將該目錄拷貝到你要解壓縮的目錄下,解壓縮的工作就這樣簡單地完成了。不過,剩下的工作還要彈出一個仿真終端以文本的方法來完成。 二、圖形界面下安裝RPM包 在X Window中你要安裝、升級、卸載和查詢一個RPM軟件包實在是太容易了。以Redhat 6.0為例,它的X Window中有一個Gnome RPM軟件可以完成上面提到的一切工作。 點擊“Start”→“System”→“GnomeRPM”,可以運行該軟件。它將安裝好的RPM包形式的軟