『學了就忘』Linux軟體包管理 — 47、Linux原始碼包的安裝和解除安裝

繁華似錦Fighting發表於2021-11-18

1、原始碼包安裝服務的注意事項

(1)安裝服務選擇哪種軟體包?(建議)

  • 如果軟體包是給大量客戶提供訪問,建議使用原始碼包安裝,如LAMP環境搭建,因為原始碼包效率更高。
  • 如果軟體包是給Linux底層使用,或只給少量客戶訪問,建議使用RPM包安裝,因為RPM包簡單。

如果不考慮軟體效率,用哪種方式都可以。

(2)原始碼包是從哪裡來的?

  • RPM包是光碟中直接包含的,所以不需要使用者單獨下載。
  • 而原始碼包是通過官方網站下載的,如果需要使用,是需要單獨下載的。

(3)是否可以在系統中即安裝RPM包的Apache,又安裝原始碼包的Apache?

答案是可以,因為兩種安裝方法安裝的Apache,安裝位置是不一樣的。

例如:

image

提示:上圖檔案的位置一定要記下來,有好處。

說明:

  • service命令能啟動RPM包安裝方式安裝的軟體,是因為service命令會搜尋/etc/rc.d/init.d/目錄下啟動命令。
  • 我可以把原始碼包安裝後啟動檔案/usr/1ocal/apache2/bin/apachectl,拷貝到/etc/rc.d/init.d/目錄下,service命令就可以用了。
  • 但是,不推薦上面這種做法。因為軟體的安裝位置不同,是區分RPM安裝還是原始碼包安裝最好的方式。
    Red Hat 6是這樣,Red Hat 7中有所改變。)

(4)生產伺服器上,是否會同時安裝兩種Apache?

當然不會,因為系統中只有一個80埠,所以你只能啟動一個Apache,裝多個只能浪費資源。我們建議安裝原始碼包的Apache。

服務是可以修改埠號的:

  • 如果服務是給大量客戶端訪問的,不建議更換埠,因為使用者就找不到了。
  • 如果服務是給內部人員使用,建議改換埠,因為更加安全。

2、原始碼包安裝服務的過程

我們來解釋一下原始碼包安裝的具體步驟。

步驟1:下載軟體包。

httpd-2.2.9.tar.gz

步驟2:解壓縮原始碼包。

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

步驟3:進入原始碼包的解壓目錄。

如下圖所示:

image

步驟4:./configure編譯前準備

這一步主要有三個作用:

  • 在安裝之前需要檢測系統環境是否符合安裝要求。
  • 定義需要的功能選項。./configure支援的功能選項較多,可以執行./configure --help命令查詢其支援的功能。
    一般都會通過./configure --prefix=安裝路徑來指定安裝路徑。
  • 把系統環境的檢測結果和定義好的功能選項寫入Makefile檔案,後續的編譯和安裝需要依賴這個檔案的內容。
    需要注意的是,configure不是系統命令,而是原始碼包軟體自帶的一個指令碼程式,所以必須採用
    ./configure方式執行(./代表在當前目錄下)。
    image

步驟5:make編譯

  • make命令會呼叫gcc編譯器,並讀取Makefile檔案中的資訊進行系統軟體編譯。
  • 編譯的目的就是把原始碼程式轉變為能被Linux識別的可執行檔案,這些可執行檔案儲存在當前目錄下。
  • 編譯過程較為耗時,需要有足夠的耐心。

步驟6:make clean:清空編譯內容(非必需步驟)。

如果在./configuremake編譯中報錯,那麼我們在重新執行命令前一定要記得執行make clean命令,它會清空Makefile檔案或編譯產生的.o標頭檔案。

注意:原始碼包報錯

  • 安裝過程必須停止。
  • 在最後幾行是否出現nowarningerror關鍵字,有則說明出現錯誤。

步驟7:make install:編譯安裝

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

注意:只有這步執行了,如果指定了安裝的資料夾,才開始建立。這個時候如果安裝報錯,除了需要執行上邊的make clean命令,還需要手動的把安裝目錄給刪除掉,才是徹底清空,然後才能重新安裝軟體。

提示:絕大多數的原始碼包安裝步驟都是和上邊一樣的,有不一樣的單獨記一下即可,或者安裝的時候檢視一下文件也行。

總結:原始碼包安裝出現錯誤很難解決。所以自己使用服務的時候,能用RPM包安裝的儘量用RPM包安裝。

3、原始碼包安裝服務的刪除

原始碼包沒有刪除命令,如果需要刪除,直接刪除安裝目錄即可。

4、原始碼包安裝服務的啟動

在軟體的解壓縮目錄下就有軟體的安裝說明,位置如下:

image

檔案內容如下:

image

說明:

  • $ ./configure --prefix=PREFIX : 編譯準備
  • $ make : 編譯
  • $ make install : 安裝
  • $ PREFIX/bin/apachectl start : 啟動,是在安裝目錄下(PREFIX)的bin/apachectl start

5、原始碼包安裝服務的關閉

命令為:軟體安裝目錄/bin/apachectl stop

相關文章