系統(tǒng)之家 - 系統(tǒng)光盤下載網(wǎng)站!

當(dāng)前位置:系統(tǒng)之家 > 系統(tǒng)教程 > Linux軟件安裝

Linux軟件如何安裝及管理指南

時(shí)間:2014-12-15 11:35:00 作者:qipeng 來源:系統(tǒng)之家 1. 掃描二維碼隨時(shí)看資訊 2. 請(qǐng)使用手機(jī)瀏覽器訪問: https://m.xitongzhijia.net/xtjc/20141212/32551.html 手機(jī)查看 評(píng)論

  我們都知道windows軟件的安裝非常簡(jiǎn)單,只要運(yùn)行安裝程序就可以了,可是Linux系統(tǒng)的軟件可沒那么容易安裝,下面小編就給大家介紹下Linux系統(tǒng)中軟件的安裝方法。

 Linux軟件如何安裝及管理指南

  先來看看Linux軟件擴(kuò)展名。軟件后綴為.rpm最初是Red Hat Linux提供的一種包封裝格式,現(xiàn)在許多Linux發(fā)行版本都使用;后綴為.deb是Debain Linux提供的一種包封裝格式;后綴為.tar.gz、tar.Z、tar.bz2或.tgz是使用Unix系統(tǒng)打包工具tar打包的;后綴為.bin的一般是一些商業(yè)軟件。通過擴(kuò)展名可以了解軟件格式,進(jìn)而了解軟件安裝。

  一 源碼安裝方式

  由于linux操作系統(tǒng)開放源代碼,因而在其上安裝的軟件大部分也都是開源軟件,例如apache、tomcat、php等軟件。開源軟件基本都提供源碼下載,源碼安裝的方式;源碼安裝的好處是用戶可以自己定制軟件功能,安裝需要的模塊,不需要的功能可以不用安裝,此外,用戶還可以自己選擇安裝路徑,方便管理,卸載軟件也很方便,只需刪除對(duì)應(yīng)的安裝目錄即可。沒有windows所謂的注冊(cè)表之說。

  源碼安裝軟件一般有以下幾個(gè)步驟組成:下載解壓源碼、分析安裝平臺(tái)環(huán)境(ifconfigure)、編譯安裝軟件(make,make install)。下面我們分別介紹。

  1.1 下載解壓源碼

  linux下軟件的源碼一般都是C或者C++語言編寫的,并且都會(huì)在軟件的官方網(wǎng)站上提供源碼包下載,例如apache開源項(xiàng)目的官方網(wǎng)站為https://www.apache.org,此外在網(wǎng)上的很多開源社區(qū)一般也提供一些常用軟件的源碼下載,源碼都打包成壓縮文件,常見的源碼打包壓縮格式有“.tar.gz”、“.tar.baz2”等。我們可以從網(wǎng)站上首先下載源碼文件,然后在傳到所在的linux系統(tǒng)下,如果你的linux系統(tǒng)處于聯(lián)網(wǎng)狀態(tài)下,也可以直接在系統(tǒng)內(nèi)通過wget之類的下載命令將源碼包直接下載到linux系統(tǒng)下。

  下載完成,把相應(yīng)的軟件解包即可,針對(duì)下載軟件包的不同,使用不同的方法進(jìn)行解壓,解壓完畢后進(jìn)入解壓生成的目錄中,在這個(gè)目錄下,一般都存在一個(gè)REDAME文件,這個(gè)文本文件非常重要,它詳細(xì)的介紹了這個(gè)軟件所能完成的功能、授權(quán)許可、安裝需求、安裝注意事項(xiàng)、安裝方式等等,由于linux各個(gè)版本的差異,以及安裝環(huán)境的不同,軟件的安裝方式也不盡相同,所以在安裝軟件前,一定要事先閱讀這個(gè)README文件,確保安裝的正確性。

  1.2 分析安裝平臺(tái)環(huán)境

  在軟件包解壓完畢之后,我們進(jìn)入源碼目錄,一般都會(huì)存在configure和README這么兩個(gè)文件,README就是上面我們講到的,是對(duì)軟件的介紹和安裝說明;linux下軟件的安裝受到操作系統(tǒng)安裝環(huán)境的影響,比如某些軟件在安裝或者運(yùn)行過程中需要調(diào)用操作系統(tǒng)本身的庫(kù)文件,或者需要運(yùn)行系統(tǒng)的某個(gè)工具等等,但是系統(tǒng)中不存在這個(gè)庫(kù)文件或者這個(gè)工具沒有安裝,那么安裝或者運(yùn)行軟件就會(huì)失敗。

  為了避免這個(gè)問題的出現(xiàn),在安裝軟件的時(shí)候就需要分析操作系統(tǒng)環(huán)境,檢測(cè)當(dāng)前系統(tǒng)是否擁有安裝軟件所需的所有文件和工具,如果系統(tǒng)缺少某個(gè)文件,就給出提示,直到滿足軟件的所有需求為止。這個(gè)就是configure文件的功能,configure文件一般是個(gè)可執(zhí)行文件,可以在當(dāng)前目錄下直接輸入“。/configure”進(jìn)行軟件安裝的環(huán)境測(cè)試,如果提示缺少某些安裝包,就需要進(jìn)行安裝,直到測(cè)試通過。通常的,源碼安裝都需要GCC或者CC編譯器,這些編譯器一般在安裝系統(tǒng)時(shí)定制安裝包中的開發(fā)工具選項(xiàng)下,其實(shí)這也是我們?cè)诘诙掳惭blinux系統(tǒng)中要求選擇開發(fā)工具包的原因所在。

  此外,在執(zhí)行configure分析軟件需求時(shí),還可以在“。/configure”后面加上軟件的安裝路徑以及安裝所需的模塊等等一些選項(xiàng),來定制用戶需要的軟件功能。

  1.3 編譯安裝軟件

  在驗(yàn)證軟件安裝環(huán)境后,正式進(jìn)入軟件的編譯步驟,在進(jìn)行編譯前,首先了解下關(guān)于編譯的一些基礎(chǔ)知識(shí)。

  在linux系統(tǒng)下,make是我們經(jīng)常用到的編譯命令,無論是安裝軟件還是項(xiàng)目開發(fā),都會(huì)經(jīng)常用到編譯安裝命令,也就是make和make install,對(duì)于一個(gè)包含很多源文件的應(yīng)用程序,使用make和makefile工具可以簡(jiǎn)單快速的解決各個(gè)源文件之間復(fù)雜的依賴關(guān)系,同時(shí),make工具還可以自動(dòng)完成所有源碼文件的編譯工作,并且可以只對(duì)上次編譯后修改過的文件進(jìn)行增量編譯,因此,熟練掌握了make和makefile工具之后,源碼安裝軟件就變的像windows下安裝軟件一樣簡(jiǎn)單。

  Makefile文件

  make工具最主要的功能就是通過makefile文件來實(shí)現(xiàn)的,makefile文件是按照某種語法來進(jìn)行編寫的,文件中定義了各個(gè)源文件之間的依賴關(guān)系,并說明了如何編譯源文件并生成可執(zhí)行文件,它通過描述各個(gè)源程序之間的關(guān)系讓make工具自動(dòng)完成編譯工作。

  在linux系統(tǒng)下,習(xí)慣用Makefile替代makefile文件,我們?cè)趫?zhí)行configure通過后,就會(huì)在當(dāng)前目錄下生成這個(gè)文件,一般情況下在命令行輸入make時(shí),make命令會(huì)默認(rèn)去尋找當(dāng)前目錄下的Makefile文件,如果我們用其它文件作為makefile,就要在make命令選項(xiàng)后指定makefile文件,例如我們?cè)O(shè)定編譯規(guī)則文件為make_file,就需要使用以下命令指定:

  [root@WEBServer ~]#make -f make_file

  下面我們通過舉例了解下Makefile的編寫原則和內(nèi)容。

  例如有一個(gè)test程序,有三個(gè)源文件file1.c、file2.c、file3.c以及庫(kù)文件LS編譯生成,這三個(gè)源文件還分別包含了自己的頭文件1.h、2.h、3.h。通常,C編譯器將會(huì)輸出三個(gè)目標(biāo)文件file1.o、file2.o、file3.o。假定file1.c和file3.c都要聲明用到一個(gè)apcs的文件,但是file2.c不用,也就是在file1.c和file3.c文件中都有類似“#include “apcs””的聲明。

  下面這段代碼就是對(duì)test程序的描述:

  1:#It is a example for describing makefile2:test: file1.o file2.o file3.o3:cc file1.o file2.o file3.o -LS -o test

  4:file1.o: file1.c 1.h apcs

  5:gcc -c file1.c

  6:file3.o: file3.c 3.h apcs

  7:gcc -c file3.c

  8:file2.o: file2.c c.h

  9:gcc -c file2.c

  這個(gè)描述文檔其實(shí)就是一個(gè)makefile文件,第一行為注釋行,第二行指定test程序有file1.o、file2.o、file3.o鏈接生成,第三行描述了如何從test所依賴的文件建立可執(zhí)行文件,接下來的第四、六、八行定義了三個(gè)目標(biāo)文件和它們依賴的“.c”、“.h”和“apcs”文件。剩下的第五、七、九行定義了如何從目標(biāo)依賴的文件生成可執(zhí)行文件。

  在了解Makefile文件結(jié)構(gòu)后,我們就可以控制編譯的選項(xiàng),定制自己所需的軟件功能。

  接下來,我們只需在命令行輸入make命令,即可進(jìn)入編譯階段,根據(jù)軟件源程序的大小和系統(tǒng)的硬件配置,編譯時(shí)間不定,編譯完畢,會(huì)在當(dāng)前目錄以及子目錄下生成相應(yīng)的可執(zhí)行文件,接下來就進(jìn)入最后的安裝軟件階段,在命令行輸入make install命令,開始安裝軟件,安裝進(jìn)程會(huì)首先創(chuàng)建安裝目錄,如果我們沒有指定安裝的目錄,安裝程序默認(rèn)會(huì)安裝在系統(tǒng)的/usr/local目錄下創(chuàng)建安裝目錄,然后將相應(yīng)的文件和可執(zhí)行程序從源碼目錄拷貝到安裝目錄下,這樣安裝就完畢了。

  1.4 源碼安裝Apache Http server

  下面我們通過源碼安裝apache,實(shí)例講解linux下源碼的安裝方式。

  1. 下載解壓apache源碼

  [root@WEBServer~]#mkdir /apache #在根目錄下創(chuàng)建一個(gè)apache目錄[root@WEBServer~]#cd /apache #切換到apache目錄[root@WEBServer apache]#wget \ #下載apache源碼》https://apache.mirror.phpchina.com/httpd/httpd-2.2.9.tar.bz2[root@WEBServer apache]#tar -jxvf httpd-2.2.9.tar.bz2 #解壓apache源碼[root@WEBServer apache]#ls #顯示解壓結(jié)果httpd-2.2.9 httpd-2.2.9.tar.bz2

  2. 測(cè)試安裝環(huán)境

 。踨oot@WEBServer apache]#cd httpd-2.2.9 #切換到httpd-2.2.9目錄下[root@WEBServer httpd-2.2.9]#./configure --prefix=/opt/apache2.2.9 \》--enable-so \》--enable-mods-shared=most \

  》--enable-proxy-balancer=shared \

  》--enable-proxy-http=shared \

  》--enable-proxy-ajp \

  》--enable-rewrite

  注意:上面我們指定apache的安裝目錄為/opt/apache2.2.9,同時(shí)指定需要編譯的apache模塊。

  下面分別介紹這些模塊代表的含義,更詳細(xì)的請(qǐng)參看apache文檔。

  l --enable-so選項(xiàng):表示讓 Apache 可以支持DSO模式,這里采用的是 Apache2.0以后的語法。如果你的Apache 是1.3版本,應(yīng)改為“--enable-module=so”。

  l --enable-mods-shared=most選項(xiàng):表示動(dòng)態(tài)編譯大部分常用的模塊,當(dāng)然,也可以有選擇的加載一些模塊,most意思是只包含通常用的模塊,并且以動(dòng)態(tài)加載模式加載。如果用的是 Apache1.3, 改為“--enable-shared=max”即可。

  l --enable-proxy-balancer=shared選項(xiàng):表示讓apache支持負(fù)載均衡功能,即動(dòng)態(tài)的編譯apache的負(fù)載均衡模塊。

  l --enable-proxy-http=shared選項(xiàng):表示動(dòng)態(tài)編譯apache的http代理模塊。

  l --enable-proxy-ajp選項(xiàng):表示動(dòng)態(tài)編譯apache的proxy-ajp模塊。

  l --enable-rewrite選項(xiàng):讓apache支持地址重寫功能,即動(dòng)態(tài)編譯apache的rewrite模塊。

  3.編譯安裝軟件

 。踨oot@WEBServer httpd-2.2.9]#make

 。踨oot@WEBServer httpd-2.2.9]#make install安裝完畢,apache被安裝到/opt/apache2.2.9下,接下來我們就可以使用apache軟件了。

  二 RPM包方式安裝

  2.1 RPM包管理工具介紹

  RPM是Red Hat Package Manager的縮寫,本意就是Redhat軟件包管理,是最先由Redhat公司開發(fā)出來的linux下軟件包管理工具,由于這種軟件管理方式非常方便,逐漸被其它linux發(fā)行商所借用,現(xiàn)在已經(jīng)成為linux平臺(tái)下通用的軟件包管理方式,例如Fedora 、Redhat、suse、Mandrake等主流linux發(fā)行版本都默認(rèn)采用了這種軟件包管理方式。

  RPM包管理類似于windows下的“添加/刪除程序”但是功能卻比“添加/刪除程序”強(qiáng)大很多。在Linux的系統(tǒng)安裝光盤中,有很多以“.rpm”結(jié)尾的軟件包,這些包文件就是我們所說的RPM文件。每個(gè)RPM文件中包含了已經(jīng)編譯好的二進(jìn)制可執(zhí)行文件,其實(shí)就是將軟件源碼文件進(jìn)行編譯安裝,然后進(jìn)行封裝,就成了RPM文件,類似與windows安裝包中的“.exe”文件。此外RPM文件中還包含了運(yùn)行可執(zhí)行文件所需的其它文件,這點(diǎn)也和windows下的軟件包類似,windows程序的安裝包中,除了“exe”可執(zhí)行文件,還有其它依賴運(yùn)行的文件。

  RPM包管理方式的優(yōu)點(diǎn)是:安裝簡(jiǎn)單方便,因?yàn)檐浖呀?jīng)編譯完成打包完畢,安裝只是個(gè)驗(yàn)證環(huán)境和解壓的過程。此外通過RPM方式安裝的軟件,RPM工具都會(huì)記錄軟件的安裝信息,這樣方便了軟件日后的查詢,升級(jí)和卸載。

  RPM包管理方式的缺點(diǎn)是對(duì)操作系統(tǒng)環(huán)境的依賴很大,它要求RPM包的安裝環(huán)境必須與RPM包封裝時(shí)的環(huán)境相一致或相當(dāng)。還需要滿足安裝時(shí)與系統(tǒng)某些軟件包的依賴關(guān)系,例如需要安裝A軟件,但是A軟件需要系統(tǒng)有B和C軟件的支持,那么就必須先安裝B和C軟件,然后才能安裝A軟件。這也是我們?cè)谟肦PM包方式安裝軟件需要特別注意的地方。

  2.2 RPM包種類和命令

  RPM包的封裝格式一般有兩種,分別是RPM和SRPM,SRPM包也是一種RPM,但是它包含了編譯時(shí)的源碼文件和一些編譯指定的參數(shù)文件,因而在使用的時(shí)候需要重新進(jìn)行編譯,通常SRPM對(duì)應(yīng)的RPM文件類似與“xxxxxxxx.src.rpm”格式。

  下面我們講述一下兩種RPM包對(duì)應(yīng)的文件名含義:

  例如一個(gè)rpm文件:nxserver-2.1.0-22.i386.rpm其中“nxserver”表示軟件的名稱,“2.1.0”表示軟件的版本號(hào),“22”表示軟件更新發(fā)行的次數(shù),“i386”表示適合硬件的平臺(tái),最后的“.rpm”是rpm軟件包的標(biāo)識(shí)。

  一般的RPM封裝包的命名格式都有這五個(gè)部分組成,由于SRPM包是需要編譯才能使用的,因此沒有上面顯示項(xiàng)中對(duì)應(yīng)的平臺(tái)選項(xiàng),其它與RPM包命令格式完全一樣。

  對(duì)于RPM包的五個(gè)組成部分,我們下面介紹一些它們更詳細(xì)的含義和異同:

  軟件名稱:是對(duì)軟件包的標(biāo)識(shí);

  軟件的版本號(hào):每個(gè)軟件都有自己的版本號(hào),版本號(hào)可以說明軟件從開始到現(xiàn)在發(fā)行了多少了,軟件是否是新的等等。

  軟件更新發(fā)行次數(shù):由于一個(gè)版本的軟件在發(fā)行后可能出現(xiàn)bug或者漏洞,那么就需要修復(fù)和重新封裝,每修復(fù)封裝一次,軟件的名稱就要更新一次。

  適合的硬件平臺(tái):由于RPM包要在各種不同的linux硬件平臺(tái)上使用,但是由于每個(gè)不同的硬件平臺(tái)RPM打包封裝的參數(shù)也各不相同,這樣就出現(xiàn)了針對(duì)i386、i686、x86_64、noarch等的平臺(tái)名稱標(biāo)識(shí)。

  i386指這個(gè)軟件包適用于intel 80386以后的x86架構(gòu)的計(jì)算機(jī)。

  i686指這個(gè)軟件包適用于intel 80686以后(奔騰pro以上)的x86架構(gòu)的計(jì)算機(jī)。

  x86_64指這個(gè)軟件包適用于x86架構(gòu)64為處理器的計(jì)算機(jī)。

  noarch表示這個(gè)軟件包與硬件構(gòu)架無關(guān),可以通用。

  需要注意的是:i386軟件包可以在任意x86平臺(tái)下使用,無論是i686或是x86_64的機(jī)器,相反,i686的軟件包不一定能在i386硬件上面使用,由于i686軟件包一般都是對(duì)cpu進(jìn)行了優(yōu)化,所有具有向后兼容性,但是不具有先前兼容的特性。

  RPM軟件包標(biāo)識(shí):RPM軟件包標(biāo)識(shí)用于指明此文件是rpm格式的文件,一般有兩種后綴標(biāo)識(shí),分別是以“.rpm”結(jié)尾和以“.src.rpm”結(jié)尾。

  2.3 RPM工具的使用

  RPM工具的使用分為安裝、查詢、驗(yàn)證、更新、刪除等操作,下面我們分別介紹。

  1. 安裝軟件包

  命令格式:rpm -i [輔助選項(xiàng)] file1.rpm file2.rpm…。.fileN.rpm主選項(xiàng)說明:

  -i:install的意思,就是安裝軟件。也可以使用“--install”。

  參數(shù)說明:file1.rpm file2.rpm…。.filen.rpm是指定將要安裝RPM包的文件名,可以多個(gè)文件一起安裝。

  輔助選項(xiàng)說明:這里的選項(xiàng)很多,我們只列出常用選項(xiàng),詳細(xì)解釋如下:

  l -v:顯示附加信息。

  l -h:安裝時(shí)輸出標(biāo)記“#”。

  l --test:只對(duì)安裝進(jìn)行測(cè)試,并不實(shí)際安裝。

  l --nodeps:不檢查軟件之間的依賴關(guān)系。加入此選項(xiàng)可能會(huì)導(dǎo)致軟件不可用。

  l --force:忽略軟件包以及軟件沖突。

  l --replacepkgs:強(qiáng)制重新安裝已經(jīng)安裝的軟件包。

  l --prefix:將軟件包安裝到由 指定的路徑下。

  l --percent:以百分比的形式輸出安裝的進(jìn)度。

  l --excludedocs:不安裝軟件包中的說明文件l --includedocs:安裝軟件包,包含說明文件。

標(biāo)簽 軟件安裝

發(fā)表評(píng)論

0

沒有更多評(píng)論了

評(píng)論就這些咯,讓大家也知道你的獨(dú)特見解

立即評(píng)論

以上留言僅代表用戶個(gè)人觀點(diǎn),不代表系統(tǒng)之家立場(chǎng)

其他版本軟件

熱門教程

人氣教程排行

Linux系統(tǒng)推薦

掃碼關(guān)注
掃碼關(guān)注

掃碼關(guān)注 官方交流群 軟件收錄