軟件的安裝和卸載

《中文版Linux 桌面操作系統初級教程》郭守華 宋雪嬌 編著

概述

         一般的Linux系統套件都包含了豐富的應用程序,但有時并不能滿足實際需要。這時就要涉及

到對低版本軟件的卸載、安裝新版本軟件,或者安裝全新的應用軟件。

        簡單的軟件可能只包含一個可執行文件。但Linux系統中運行的大部分應用軟件要復雜得多。

一般的應用程序或工具軟件都會由多個可執行文件、配置文件、文檔組成,有的還會涉及庫文件。把所

有這些文件以及其存儲位置的信息統一存儲到在一起,就形成了安裝包。討論應用程序的安裝和升級,

就是要討論對這些安裝包的安裝和維護。

        在linux系統中,安裝包有多種格式。本章將一般性地介紹TAR 源碼包和RPM包及其操作方法,

實際使用時,會出現這樣那樣的差異。讀者應結合本章的實例,學習對軟件包的管理和維護。

提示:對軟件包的管理和維護,需要以root身份進行。

TAR源碼包

        tar源碼包是在Linux環境下經常使用的一種源碼發布的軟件包。tar包文件一般都以

“.tar.gz” 或“.tar.bz2”作為擴展名。比如,httpd-2.0.48.tar.gz,httpd 就是軟件的名字,

也就是提供WWW服務的Apache服務器軟件,2.0.48 則是這個安裝包的版本號,.tar.gz 表示這是一個經

過gzip 壓縮的tar 包。再比如,kdevelop-3.1.0.tar.bz2,kdevelop 是軟件的名字,這個軟件提供

了Linux 下的C++集成開發環境,版本為3.1.0,其擴展名tar.bz2表明它是一個經過bzip 壓縮的tar

包。

        用tar包安裝軟件的一般過程是:首先,解開tar包,解包后一般都會形成一個以軟件名命名的

目錄;用其次,cd命令轉移到這個目錄,依次執行配置、編譯和安裝命令,安裝工作就完成了;安裝

后,一般應清理一下安裝過程中的一些臨時文件。

         下面是解tar 包的命令例子:

         tar -xvzf httpd-2.0.48.tar.gz

         tar -xvjf httpd-2.0.52.tar.bz2

         配置、編譯和安裝命令一般是如下三條:

         ./configure

         make

         make install

         清理臨時文件的命令如下:

         make clean

         如果要卸載,則執行如下的命令。

         make uninstall

RPM包

        對于小型軟件,按上述方法安裝是可以的。但對于比較復雜的軟件,運行configure命令前還需要設置很多系統變量,

configure命令本身也會要求提供復雜的參數。在安裝前,必須自己檢查文件的依賴關系。這對于初學者是比較困難的。為了簡化軟件

包的安裝,就出現了一種被稱為RPM 的軟件包。RPM 包也是非常常見的一種軟件包。使用它安裝軟件,只需執行簡單的命令即可。不

需要人工檢查依賴關系。操作RPM 包的命令無非是安裝和卸載兩種。

安裝的命令如下:

       rpm -Uvh Kdevelope-3.1-1.rpm

其中,kdevelope-3.1-1.rpm 是相應的RPM 包文件名,對應的軟件包名就是kdevelope,版本號為3.1-1。

      如果要卸載kdevelope,則執行如下的命令。

      rpm -e kdevelope

軟件包安裝案例

例1:RAR for Linux

       要想在紅旗Linux4.1桌面版操作rar 格式的壓縮文件,必須安裝RAR for Linux。RAR for Linux的軟件包是tar包,但其中

并沒有源代碼。以RAR 3.41 for Linux為例,其安裝包的文件名是rarlinux-3.4.1.tar.gz。安裝此軟件的第一步是解壓縮,用cd命

令轉移到rarlinux-3.4.1.tar.gz所在的目錄,然后執行下面的命令。解壓后,會形成一個目錄rar。

       tar -xvzf rarlinux-3.4.1.tar.gz

       由于此tar包不包含源代碼(也就是說,這是一個編譯好的軟件安裝包),因此不必編譯,直接執行安裝命令就可以。用cd命令

轉移到解壓生成的那個rar 目錄執行安裝命令。

       make install

       這樣就算安裝完了。從安裝時的提示信息可以看出,安裝程序只是把RAR運行所需的文件復制到特定的目錄。如果要卸載,把

這些文件刪除即可。

例2:WWW服務器軟件Apache

        假設要建立一個個人WWW網站,允許別人能通過內部局域網訪問這個網站,閱讀文檔或下載軟件。網站的網頁文件都存在

/mnt/WinD/www123下,首頁文件名是index.html,可供下載的軟件存在/data/pub下。要達到目的,需要安裝Apache服務器軟件。下

載得到Apache服務器軟件的安裝包是httpd-2.0.48.tar.gz,這是一個標準的含有源碼的tar包。其中,2.0.48是版本號。按典型的

tar 源碼包的安裝方法即可。

具體步驟如下:1、解壓縮。用cd 命令轉移到httpd-2.0.48.tar.gz所在的目錄然后執行:

         tar -xvzf httpd-2.0.48.tar.gz

         解壓后,會形成一個目錄httpd-2.0.48

2、編譯和安裝轉移到解壓生成的那個httpd-2.0.48目錄

依次執行如下命令:

        ./configure

        make

        make install

        make clean

        這樣就算安裝完了。

        接下來要修改配置文件/usr/local/apache2/conf/httpd.conf來控制服務器軟件,使其按要求運行。

        首先,修改Listen行,確定服務的IP 地址和端口號:

        Listen 10.1.30.144:80

        說明:10.1.30.144是當前計算機的內網IP 地址,通過80 端口提供Web 服務。此項不特意設也可,默認端口就是80。

        其次,修改DocumentRoot ,設定主頁所在的根目錄。修改后形成如下兩行:

        DocumentRoot "/mnt/WinD/www123"

        <Directory "/mnt/WinD/www123">

        第三,修改DirectoryIndex行,確認首頁的文件名在其中。如果沒有就追加上。

        DirectoryIndex index.html index.html.var

        第四,修改AddDefaultCharset行,將默認編碼改為GB2312,這樣保證主頁上的漢字能正常顯示。修改后的

AddDefaultCharset行是:

        AddDefaultCharset GB2312

第五,增加一個Alias,把/data/pub映射為網站根目錄下的download目錄。增加的內容如下:

        Alias /download/ "/data/pub/"

        <Directory "/data/pub">

        Options Indexes MultiViews

        AllowOverride None

        Order allow,deny

        Allow from all

        </Directory>

上述五步配置的目的是使局域網的其他計算機能用http://10.1.30.144/這個網址訪問我的網站了。要下載存放在/data/pub/的軟

件,則輸入http://10.1.30.144/download/就可以看到文件列表。安裝配置好之后,運行下面的命令是就可以啟動這個WWW服務器

了。

        /usr/local/apache2/bin/apachectl start

        如果希望系統每次啟動時自動啟動httpd 服務器,則還要做如下工作。首先,拷貝apachectl 到/etc/rc.d/init.d/,并更

名為httpd ,相應的命令是:

        cp /usr/local/apache2/apachectl /etc/rc.d/init.d/httpd

然后,修改/etc/rc.d/init.d/httpd中的ARGV 行,改成:

        ARGV="start"

        最后,在/etc/rc.d/rc5.d目錄下,創建一個指向httpd 的連接。相應的命令是:

        ln /etc/rc.d/init.d/httpd /etc/rc.d/rc5.d/S85httpd

        為了保證在字符模式下啟動紅旗也能提供Web 服務,還要在/etc/rc.d/rc3.d目錄下,創建一個指向httpd的連接。相應的命

令是:

        ln /etc/rc.d/init.d/httpd /etc/rc.d/rc3.d/S85httpd

提示:

若要重啟動這個WWW服務器

       /usr/local/apache2/bin/apachectl restart

若要關閉WWW 服務

       /usr/local/apache2/bin/apachectl stop

例3:RedOffice辦公套件

       目的:在Windows下,可以用MS office套件處理處理文檔、表格、演示稿等文件。那么在Linux下也需要這樣的軟件來處理類

似的工作,并且這個軟件一定能處理過去在Windows下生成的這類文件。操作:安裝RedOffice For Linux V2.0個人版。RedOffice

個人版相對RedOffice標準版進行了一些功能裁減,這些功能是:宏、數據源、文獻數據庫、新建標簽/名片/HTML等文檔類型的功能、

自動文件助理、插入動態框、插入區域、圖像地圖、插入Applet對象/Plug-in 對象、與Java/XML相關的功能。RedOffice個人版無需

安裝密碼,沒有時間限制,可以由個人用戶免費、自由地下載、安裝和試用。下載得到的RedOffice 安裝包名字為

RedOffice2.0_ForLinux.tar.gz,它雖然以.tar.gz結尾,但不是包含源代碼的那種tar包,而是一個帶安裝向導的軟件包。

         要解開包,只需執行下面的命令。解壓后會形成一個名為RedOffice2.0_ForLinux的文件夾。

         tar -xvzf RedOffice2.0_ForLinux.tar.gz

         接下來在圖形界面中進入RedOffice2.0_ForLinux文件夾,雙擊setup就開始安裝了。按提示即可完成全部安裝過程。默認

的安裝路徑是在/root/RedOffice2.0-PE之下。按Linux 管理程序的習慣,應將其修改為/usr/local/RedOffice2.0-PE。安裝完成

后,要適當修改RedOffice的某些目錄的權限,以防止其他用戶使用該軟件時出現安全備份錯誤。相應的命令有:

        chmod 777 /usr/local/RedOffice2.0-PE/user/backup

        chmod 777 /usr/local/RedOffice2.0-PE/user/basic

        安裝程序已自動把RedOffice各組件啟動的快捷方式放到開始菜單里了。

例4:C++集成開發環境Kdevelop

        在紅旗Linux4.1的開發工具盤中,提供了集成開發環境Kdevelop3.0.92。可以下載相應的ISO 文件并利用其中的安裝程

序,安裝之。安裝的第一步,是要掛載紅旗Linux4.1的開發工具盤的ISO文件RedFlag4-devel-20040121158.iso,以便讀取其中的內

容。掛載前需要選擇掛載點。假設在/mnt下創建一個iso目錄,專門用于掛載ISO文件。未掛載前,查看此目錄,是空的。

       mkdir /mnt/iso

確定了掛載點之后,就可以執行mount 命令進行掛載了。先用cd 命令轉移到RedFlag4-devel-20040121158.iso所在的目錄,然后執

行如下命令1:

      mout -t iso9660 -o loop,iocharset=cp936 RedFlag-4-devel-20040121158.iso /mnt/iso

      再查看/mnt/iso,我們發現其中已經有文件了。如圖11-1。用鼠標雙擊autorun 就可以啟動開發工具盤中的安裝向導程序。

在選擇軟件包的窗口列表中,選中kdeools 分組(如圖11-2),點擊“下一步”按鈕就可以自動把Kdevelop安裝到系統中。安裝完成

后,從開始菜單中就可以啟動Kdevelop:【開始】→【應用程序】→【軟件開發】→【Kdevelop】如果不再需要讀取開發工具盤的ISO

文件,應該及時卸載它,命令如下。卸載后查看/mnt/iso,會發現它又空了。

      umount /mnt/iso

------------

     1對開發工具盤的ISO文件而言,參數iocharset=cp936并不是必須的。只有在掛載含有中文文件名的的ISO文件時,才需要

iocharset=cp936這個參數以確保中文文件名的正確顯示。不使用iocharset=cp936 時的命令應該是這個樣子:

    mout -t iso9660 -o loop RedFlag4-devel-20040121158.iso /mnt/iso

圖11-1

圖11-2

例5:“我愛背單詞”

         背單詞軟件是比較流行的一種學習軟件,很多人都用它一邊背單詞,一邊練習指法。可以從紅旗Linux4.1的工具盤中找到背

單詞軟件的安裝包。當然可以用例4中提到的方法,借助工具盤中的安裝程序安裝這個軟件。這里介紹用rpm 命令的安裝方法。第一

步,從工具盤中提取需要的rpm包。先掛載相應的ISO文件:

        mout -t iso9660 -o loop,iocharset=cp936 RedFlag-4-tool.iso /mnt/iso

然后借助autorun 看背單詞安裝包包括哪些rpm包。如圖11-3。

圖11-3

         圖中打勾的軟件包就是“背單詞”軟件所必須的。根據這些信息,可以猜測出“背單詞”軟件所需RPM包的文件名。轉移到

/mnt/iso/RedFlag/RPMS目錄下,執行ls命令并以reciteword 關鍵詞過濾,就可以找到相應的rpm包了,如圖11-4。

         ls -l | grep reciteword

圖11-4

可以先把這5 個文件復制到一個單獨的目錄里備用。第二步,安裝rpm包。

可以執行如下命令安裝“背單詞”軟件的5 個rpm包2。

        rpm -Uvh reciteword-0.8.1-10.i386.rpm

        rpm -Uvh reciteword-books-0.8.1-2.i386.rpm

        rpm -Uvh reciteword-dicts-0.8.1-2.i386.rpm

        rpm -Uvh reciteword-RealPeopleTTS-0.8.1-2.i386.rpm

        rpm -Uvh reciteword-skins-rw-0.8.1-2.i386.rpm

也可以執行如下一條命令來安裝這5 個包:

        rpm -Uvh reciteword*.rpm --nodeps --force

        *是文件名通配符,reciteword*.rpm 正好匹配上述5 個文件包。參數nodeps 表示在安裝時不檢查軟件包之間的依賴關

系;force 表示強制安裝,即使系統中已經有了要安裝的軟件包,也會重新安裝一遍,新安裝的將覆蓋原有的。

--------------

        2有些軟件的各個rpm包之間是有依賴關系的。安裝其中某個rpm包,它所依賴的rpm包必須事先安裝好,否則安裝將無法完

成。為了確定個rpm包之間的依賴關系,可以先嘗試隨便安裝其中某個包,安裝程序會自動檢測并給出依賴關系提示。手工確定RPM 包

之間的依賴關系是非常麻煩的。

進行rpm包安裝時,會出現進程提示。圖11-5 上述安裝操作的提示信息。

圖11-5

         安裝完成后,從開始菜單中就可以啟動“背單詞”軟件:【開始】→【應用程序】→【我愛背單詞】→【背單詞】

軟件安裝完成后,不要忘記把ISO文件卸載。

         umount /mnt/iso

軟件包管理器

         為了編譯軟件包的管理,可以使用軟件包管理器。【開始】→【設置】→【控制面板】→【軟件包管理器】軟件包管理器有

三個標簽,分別是用戶軟件包、系統軟件包和其他工具。如果想查看安裝Linux操作系統是,已經自動安裝了哪些軟件包,可以查看

“系統軟件包”。如圖11-6。這里的軟件包對系統運行很重要,除非特別清楚自己干什么,否則不要隨便卸載它們。如果想安裝或卸

載應用軟件包,可以使用“用戶軟件包”標簽。如圖11-7,列出了已經安裝的一些應用軟件包。選中某軟件包,點“卸載軟件包”按

鈕,就可以進行卸載操作了。其效果等效于帶-e 參數的rpm命令。

圖11-6

圖11-7