Linux源碼包安裝和卸載教程(以apache為例)
注意,本節使用的源碼包,指的是軟件所有源代碼的壓縮包,其后綴名為 ".tar.gz" 或 ".tar.bz2";而 SRPM 源碼包本質上屬于 RPM 包,也就是源碼的RPM包,其文件后綴為 ".src.rpm"。雖然都叫源碼包,但不是一碼事。
軟件的源代碼,也就是軟件的原始數據,任何人都可以通過源代碼查看該軟件的設計架構和實現方法,但軟件源代碼無法再計算機中直接運行安裝,需要將源代碼通過編譯轉換為計算機可以識別的機器語言,然后才可以安裝。Linux 系統中,絕大多數軟件的源代碼都是用 C 語言編寫的,少部分用 C++(或其他語言)編寫。因此要想安裝源碼包,必須安裝 gcc 編譯器(如果涉及 C++ 源碼程序,還需要安裝 gcc-c++)。
安裝 gcc 之前,可先使用如下命令看看是否已經安裝:
[root@localhost ~]# rpm -q gcc
gcc-4.4.6-4.el6.i686
除了安裝編譯器,還需要安裝 make 編譯命令。要知道,編譯源碼包可不像編譯一個 hello.c 文件那樣輕松,包中含大量的源碼文件,且文件之間有著非常復雜的關聯,直接決定著各文件編譯的先后順序,因此手動編譯費時費力,而使用 make 命令可以完成對源碼包的自動編譯。
同樣,在安裝 make 命令之前,可使用如下命令查看其是否已經安裝:
[root@localhost yum. repos.d]# rpm -q make
make-3.81-20.el6.i686
yum -y install make
命令直接安裝 make。安裝好了 gcc 編譯器和 make 編譯工具,接下來學習使用源碼包安裝軟件。
Linux源碼包安裝軟件
本節仍然以安裝 apache 為例,安裝過程分為如下幾步:-
下載 apache 源碼包。該軟件的源碼包可通過官方網站 /d/file/202003/vps5bwidusx105.cgi ".tar.gz" 或 ".tar.bz2" )。
將各種文件分門別類保存在對應的目錄中,應該成為合格 Linux 管理員約定俗成的習慣。Linux 系統中用于保存源代碼的位置主要有 2 個,分別是 "/usr/src" 和 "/usr/local/src",其中 "/usr/src" 用來保存內核源代碼,"/usr/local/src" 用來保存用戶下載的源代碼。 -
將源碼包進行解壓縮,使用命令如下:
[root@localhost ~]#tar -zxvf httpd-2.2.9.tar.gz|more
-
進入解壓目錄,執行如下命令:
[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 項任務:
- 檢測系統環境是否符合安裝要求。
-
定義需要的功能選項。通過 "./configure--prefix=安裝路徑" 可以指定安裝路徑。注意,configure 不是系統命令,而是源碼包軟件自帶的一個腳本程序,所以必須采用 "./configure" 方式執行("./" 代表在當前目錄下)。
"./configure" 支持的功能選項較多,可執行 "./configure--help" 命令查詢其支持的功能,例如:[root@localhost httpd-2.2.9]#./configure --help|more
#查詢apache支持的選項功能(不是必需步驟) - 把系統環境的檢測結果和定義好的功能選項寫入 Makefile 文件,因為后續的編譯和安裝需要依賴這個文件的內容。
此步具體執行代碼如下:
[root@localhost httpd-2.2.9]# ./configure --prefix=/usr/local/apache2
--prefix 選項的含義為指定安裝目錄。
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
…省略部分輸出…
此命令沒有加載其他功能,只是指定安裝目錄。需要說明的是,"/usr/local/apache2" 目錄不需要手工建立,安裝完成后會自動建立(這個目錄是否生成也是檢測軟件是否正確安裝的重要標志)。 -
make 編譯。make 會調用 gcc 編譯器,并讀取 Makefile 文件中的信息進行系統軟件編譯。編譯的目的就是把源碼程序轉變為能被 Linux 識別的可執行文件,這些可執行文件保存在當前目錄下。
執行的編譯命令如下:[root@localhost httpd-2.2.9]# make
編程過程較為耗時,需要有足夠的耐心。 -
正式開始安裝軟件,這里通常會寫清程序的安裝位置,如果沒有,則建議讀者把安裝的執行過程保存下來,以備將來刪除軟件時使用。安裝指令如下:
[root@localhost httpd-2.2.9]# make install
整個過程不報錯,即為安裝成功。
安裝源碼包過程中,如果出現“error”(或“warning”)且安裝過程停止,表示安裝失??;反之,如果僅出現警告信息,但安裝過程還在繼續,這并不是安裝失敗,頂多使軟件部分功能無法使用。
make clean
命令,它會清空 Makefile 文件或編譯產生的 ".o" 頭文件。Linux源碼包卸載
通過源碼包方式安裝的各個軟件,其安裝文件獨自保存在 /usr/local/ 目錄下的各子目錄中。例如,apache 所有的安裝文件都保存在 /usr/local/apache2 目錄下。這就為源碼包的卸載提供了便利。源碼包的卸載,只需要找到軟件的安裝位置,直接刪除所在目錄即可,不會遺留任何垃圾文件。需要讀者注意的是,在刪除軟件之前,應先將軟件停止服務。
以刪除 apache 為例,只需關閉 apache 服務后執行如下命令即可:
[root@localhost ~]# rm -rf /usr/local/apache2/
beylze編程學院,一個分享編程知識和seo優化知識的網站。跟著beylze一起學習,每天都有進步。
通俗易懂,深入淺出,一篇文章只講一個知識點。
文章不深奧,不需要鉆研,在公交、在地鐵、在廁所都可以閱讀,隨時隨地漲姿勢。
文章不涉及代碼,不燒腦細胞,人人都可以學習。
當你決定關注beylze(公眾號:beylze),你已然超越了90%的其他從業者!