Linux下軟件安裝方法

對於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)

 

 

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包形式的軟件按照功能分在Amusements、 Application、Development、Document、Extension、Extentions、Networking、System Environment、UserInterface、X11等幾個樹形目錄中,每個目錄中有相應的文件圖標和名稱。要安裝或升級軟件,只要點擊工具欄的相應按鈕就會彈出打開文件的對話框,選中你要安裝的RPM文件,單擊“OK”按鈕,一切大功告成;卸載軟件時,需要根據分類找到該軟件的圖標,點擊右鍵,選Uninstall就可以了。如果你會在Win 95/98中查找文件的話,在Linux中查找已經安裝的軟件也就不難了。這個軟件可以到下面的站點下載: ftp.gnome.org/pub/GNOME/stable/

 

sources/gnorpm。

 

 幾點注意事項  

 

一、安裝方法的適用範圍

 

上面提到的軟件安裝方法並不是在任何版本的Linux上都適用。筆者認爲,.tar.gz包的安裝方法適用於各種版本的Linux,而RPM包則有一定的侷限性。

 

目前常見的各種Linux發行版本中,如:Redhat 6.0、Turbo Linux 3.0.2、Xteam 3.0等都支持RPM包。如果你想知道你使用的Linux是否支持RPM包,只要運行一下“rpm --help”命令就知道了。不過,對於不支持RPM包的版本,可以安裝一個RPM管理軟件。

 

二、容易出現的問題

 

在安裝軟件時,一定要保證你對用到的軟件包有訪問權限。當然如果你是root就沒問題了。但如果你真的是root你就需要注意另一個問題,由於root的權限過高,所以在安裝軟件時,要防止對系統其它軟件造成誤操作(在使用rm 等“危險”命令時,尤其要注意)。

 

另一個容易出現的問題是,在卸載RPM包的軟件時要慎重,因爲很多軟件之間是相互關聯的,你卸載的軟件很可能是其它軟件要用到的,要防止由於卸載了一個軟件而影響另一個軟件的正常使用。所以筆者建議,初學者對於與系統運行有關的軟件儘量不要刪除(對於遊戲、應用軟件一類的軟件不必有太多顧慮)。等你成爲一名經驗豐富的系統管理員時,你就能靈活地處理這些問題了。

 

發佈了16 篇原創文章 · 獲贊 5 · 訪問量 7萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章