天天看點

Linux下軟體安裝詳解

在Linux系統中,軟體安裝程式比較紛繁複雜,不過最常見的有兩種:

1)一種是軟體的源代碼,您需要自己動手編譯它。這種軟體安裝包通常是用gzip壓縮過的tar包(字尾為.tar.gz)。

2)另一種是軟體的可執行程式,你隻要安裝它就可以了。這種軟體安裝包通常被是一個RPM包(Redhat Linux Packet Manager,就是Redhat的包管理器),字尾是.rpm。

  當然,也有用rpm格式打包的源代碼,用gzip壓縮過的可執行程式包。隻要您了解了以下的思路,這兩種形式的安裝包也不在話下了。

  下面,我們就分成兩個部分來說明軟體安裝思路:

第一部分:搞定.tar.gz

  1.首先,使用tar -xzvf來解開這個包,如:

  #tar -xzvf apache_1_3_6_tar.gz

  這樣就會在目前目錄中建立了一個新目錄(目錄名與.tat.gz包的檔案名類似),用來存放解壓了的内容。如本例中就是apache_1.3.6

  2.進入這個目錄,再用ls指令檢視一下所包含的檔案,如:

  #cd apache_1.3.6

  #ls

  你觀察一下這個目錄中包含了以下哪一個檔案:configure、Makefile還是Imake。

1)如果是configure檔案,就執行:

  #./configure

  #make

  #make install

2)如果是Makefile檔案,就執行:

  #make

  #make install

3)如果是Imake檔案,就執行:

  #xmkmf

  #make

  #make install

3.如果沒有出現什麼錯誤提示的話,就搞定了。至于軟體安裝到什麼地方,通常會在安裝時出現。否則就隻能查閱一下README.

  如果遇到錯誤提示,也别急,通常是十分簡單的問題:

1)沒有安裝C或C++編譯器;

  确診方法:執行指令gcc(C++則為g++),提示找不到這個指令。

  解決方法:将Linux安裝CD光牒mount上來,然後進入RPMS目錄,執行指令:

  #rpm -ivh gcc* (哈哈,我們用到了第二種安裝方式)

2)沒有安裝make工具;

  确診方法:執行指令make,提示找不到這個指令。

  解決方法:将Linux安裝CD光牒mount上來,然後進入RPMS目錄,執行指令:

  #rpm -ivh make*

3)沒有安裝autoconf工具;

  确診方法:執行指令make,提示找不到這個指令。

  解決方法:将Linux安裝CD光牒mount上來,然後進入RPMS目錄,執行指令:

  #rpm -ivh autoconf*

4)缺少某些連結庫;

  确診方法:在make時,提示需要某些檔案。

  解決方法:安裝包含這個檔案的包,這就需要積累了。

第二部分:搞定.rpm

 一.指令方式管理

RPM是Red Hat公司随Redhat Linux推出了一個軟體包管理器,通過它能夠更加輕松容易地實作軟體的安裝。

  1.安裝軟體:執行rpm -ivh rpm包名,如:

  #rpm -ivh apache-1.3.6.i386.rpm

  2.更新軟體:執行rpm -Uvh rpm包名。

  3.反安裝:執行rpm -e rpm包名。

  4.查詢軟體包的詳細資訊:執行rpm -qpi rpm包名

  5.查詢某個檔案是屬于那個rpm包的:執行rpm -qf rpm包名

  6.查該軟體包會向系統裡面寫入哪些檔案:執行 rpm -qpl rpm包名

二.圖形界面工具管理

  相對指令方式來說,在圖形環境下,安裝、更新、解除安裝和查詢RPM軟體包是一件非常簡單輕松的事情,因為Linux提供了幾個功能強大的RPM包管理工具。我們推薦使用Linux的圖形管理工具來維護RPM軟體包,GNOME中的GnoRPM和KDE中的Kpackage就是功能強大的RPM 包管理工具。由于國内使用者使用的中文Linux發行版本中最常見的視窗管理器是KDE,下面筆者就以KDE中Kpackage為例,介紹如何使用RPM包管理工具。

  點選Start(開始)→System tools(系統工具)→Kpackage,出現Kpackage界面,同時分析Linux系統中的 RPM資料庫。它将安裝好的RPM包形式的軟體按照功能分在Amusements、Application、Development、Document、 Extension、Extentions、Networking、System Environment、User Interface以及X11等幾個樹形目錄中,每個目錄中有相應的檔案圖示和名稱。要安裝或更新軟體,隻要點選工具欄的相應按鈕就會彈出打開檔案的對話框,選中要安裝的RPM檔案,單擊OK按鈕,如果不缺必要的運作庫,就開始安裝軟體了。解除安裝軟體時,用滑鼠選擇相應的軟體,單擊右邊的Uninstall 按鈕就可以了

在Windows下安裝軟體時,隻需用滑鼠輕按兩下軟體的安裝程式,或者用Zip等解壓縮軟體解壓縮即可安裝。在Linux下安裝軟體對初學者來說,難度高于Windows下軟體安裝。下面我就詳細講解Linux下如何安裝軟體。

先來看看Linux軟體擴充名。軟體字尾為.rpm最初是Red Hat Linux提供的一種包封裝格式,現在許多Linux發行版本都使用;字尾為.deb是Debain Linux提供的一種包封裝格式;字尾為.tar.gz、tar.Z、tar.bz2或.tgz是使用Unix系統打包工具tar打包的;字尾為.bin 的一般是一些商業軟體。通過擴充名可以了解軟體格式,進而了解軟體安裝。

RPM格式軟體包的安裝

1.簡介

幾乎所有的Linux發行版本都使用某種形式的軟體包管理安裝、更新和解除安裝軟體。與直接從源代碼安裝相比,軟體包管理易于安裝和解除安裝;易于更新已安裝的軟體包;易于保護配置檔案;易于跟蹤已安裝檔案。

RPM全稱是Red Hat Package Manager(Red Hat包管理器)。RPM本質上就是一個包,包含可以立即在特定機器體系結構上安裝和運作的Linux軟體。RPM示意圖見圖1。

圖1 RPM結構示意圖

大多數Linux RPM軟體包的命名有一定的規律,它遵循名稱-版本-修正版-類型-MYsoftware-1.2 -1.i386.rpm 。

2.安裝RPM包軟體

# rpm -ivh MYsoftware-1.2 -1.i386.rpm

RPM指令主要參數:

-i 安裝軟體。

-t 測試安裝,不是真的安裝。

-p 顯示安裝進度。

-f 忽略任何錯誤。

-U 更新安裝。

-v 檢測套件是否正确安裝。

這些參數可以同時采用。更多的内容可以參考RPM的指令幫助。

3.解除安裝軟體

# rpm -e 軟體名

需要說明的是,上面代碼中使用的是軟體名,而不是軟體包名。例如,要解除安裝software-1.2.-1.i386.rpm這個包時,應執行:

#rpm -e software

4.強行解除安裝RPM包

有時除去一個RPM是不行的,尤其是系統上有别的程式依賴于它的時候。如果執行指令會顯示如下錯誤資訊:

## rpm -e xsnow

error: removing these packages would break dependencies:

/usr/X11R6/bin/xsnow is needed by x-amusements-1.0-1

在這種情況下,可以用--force選項重新安裝xsnow:

## rpm -ivh --force xsnow-1.41-1.i386.rpm

xsnow

這裡推薦使用工具軟體Kleandisk,用它可以安全徹底清理掉不再使用的RPM包。詳細情況請檢視2003年《開放系統世界》第12期。

5.安裝.src.rpm類型的檔案

目前RPM有兩種模式,一種是已經過編碼的(i386.rpm),一種是未經編碼的(src.rpm)。

rpm --rebuild Filename.src.rpm

這時系統會建立一個檔案Filenamr.rpm,在/usr/src/redflag/RPMS/子目錄下,一般是i386,具體情況和Linux發行版本有關。然後執行下面代碼即可:

rpm -ivh /usr/src/regflag/RPMS/i386/Filename.rpm

使用deb打包的軟體安裝

deb是Debian Linux提供的一個包管理器,它與RPM十分類似。但由于RPM出現得早,并且應用廣泛,是以在各種版本的Linux中都常見到,而Debian的包管理器dpkg隻出現在Debina Linux中。它的優點是不用被嚴格的依賴性檢查所困擾,缺點是隻在Debian Linux發行版中才能見到這個包管理工具。

1. 安裝

# dpkg -i MYsoftware-1.2.-1.deb

2. 解除安裝

# dpkg -e MYsoftware

使用源代碼進行軟體安裝

和RPM安裝方式相比,使用源代碼進行軟體安裝會複雜一些,但是用源代碼安裝軟體是Linux下進行軟體安裝的重要手段,也是運作Linux的最主要的優勢之一。使用源代碼安裝軟體,能按照使用者的需要選擇定制的安裝方式進行安裝,而不是僅僅依靠那些在安裝包中的預配置的參數選擇安裝。另外,仍然有一些軟體程式隻能從源代碼處進行安裝。

現在有很多地方都提供源代碼包,到底在什麼地方獲得取決于軟體的特殊需要。對于那些使用比較普遍的軟體,如Sendmail,可以從商業網站處下載下傳源代碼軟體包(如http://www.sendmail.org )。一般的軟體包,可從開發者的Web站點下載下傳。下面介紹一下安裝步驟:

1.解壓資料包

源代碼軟體通常以.tar.gz做為擴充名,也有tar.Z、tar.bz2或.tgz為擴充名的。不同擴充名解壓縮指令也不相同,見表1。

2.編譯軟體

成功解壓縮源代碼檔案後,進入解包的目錄。在安裝前閱讀Readme檔案和Install檔案。盡管許多源代碼檔案包都使用基本相同的指令,但是有時在閱讀這些檔案時能發現一些重要的差別。例如,有些軟體包含一個可以安裝的安裝腳本程式(.sh)。在安裝前閱讀這些說明檔案,有助于安裝成功和節約時間。

在安裝軟體以前要成為root使用者。實作這一點通常有兩種方式:在另一台終端以root使用者登入,或者輸入“su”,此時系統會提示輸入root使用者的密碼。輸入密碼以後,就将一直擁有root使用者的權限。如果已經是root使用者,那就可以進行下一步。

通常的安裝方法是從安裝包的目錄執行以下指令:

gunzip soft1.tar.gz

cd soft1

#. /configure #配置#

make #調用make#

make install #安裝源代碼#

删除安裝時産生的臨時檔案:

#make clean

解除安裝軟體:

#make uninstall

有些軟體包的源代碼編譯安裝後可以用make uninstall指令解除安裝。如果不提供此功能,則軟體的解除安裝必須手動删除。由于軟體可能将檔案分散地安裝在系統的多個目錄中,往往很難把它删除幹淨,應該在編譯前進行配置。

.bin檔案安裝

擴充名為.bin檔案是二進制的,它也是源程式經編譯後得到的機器語言。有一些軟體可以釋出為以.bin為字尾的安裝包,例如,流媒體播放器 RealONE。如果安裝過RealONE的Windows版的話,那麼安裝RealONE for Linux版本(檔案名:r1p1_linux22_libc6_i386_a1.bin)就非常簡單了:

#chmod +x r1p1_linux22_libc6_i386_a1.bin

./ r1p1_linux22_libc6_i386_a1.bin

接下來選擇安裝方式,有普通安裝和進階安裝兩種。如果不想改動安裝目錄,就可選擇普通安裝,整個安裝過程幾乎和在Windwos下一樣。

.bin檔案的解除安裝,以RealONE for Linux為例,如果采用普通安裝方式的話,在使用者主目錄下會有Real和Realplayer9兩個檔案夾,把它們删除即可。

Linux綠色軟體

Linux也有一些綠色軟體,不過不是很多。Linux系統提供一種機制:自動響應軟體運作程序的要求,為它設定好可以馬上運作的環境。這種機制可以是一種接口,或者是中間件。程式員編寫的程式可以直接拷貝分發,不用安裝,隻要點選程式的圖示,通路作業系統提供的接口,設定好就可以工作。若要删除軟體,直接删除就可以,不用連結檔案。這是最簡單的軟體安裝、解除安裝方式。

上面介紹了Linux軟體安裝的方法,對于Linux初學者來說,RPM安裝是一個不錯的選擇。如果想真正掌握Linux系統,源代碼安裝仍然是Linux下軟體安裝的重要手段。