Linux軟件如何安裝及管理
我們都知道windows軟件的安裝非常簡單,只要運(yùn)行安裝程序就可以了,可是Linux系統(tǒng)的軟件可沒那么容易安裝,下面小編就給大家介紹下Linux系統(tǒng)中軟件的安裝方法。
先來看看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等軟件。開源軟件基本都提供源碼下載,源碼安裝的方式;源碼安裝的好處是用戶可以自己定制軟件功能,安裝需要的模塊,不需要的功能可以不用安裝,此外,用戶還可以自己選擇安裝路徑,方便管理,卸載軟件也很方便,只需刪除對應(yīng)的安裝目錄即可。沒有windows所謂的注冊表之說。
源碼安裝軟件一般有以下幾個(gè)步驟組成:下載解壓源碼、分析安裝平臺(tái)環(huán)境(ifconfigure)、編譯安裝軟件(make,make install)。下面我們分別介紹。
1.1 下載解壓源碼
linux下軟件的源碼一般都是C或者C++語言編寫的,并且都會(huì)在軟件的官方網(wǎng)站上提供源碼包下載,例如apache開源項(xiàng)目的官方網(wǎng)站為http://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)的軟件解包即可,針對下載軟件包的不同,使用不同的方法進(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就是上面我們講到的,是對軟件的介紹和安裝說明;linux下軟件的安裝受到操作系統(tǒng)安裝環(huán)境的影響,比如某些軟件在安裝或者運(yùn)行過程中需要調(diào)用操作系統(tǒng)本身的庫文件,或者需要運(yùn)行系統(tǒng)的某個(gè)工具等等,但是系統(tǒng)中不存在這個(gè)庫文件或者這個(gè)工具沒有安裝,那么安裝或者運(yùn)行軟件就會(huì)失敗。
為了避免這個(gè)問題的出現(xiàn),在安裝軟件的時(shí)候就需要分析操作系統(tǒng)環(huán)境,檢測當(dāng)前系統(tǒng)是否擁有安裝軟件所需的所有文件和工具,如果系統(tǒng)缺少某個(gè)文件,就給出提示,直到滿足軟件的所有需求為止。這個(gè)就是configure文件的功能,configure文件一般是個(gè)可執(zhí)行文件,可以在當(dāng)前目錄下直接輸入“。/configure”進(jìn)行軟件安裝的環(huán)境測試,如果提示缺少某些安裝包,就需要進(jìn)行安裝,直到測試通過。通常的,源碼安裝都需要GCC或者CC編譯器,這些編譯器一般在安裝系統(tǒng)時(shí)定制安裝包中的開發(fā)工具選項(xiàng)下,其實(shí)這也是我們在第二章安裝linux系統(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,對于一個(gè)包含很多源文件的應(yīng)用程序,使用make和makefile工具可以簡單快速的解決各個(gè)源文件之間復(fù)雜的依賴關(guān)系,同時(shí),make工具還可以自動(dòng)完成所有源碼文件的編譯工作,并且可以只對上次編譯后修改過的文件進(jìn)行增量編譯,因此,熟練掌握了make和makefile工具之后,源碼安裝軟件就變的像windows下安裝軟件一樣簡單。
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文件,我們在執(zhí)行configure通過后,就會(huì)在當(dāng)前目錄下生成這個(gè)文件,一般情況下在命令行輸入make時(shí),make命令會(huì)默認(rèn)去尋找當(dāng)前目錄下的Makefile文件,如果我們用其它文件作為makefile,就要在make命令選項(xiàng)后指定makefile文件,例如我們設(shè)定編譯規(guī)則文件為make_file,就需要使用以下命令指定:
[root@WEBServer ~]#make -f make_file
下面我們通過舉例了解下Makefile的編寫原則和內(nèi)容。
例如有一個(gè)test程序,有三個(gè)源文件file1.c、file2.c、file3.c以及庫文件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””的聲明。