(1)html
對於Linux初學者來講,安裝一個很小的軟件恐怕都是一件很讓人頭疼的事,由於在Linux下安裝軟件不像在 Windows中那樣簡單。在Linux中大多數軟件提供的是源代碼,而不是現成的可執行文檔,這就須要用戶根據本身系統的實際狀況和自身的須要來配置、 編譯源程式後,軟件才能使用。多數初學者每每不知道該如何進行配置和編譯就盲目地運行一些有執行屬性的文檔或機械地運行「make」、「make install」之類的命令。結果呢?是軟件沒裝成,本身急出一身汗,後果嚴重的還會破壞系統的穩定性。下面筆者將安裝軟件方面的一些規律寫出來和你們分 享。 node
如今流行的軟件包有兩種比較常見的形式,一種是RPM包的形式,另外一種是壓縮成*.tar.gz的形式。本文將討論這兩種形式的軟件包在文本環境和圖像環境(X Window)下不一樣的安裝方法。linux
文本環境下的軟件安裝shell
1、安裝簡便的RPM包數據庫
RPM是RedHat Package Manager的縮寫,他只能使用在安裝了RPM軟件的系統中,RedHat Linux和Turbo Linux中已使用了他。這種結構的包使用起來仍是很方便的,只要記住幾條簡單的命令和參數就可以方便地使用:apache
#〉rpm [options] filename.rpm服務器
其中經常使用的options包括:ide
-i: 安裝軟件工具
-e: 卸載軟件oop
-q:查看軟件安裝的信息和狀態
-U: 升級現有軟件
例如安裝軟件時,可以使用以下命令:「rpm -i filename.rpm」,軟件安裝在什麼地方、是怎麼安裝的都無需用戶操心,RPM可以幫助用戶管理。因爲RPM使用方便,不少軟件都有RPM版本。 假如想使用RPM形式的軟件就要首先下載一個RPM管理軟件。在ftp://ftp.rpm.org/pub/rpm/dist/rpm-version 網站可以下載最新的版本——rpm-3.-.4.i386。該軟件有RPM包和.tar.gz包兩種形式,假如您的系統中已有了RPM管理軟件,您可以下 載RPM形式的包來升級現有軟件,不然就必須瞭解.tar.gz包的安裝方法。
2、安裝須要編譯的.tar.gz包
因爲RPM包使用的侷限性(必須安裝RPM),如今更多的軟件使用的是源代碼形式的.tar.gz包。這種軟件的安裝一般要通過解壓縮、軟件配置、軟件編譯及安裝的過程。
解壓縮一般有兩種命令方法:一種是「gunzip filename-VERSION-OS.tar.gz | tar xvf -」,他實質是兩條命令「gunzip filename-VERSION-OS.tar.gz」和「tar xvf filename-VERSION-OS.tar」;另外一種是「tar xzvf filename-VERSION-OS.tar.gz」。 通常來講在軟件解壓縮後會生成一個目錄filename-VERSION-OS。
軟件的配置、編譯、安裝是最讓初學者望而生畏的事了,但筆者認爲掌控一些規律仍是不難的。通常來講,在解壓縮生成的目錄中都會 有名爲Readme、Rnstall或Readme.install之類的文檔。這些文檔一般會對軟件的功能、特性、版權許可、安裝連同相關知識加以介 紹,而且會提到關於安裝的方法和步驟。舉例來講:在apache_1.3.6的install文檔中說明了以下內容(此處只列出總的條目,具體內容省 略):
Installing the Apache 1.3 HTTP server with APACI
==============================
1.Overview for the impatient(歸納說明配置的全過程)
$./configure--prefix=PREFIX
$make
$make install
$PREFIX/bin/apachectl start
2.Requirements(須要的條件)
3.Configuring the source tree(配置的參數說明)
4.Building the package(編譯軟件的方法)
5.Installing the package(安裝軟件的方法)
6.Testing the package(軟件測試)
理解並能熟練使用這些說明文檔後,就可以利用一些規律來安裝大多數的軟件。對於那些沒有說明文檔的軟件(固然這種狀況比較少見),這些規律一般也是適用的。通常來講,和安裝軟件有直接關係的文檔只有兩個:configure 、Makefile。
其中,configure文檔具有可執行的屬性,是用來配置軟件的,他的參數比較多,用法也比較靈活。固然,不一樣的軟件參數也不相同,這時候就須要藉助他的help參數,運行下面的命令就會讓您感到豁然開朗:
#〉 ./configure -help
Usage: configure [options]
Options: [defaults in brackets after descriptions]
General options:
--quiet, --silent do not print messages
--verbose,-v print even more messages
--sha [=DIR] switch to a shadow tree (under DIR) for building
Stand-alone options:
--help,-h print this message
--show-layout print installation path layout (check and debug)
圖1 Gnome運行界面
Installation layout options:
--with-layout=[F:]ID use installation path layout ID (from file F)
--target=TARGET install name-associated files using basename TARGET
……
接下來,就可以運行「./configure [options]」來配置該軟件。注意,命令行中的「./」很重要,他告訴系統要運行的命令就在當前目錄下(不然系統就會到$path變量指定的路徑下 去執行命令)。執行命令後可以生成Makefile文檔或修改已有的文檔配置。
Makefile文檔一般是用來編譯和安裝軟件的。運行make命令時系統會自動根據Makefile文檔中的配置對軟件進行 編譯和安裝。make命令有時還可以帶一些參數,如:all、build、config、install等。具體要帶哪一個參數可以參看Makefile文 檔。在Linux中絕大部分文檔是文本文檔,Makefile就是個shell程式(Linux中shell程式和DOS中的批處理文檔有不少類似之處, 固然功能要強得多),很容易讀懂,尤爲是編譯時可帶的參數都會明確寫出,例如:
##========================
## Targets
##========================
# default target
all: build
##------------------------
(2)軟件的安裝和卸載
《中文版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命令前還須要設置不少系統變量,
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包,但其中
tar -xvzf rarlinux-3.4.1.tar.gz
因爲此tar包不包含源代碼(也就是說,這是一個編譯好的軟件安裝包),所以沒必要編譯,直接執行安裝命令就能夠。用cd命令
make install
這樣就算安裝完了。從安裝時的提示信息能夠看出,安裝程序只是把RAR運行所需的文件複製到特定的目錄。若是要卸載,把
例2:WWW服務器軟件Apache
假設要創建一個我的WWW網站,容許別人能經過內部局域網訪問這個網站,閱讀文檔或下載軟件。網站的網頁文件都存在
tar -xvzf httpd-2.0.48.tar.gz
解壓後,會造成一個目錄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 GB2312
Alias /download/ "/data/pub/"
<Directory "/data/pub">
Options Indexes MultiViews
AllowOverride None
Order allow,deny
Allow from all
</Directory>
/usr/local/apache2/bin/apachectl start
若是但願系統每次啓動時自動啓動httpd 服務器,則還要作以下工做。首先,拷貝apachectl 到/etc/rc.d/init.d/,並更
cp /usr/local/apache2/apachectl /etc/rc.d/init.d/httpd
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
/usr/local/apache2/bin/apachectl restart
/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就開始安裝了。按提示便可完成所有安裝過程。默認
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 文件並利用其中的安裝程
mkdir /mnt/iso
mout -t iso9660 -o loop,iocharset=cp936 RedFlag-4-devel-20040121158.iso /mnt/iso
再查看/mnt/iso,咱們發現其中已經有文件了。如圖11-1。用鼠標雙擊autorun 就能夠啓動開發工具盤中的安裝嚮導程序。
umount /mnt/iso
------------
1對開發工具盤的ISO文件而言,參數iocharset=cp936並非必須的。只有在掛載含有中文文件名的的ISO文件時,才須要
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包的文件名。轉移到
ls -l | grep reciteword
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
rpm -Uvh reciteword*.rpm --nodeps --force
*是文件名通配符,reciteword*.rpm 正好匹配上述5 個文件包。參數nodeps 表示在安裝時不檢查軟件包之間的依賴關
系;force 表示強制安裝,即便系統中已經有了要安裝的軟件包,也會從新安裝一遍,新安裝的將覆蓋原有的。
--------------
2有些軟件的各個rpm包之間是有依賴關係的。安裝其中某個rpm包,它所依賴的rpm包必須事先安裝好,不然安裝將沒法完
成。爲了肯定個rpm包之間的依賴關係,能夠先嚐試隨便安裝其中某個包,安裝程序會自動檢測並給出依賴關係提示。手工肯定RPM 包
之間的依賴關係是很是麻煩的。
進行rpm包安裝時,會出現進程提示。圖11-5 上述安裝操做的提示信息。
圖11-5
安裝完成後,從開始菜單中就能夠啓動「背單詞」軟件:【開始】→【應用程序】→【我愛背單詞】→【背單詞】
umount /mnt/iso
軟件包管理器
爲了編譯軟件包的管理,可使用軟件包管理器。【開始】→【設置】→【控制面板】→【軟件包管理器】軟件包管理器有
三個標籤,分別是用戶軟件包、系統軟件包和其餘工具。若是想查看安裝Linux操做系統是,已經自動安裝了哪些軟件包,能夠查看
「系統軟件包」。如圖11-6。這裏的軟件包對系統運行很重要,除非特別清楚本身幹什麼,不然不要隨便卸載它們。若是想安裝或卸
載應用軟件包,可使用「用戶軟件包」標籤。如圖11-7,列出了已經安裝的一些應用軟件包。選中某軟件包,點「卸載軟件包」按
鈕,就能夠進行卸載操做了。其效果等效於帶-e 參數的rpm命令。
圖11-6
圖11-7
轉載:http://blog.chinaunix.net/uid-25572546-id-1995028.html