C語言中文網
首頁 > 編程筆記 > Linux筆記 閱讀:2,417

Linux yum源碼包安裝和卸載過程詳解版

Linux 下的絕大多數源碼包都是用 C 語言編寫的,還有少部分是用 C++ 等其他程序語言編寫的。所以,要想安裝源碼包,必須安裝 C 語言編譯器 gcc(如果是用 C++ 編寫的程序,則還需要安裝 gcc-c++)。

我們可以先檢測一下 gcc 是否已經安裝,命令如下:

[root@localhost ~]# rpm -q gcc
gcc-4.4.6-4.el6.i686

如果沒有安裝 gcc,則推薦大家采用 yum 安裝方式安裝。因為如果手工使用 rpm 命令安裝,那么 gcc 所依賴的包太多了。命令如下:

[root@localhost yum.repos.d]#yum -y install gcc

有了編譯器,還需要考慮一個問題:剛剛寫的"hello.c"只有一個源碼文件,所以我們可以利用 gcc 手工編譯。但是真正發布的源碼包軟件內的源碼文件可能有成百上千個,而且這些文件之間都是有聯系的,編譯時有先后順序。如果這樣的源碼文件需要手工編譯,光想想就是一項難以完成的工作。

這時就需要 make 命令來幫助我們完成編譯,所以make也是必須安裝的。我們也需要査看一下 make 是否已經安裝,命令如下:

[root@localhost yum. repos.d]# rpm -q make
make-3.81-20.el6.i686

源碼包的獲取

RPM 包是保存在 CentOS 6.3 的安裝光盤中的,那么源碼包從哪里來呢?從官方網站上下載,我們依然以下載和安裝 apache 為例。

源碼包安裝

在安裝之前,我們先來解釋一下源碼包的安裝注意事項:

安裝步驟

我們來解釋一下源碼包安裝的具體步驟:
1) 下載軟件包。

2) 解壓縮。

3) 進入解壓目錄。

4) ./configure 軟件配置與檢查。這一步主要有三個作用:
  1. 在安裝之前需要檢測系統環境是否符合安裝要求。
  2. 定義需要的功能選項。"./configure"支持的功能選項較多,可以執行"./configure--help"命令査詢其支持的功能。一般都會通過"./configure--prefix=安裝路徑"來指定安裝路徑。
  3. 把系統環境的檢測結果和定義好的功能選項寫入 Makefile 文件,后續的編譯和安裝需要依賴這個文件的內容。
需要注意的是,configure 不是系統命令,而是源碼包軟件自帶的一個腳本程序,所以必須采用"./configure"方式執行("./"代表在當前目錄下)。

5) make編譯。make 會調用 gcc 編譯器,并讀取 Makefile 文件中的信息進行系統軟件編譯。編譯的目的就是把源碼程序轉變為能被 Linux 識別的可執行文件,這些可執行文件保存在當前目錄下。編程過程較為耗時,需要有足夠的耐心。

6) make clean:清空編譯內容(非必需步驟)。如果在"./configure"或"make"編譯中報錯,那么我們在重新執行命令前一定要記得執行 make clean 命令,它會清空 Makefile 文件或編譯產生的".o"頭文 件。

7) make install:安裝。這才是真正的安裝過程,一般會寫清楚程序的安裝位置。如果忘記指定安裝目錄,則可以把這個命令的執行過程保存下來,以備將來刪除使用。

舉例安裝apache

1) 下載。

2) 解壓縮。

[root@localhost ~]#tar -zxvf httpd-2.2.9.tar.gz|more


3) 進入解壓目錄。

[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


4) 軟件配置。

[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
…省略部分輸出…

選項:
這里的安裝選項沒有加載其他功能,只是指定安裝目錄。"/usr/local/apache2"目錄不需要手工建立,安裝完成后會自動建立,這個目錄是否生成也是檢測軟件是否正確安裝的重要標志。

當然,在配置之前也可以查詢一下 apache 支持的選項功能,命令如下:

[root@localhost httpd-2.2.9]#./configure --help|more
#查詢apache支持的選項功能(不是必需步驟)


5) 編譯。

[root@localhost httpd-2.2.9]# make

這一步命令較為簡單,醒編譯時間賬,主要作用是把源碼文件轉換為二進制文件。

6)安裝。

[root@localhost httpd-2.2.9]# make install

如果不報錯,這一步完成后就安裝成功了。

源碼包卸載

我們在說源碼包卸載之前,先回顧一下 Windows 系列操作系統中的軟件卸載。在 Windows 系統中是不能用鼠標右鍵單擊安裝之后的軟件,選擇直接刪除的,因為這樣做會遺留大量的垃圾文件。這些垃圾文件越多,會導致 Window 系統越不穩定。

那么, Linux 中刪除源碼包應該怎樣操作呢?太簡單了,只要找到軟件的安裝位置,然后直接刪除就可以了。比如刪除 apache,只需執行如下命令即可,而且不會遺留任何垃圾文件。

[root@localhost ~]# rm -rf /usr/local/apache2/

如果 apache 服務啟動了,那么,記得先停止服務再刪除。

所有教程

優秀文章

精美而實用的網站,提供C語言C++STLLinuxShellJavaGo語言等教程,以及socketGCCviSwing設計模式JSP等專題。

Copyright ?2011-2018 biancheng.net, 陜ICP備15000209號

底部Logo