軟件的安裝和卸載
《中文版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