詳細介紹Linux文本安裝軟件
文本環(huán)境下軟件安裝對于初學(xué)Linux的人來說可能會有些恐懼,其實習(xí)慣了Linux字符模式,你很快也就會適應(yīng)這種安裝方式,不同的發(fā)行版本也會有不同的安裝方法。
一、安裝簡便的RPM包
RPM是RedHat Package Manager的縮寫,它只能使用在安裝了RPM軟件的系統(tǒng)中,RedHat Linux和Turbo Linux中已經(jīng)使用了它。這種結(jié)構(gòu)的包使用起來還是很方便的,只要記住幾條簡單的命令和參數(shù)就可以方便地使用:
#〉rpm [options] filename.rpm
其中常用的options包括:
-i: 安裝軟件
-e: 卸載軟件
-q:查看軟件安裝的信息和狀態(tài)
-U: 升級現(xiàn)有軟件
例如安裝軟件時,可以使用如下命令:“rpm -i filename.rpm”,軟件安裝在什么地方、是怎么安裝的都不需要用戶操心,RPM可以幫助用戶管理。由于RPM使用方便,很多軟件都有RPM版本。如果想使用RPM形式的軟件就要首先下載一個RPM管理軟件。該軟件有RPM包和.tar.gz包兩種形式,如果你的系統(tǒng)中已經(jīng)有了RPM管理軟件,你可以下載RPM形式的包來升級現(xiàn)有軟件,否則就必須了解.tar.gz包的安裝方法。
二、安裝需要編譯的.tar.gz包
由于RPM包使用的局限性(必須安裝RPM),目前更多的軟件使用的是源代碼形式的.tar.gz包。這種軟件的安裝通常要經(jīng)過解壓縮、軟件配置、軟件編譯及安裝的過程。
解壓縮通常有兩種命令方法:一種是“gunzip filename-VERSION-OS.tar.gz | tar xvf -”,它實質(zhì)是兩條命令“gunzip filename-VERSION-OS.tar.gz”和“tar xvf filename-VERSION-OS.tar”;另一種是“tar xzvf filename-VERSION-OS.tar.gz”。一般來說在軟件解壓縮后會生成一個目錄filename-VERSION-OS。
軟件的配置、編譯、安裝是最讓初學(xué)者望而生畏的事了,但筆者認為掌握一些規(guī)律還是不難的。一般來說,在解壓縮生成的目錄中都會有名為Readme、 Rnstall或Readme.install之類的文件。這些文件通常會對軟件的功能、特性、版權(quán)許可、安裝以及相關(guān)知識加以介紹,并且會提到關(guān)于安裝的方法和步驟。舉例來說:在apache_1.3.6的install文件中說明了如下內(nèi)容(此處只列出總的條目,具體內(nèi)容省略):
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(配置的參數(shù)說明)
4.Building the package(編譯軟件的方法)
5.Installing the package(安裝軟件的方法)
6.Testing the package(軟件測試)
理解并能熟練使用這些說明文件后,就可以利用一些規(guī)律來安裝大多數(shù)的軟件。對于那些沒有說明文件的軟件(當然這種情況比較少見),這些規(guī)律通常也是適用的。一般來說,與安裝軟件有直接關(guān)系的文件只有兩個:configure 、Makefile。
其中,configure文件具有可執(zhí)行的屬性,是用來配置軟件的,它的參數(shù)比較多,用法也比較靈活。當然,不同的軟件參數(shù)也不相同,這時候就需要借助它的help參數(shù),運行下面的命令就會讓你感到豁然開朗:
- #〉 ./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]”來配置該軟件。注意,命令行中的“./”非常重要,它告訴系統(tǒng)要運行的命令就在當前目錄下(否則系統(tǒng)就會到$path變量指定的路徑下去執(zhí)行命令)。執(zhí)行命令后可以生成Makefile文件或者修改已有的文件配置。
Makefile文件通常是用來編譯和安裝軟件的。運行make命令時系統(tǒng)會自動根據(jù)Makefile文件中的設(shè)置對軟件進行編譯和安裝。make命令有時還可以帶一些參數(shù),如:all、build、config、install等。具體要帶哪個參數(shù)可以參看Makefile文件。在Linux中絕大部分文件是文本文件,Makefile就是一個shell程序(Linux中shell程序與DOS中的批處理文件有很多相似之處,當然功能要強得多),很容易讀懂,尤其是編譯時可帶的參數(shù)都會明確寫出,例如:
- ##========================
- ## 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參數(shù)表示完全編譯(缺省參數(shù))。此外,編譯時還可以帶build、build-quiet、build-surpport等參數(shù);安裝時可以帶install、install-quiet、 install-surpport等參數(shù)。它們的功能分別在“#”表示的注釋中進行了說明。需要額外說明的是,有些軟件(例如Linux的內(nèi)核升級程序)不用configure命令來配置軟件,而是用make config來完成這項工作,所以,具體使用哪種方法要具體問題具體分析。
◆幾點注意事項
一、安裝方法的適用范圍
上面提到的軟件安裝方法并不是在任何版本的Linux上都適用。筆者認為,.tar.gz包的安裝方法適用于各種版本的Linux,而RPM包則有一定的局限性。
目前常見的各種Linux發(fā)行版本中,如:Redhat 6.0、Turbo Linux 3.0.2、Xteam 3.0等都支持RPM包。如果你想知道你使用的Linux是否支持RPM包,只要運行一下“rpm --help”命令就知道了。不過,對于不支持RPM包的版本,可以安裝一個RPM管理軟件。
二、容易出現(xiàn)的問題
在安裝軟件時,一定要保證你對用到的軟件包有訪問權(quán)限。當然如果你是root就沒問題了。但如果你真的是root你就需要注意另一個問題,由于 root的權(quán)限過高,所以在安裝軟件時,要防止對系統(tǒng)其它軟件造成誤操作(在使用rm 等“危險”命令時,尤其要注意)。
另一個容易出現(xiàn)的問題是,在卸載RPM包的軟件時要慎重,因為很多軟件之間是相互關(guān)聯(lián)的,你卸載的軟件很可能是其它軟件要用到的,要防止由于卸載了一個軟件而影響另一個軟件的正常使用。所以筆者建議,初學(xué)者對于與系統(tǒng)運行有關(guān)的軟件盡量不要刪除(對于游戲、應(yīng)用軟件一類的軟件不必有太多顧慮)。等你成為一名經(jīng)驗豐富的系統(tǒng)管理員時,你就能靈活地處理這些問題了。
【編輯推薦】