在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下軟體安裝的重要手段。