首頁 > linux教程 > Linux軟件安裝 閱讀:0更新時間:2020-03-28 00:57:54

Linux源碼包安裝和卸載教程(以apache為例)

由于 linux 操作系統開放源代碼,因此在其上安裝的軟件大部分也都是開源軟件,例如 Apache、Tomcat 和 PHP 等。開源軟件基本都提供源碼下載,可采用源碼安裝的方式安裝軟件。

注意,本節使用的源碼包,指的是軟件所有源代碼的壓縮包,其后綴名為 ".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

如果未安裝,考慮到安裝 gcc 所依賴的軟件包太多,推薦大家使用 yum 安裝 gcc。具體安裝方式可閱讀《Linux yum命令》一節。

除了安裝編譯器,還需要安裝 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 為例,安裝過程分為如下幾步:
  1. 下載 apache 源碼包。該軟件的源碼包可通過官方網站 /d/file/202003/vps5bwidusx105.cgi ".tar.gz" 或 ".tar.bz2" )。

    將各種文件分門別類保存在對應的目錄中,應該成為合格 Linux 管理員約定俗成的習慣。Linux 系統中用于保存源代碼的位置主要有 2 個,分別是 "/usr/src" 和 "/usr/local/src",其中 "/usr/src" 用來保存內核源代碼,"/usr/local/src" 用來保存用戶下載的源代碼。
  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. ./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
    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 選項的含義為指定安裝目錄。

    此命令沒有加載其他功能,只是指定安裝目錄。需要說明的是,"/usr/local/apache2" 目錄不需要手工建立,安裝完成后會自動建立(這個目錄是否生成也是檢測軟件是否正確安裝的重要標志)。
  5. make 編譯。make 會調用 gcc 編譯器,并讀取 Makefile 文件中的信息進行系統軟件編譯。編譯的目的就是把源碼程序轉變為能被 Linux 識別的可執行文件,這些可執行文件保存在當前目錄下。

    執行的編譯命令如下:

    [root@localhost httpd-2.2.9]# make

    編程過程較為耗時,需要有足夠的耐心。
  6. 正式開始安裝軟件,這里通常會寫清程序的安裝位置,如果沒有,則建議讀者把安裝的執行過程保存下來,以備將來刪除軟件時使用。安裝指令如下:

    [root@localhost httpd-2.2.9]# make install

    整個過程不報錯,即為安裝成功。

    安裝源碼包過程中,如果出現“error”(或“warning”)且安裝過程停止,表示安裝失??;反之,如果僅出現警告信息,但安裝過程還在繼續,這并不是安裝失敗,頂多使軟件部分功能無法使用。
     
注意,如果在 "./configure" 或 "make" 編譯中報錯,則在重新執行命令前一定要執行 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%的其他從業者!

相關文章

優秀教程

国产亚洲欧美日韩