新聞中心

公司主營(yíng)業(yè)務(wù):做網(wǎng)站、成都網(wǎng)站建設(shè)、移動(dòng)網(wǎng)站開發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實(shí)現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競(jìng)爭(zhēng)能力。創(chuàng)新互聯(lián)是一支青春激揚(yáng)、勤奮敬業(yè)、活力青春激揚(yáng)、勤奮敬業(yè)、活力澎湃、和諧高效的團(tuán)隊(duì)。公司秉承以“開放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對(duì)我們的高要求,感謝他們從不同領(lǐng)域給我們帶來的挑戰(zhàn),讓我們激情的團(tuán)隊(duì)有機(jī)會(huì)用頭腦與智慧不斷的給客戶帶來驚喜。創(chuàng)新互聯(lián)推出邯鄲免費(fèi)做網(wǎng)站回饋大家。
注意,本節(jié)使用的源碼包,指的是軟件所有源代碼的壓縮包,其后綴名為 ".tar.gz" 或 ".tar.bz2";而 SRPM 源碼包本質(zhì)上屬于 RPM 包,也就是源碼的RPM包,其文件后綴為 ".src.rpm"。雖然都叫源碼包,但不是一碼事。
軟件的源代碼,也就是軟件的原始數(shù)據(jù),任何人都可以通過源代碼查看該軟件的設(shè)計(jì)架構(gòu)和實(shí)現(xiàn)方法,但軟件源代碼無法再計(jì)算機(jī)中直接運(yùn)行安裝,需要將源代碼通過編譯轉(zhuǎn)換為計(jì)算機(jī)可以識(shí)別的機(jī)器語言,然后才可以安裝。
Linux 系統(tǒng)中,絕大多數(shù)軟件的源代碼都是用 C 語言編寫的,少部分用 C++(或其他語言)編寫。因此要想安裝源碼包,必須安裝 gcc 編譯器(如果涉及 C++ 源碼程序,還需要安裝 gcc-c++)。
安裝 gcc 之前,可先使用如下命令看看是否已經(jīng)安裝:
[root@localhost ~]# rpm -q gcc
gcc-4.4.6-4.el6.i686
如果未安裝,考慮到安裝 gcc 所依賴的軟件包太多,推薦大家使用 yum 安裝 gcc。具體安裝方式可閱讀《Linux yum命令》一節(jié)。
除了安裝編譯器,還需要安裝 make 編譯命令。要知道,編譯源碼包可不像編譯一個(gè) hello.c 文件那樣輕松,包中含大量的源碼文件,且文件之間有著非常復(fù)雜的關(guān)聯(lián),直接決定著各文件編譯的先后順序,因此手動(dòng)編譯費(fèi)時(shí)費(fèi)力,而使用 make 命令可以完成對(duì)源碼包的自動(dòng)編譯。
同樣,在安裝 make 命令之前,可使用如下命令查看其是否已經(jīng)安裝:
[root@localhost yum. repos.d]# rpm -q make
make-3.81-20.el6.i686
如果未安裝,可使用
yum -y install make 命令直接安裝 make。
安裝好了 gcc 編譯器和 make 編譯工具,接下來學(xué)習(xí)使用源碼包安裝軟件。
Linux源碼包安裝軟件
本節(jié)仍然以安裝 apache 為例,安裝過程分為如下幾步:
- 下載 apache 源碼包。該軟件的源碼包可通過官方網(wǎng)站 http://httpd.apache.org/download.cgi#apache24 下載,得到的源碼包格式為壓縮包( ".tar.gz" 或 ".tar.bz2" )。
將各種文件分門別類保存在對(duì)應(yīng)的目錄中,應(yīng)該成為合格 Linux 管理員約定俗成的習(xí)慣。Linux 系統(tǒng)中用于保存源代碼的位置主要有 2 個(gè),分別是 "/usr/src" 和 "/usr/local/src",其中 "/usr/src" 用來保存內(nèi)核源代碼,"/usr/local/src" 用來保存用戶下載的源代碼。
- 將源碼包進(jìn)行解壓縮,使用命令如下:
[root@localhost ~]#tar -zxvf httpd-2.2.9.tar.gz|more
- 進(jìn)入解壓目錄,執(zhí)行如下命令:
[root@localhost ~]# ls
anaconda-ks.cfg httpd-2.2.9 httpd-2.2.9.tar.gz install.log install.log.syslog
[root@localhost ~]# cd httpd-2.2.9 - ./configure 軟件配置與檢查。這一步主要完成以下 3 項(xiàng)任務(wù):
- 檢測(cè)系統(tǒng)環(huán)境是否符合安裝要求。
- 定義需要的功能選項(xiàng)。通過 "./configure--prefix=安裝路徑" 可以指定安裝路徑。注意,configure 不是系統(tǒng)命令,而是源碼包軟件自帶的一個(gè)腳本程序,所以必須采用 "./configure" 方式執(zhí)行("./" 代表在當(dāng)前目錄下)。
"./configure" 支持的功能選項(xiàng)較多,可執(zhí)行 "./configure--help" 命令查詢其支持的功能,例如:
[root@localhost httpd-2.2.9]#./configure --help|more
#查詢apache支持的選項(xiàng)功能(不是必需步驟) - 把系統(tǒng)環(huán)境的檢測(cè)結(jié)果和定義好的功能選項(xiàng)寫入 Makefile 文件,因?yàn)楹罄m(xù)的編譯和安裝需要依賴這個(gè)文件的內(nèi)容。
此步具體執(zhí)行代碼如下:
[root@localhost httpd-2.2.9]# ./configure --prefix=/usr/local/apache2
checking for chosen layout...Apache
checking for working mkdir -p…yes
checking build system type...i686-pc-linux-gnu
checking host system type...i686-pc-linux-gnu
checking target system typa...i686-pc-linux-gnu
…省略部分輸出…--prefix 選項(xiàng)的含義為指定安裝目錄。
此命令沒有加載其他功能,只是指定安裝目錄。需要說明的是,"/usr/local/apache2" 目錄不需要手工建立,安裝完成后會(huì)自動(dòng)建立(這個(gè)目錄是否生成也是檢測(cè)軟件是否正確安裝的重要標(biāo)志)。
- make 編譯。make 會(huì)調(diào)用 gcc 編譯器,并讀取 Makefile 文件中的信息進(jìn)行系統(tǒng)軟件編譯。編譯的目的就是把源碼程序轉(zhuǎn)變?yōu)槟鼙?Linux 識(shí)別的可執(zhí)行文件,這些可執(zhí)行文件保存在當(dāng)前目錄下。
執(zhí)行的編譯命令如下:
[root@localhost httpd-2.2.9]# make
編程過程較為耗時(shí),需要有足夠的耐心。
- 正式開始安裝軟件,這里通常會(huì)寫清程序的安裝位置,如果沒有,則建議讀者把安裝的執(zhí)行過程保存下來,以備將來刪除軟件時(shí)使用。安裝指令如下:
[root@localhost httpd-2.2.9]# make install
整個(gè)過程不報(bào)錯(cuò),即為安裝成功。
安裝源碼包過程中,如果出現(xiàn)“error”(或“warning”)且安裝過程停止,表示安裝失?。环粗?,如果僅出現(xiàn)警告信息,但安裝過程還在繼續(xù),這并不是安裝失敗,頂多使軟件部分功能無法使用。
注意,如果在 "./configure" 或 "make" 編譯中報(bào)錯(cuò),則在重新執(zhí)行命令前一定要執(zhí)行
make clean 命令,它會(huì)清空 Makefile 文件或編譯產(chǎn)生的 ".o" 頭文件。
Linux源碼包卸載
通過源碼包方式安裝的各個(gè)軟件,其安裝文件獨(dú)自保存在 /usr/local/ 目錄下的各子目錄中。例如,apache 所有的安裝文件都保存在 /usr/local/apache2 目錄下。這就為源碼包的卸載提供了便利。
源碼包的卸載,只需要找到軟件的安裝位置,直接刪除所在目錄即可,不會(huì)遺留任何垃圾文件。需要讀者注意的是,在刪除軟件之前,應(yīng)先將軟件停止服務(wù)。
以刪除 apache 為例,只需關(guān)閉 apache 服務(wù)后執(zhí)行如下命令即可:
[root@localhost ~]# rm -rf /usr/local/apache2/
文章標(biāo)題:Linux源碼包安裝和卸載教程(以apache為例)
本文路徑:http://m.fisionsoft.com.cn/article/cciigcs.html


咨詢
建站咨詢
