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安裝光盤mount上來,然後進入RPMS目錄,執行命令:
   #rpm -ivh gcc* (哈哈,我們用到了第二種安裝方式)
2)沒有安裝make工具;
   確診方法:執行命令make,提示找不到這個命令。
   解決方法:將Linux安裝光盤mount上來,然後進入RPMS目錄,執行命令:
   #rpm -ivh make*
3)沒有安裝autoconf工具;
   確診方法:執行命令make,提示找不到這個命令。
   解決方法:將Linux安裝光盤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,可以從商業網站處下載源代碼軟件包(如[url]http://www.sendmail.org/[/url] )。一般的軟件包,可從開發者的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下軟件安裝的重要手段。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章