Linux系列教程(十三)——Linux軟件包管理之源碼包、腳本安裝包


  上篇博客我們講解了網絡yum源和光盤yum源的搭建步驟,然后詳細介紹了相關的yum命令,yum 最重要是解決了軟件包依賴性問題。在安裝軟件時,我們使用yum命令將會簡單方便很多。我們知道yum命令只能安裝rpm包,如果是源碼包呢?我們又該如何安裝,那么這篇博客我們主要介紹如何安裝源碼包。

1、源碼包和RPM包的區別

  在 Linux軟件包管理之RPM命令 這篇博客中我們從概念上介紹了源碼包和rpm包的區別。

  源碼包開源,如果有足夠的能力,可以直接修改源代碼。安裝時可以自由選擇所需的功能。軟件是編譯安裝,所以更加適合自己的系統,更加穩定也效率更高。卸載方便,直接刪了你安裝軟件的那個目錄就好了。但是安裝步驟較多,尤其安裝較大的軟件集合時,容易出現拼寫錯誤。編譯時間過長,比后面講的二進制安裝時間長。因為是編譯安裝,安裝過程中一旦報錯新手很難解決。

  rpm包包管理系統簡單,只通過幾個命令就可以實現包的安裝、升級、查詢和卸載。安裝速度比源碼包快很多。但是由於源碼已經經過編譯了,看不到源代碼。功能選擇不如源代碼包靈活。安裝過程中有很多依賴的包,依賴性不好解決。

  這里由於安裝位置的不同,安裝之后會帶來一些很明顯的區別。

  RPM包和源碼包默認安裝位置:

  RPM包默認安裝位置:

  

  rpm包也能手工更改安裝位置,但是更改位置之后會造成一些影響,下面我們會詳細講解。

  源碼包安裝位置:

/usr/local/軟件名/

  由於安裝位置不同帶來的影響

  ①、rpm包安裝的服務可以使用系統服務管理命令(service)來管理。

  比如 rpm 包安裝的apache 的啟動方法是:

①、/etc/rc.d/init.d/httpd start
②、service httpd start

  第二種命令是第一種命令的簡化形式。這是紅帽專有命令。service 會去 rpm 包默認的安裝位置去找可執行文件,所以service類似的啟動服務管理命令只能管理rpm安裝包。如果更改了rpm包的默認安裝位置,可能造成通過service啟動服務失敗。

  Linux要啟動一個執行文件,都應該是用絕對路徑來啟動,后面講的配置好環境變量之后能直接通過文件名來啟動,其實原理也是通過環境變量找到的絕對路徑。而 /etc/rc.d/init.d/ 目錄是所有rpm包安裝的服務執行文件存放目錄。

  

  提示:綠色的都是可執行文件。

  ②、源碼包啟動服務

  由於源碼包沒有安裝到指定的路徑中,所以源碼包安裝的服務不能被類似service服務管理命令管理,這里就只能通過絕對路徑的形式來啟動了。

/usr/local/apache2/bin/apachectl start

 

2、源碼包安裝

  ①、安裝准備

  一、首先在Linux系統安裝gcc編譯器

  

  二、下載源碼包

  我們以 httpd 為例,下載地址:http://mirror.bit.edu.cn/apache/httpd/

  ②、安裝注意事項

  一、源代碼建議保存位置:/usr/local/src

  二、軟件安裝位置:/usr/local

  三、如何確定安裝過程報錯:安裝過程停止,並出現error、warning或no的提示。注意源碼包安裝過程一旦報錯是很難解決的,需要我們去修改源碼。所以從正規網站上下載別人驗證過的源碼包,一般是不會報錯的。

  ③、安裝源碼包

  我們將下載好的源碼包通過工具(在 Linux學習技巧 中有介紹)復制到Linux系統中,然后解壓,最后進入到解壓目錄,因為后面很多命令都需要在解壓之后的目錄中操作。

  

  這里我們可以查看INSTALL 文件,查看安裝說明:

  

  第一步:軟件配置與檢查 ./configure

  ①、定義需要的功能選項。

  ②、檢測系統是否符合安裝要求。

  ③、把定義好的功能選項和檢測系統環境的信息都寫入Makefile 文件,用於后續的編輯

./configure --prefix=/usr/local/apache2

  通過 -- prefix 定義源碼包安裝位置,后面的apache2(由於我們通過yum已經安裝了apache,所以這里命名為apache2)可以任意命名。

  

  執行完成如果沒有出現報錯信息,則准備工作完成。

  第二步:執行編譯 make ,將源碼包編譯為機器碼

  

  這一步安裝的時長取決於源碼包的大小以及機器的性能。如果安裝出錯,可以執行 make clean,清空產生的所有臨時文件。

  注意:這一步執行完成之后並不會在 /usr/local 下生成 apache2目錄。但是在httpd源碼包解壓目錄生成了Makefile 文件

  第三步:執行 make install ,編譯安裝

  

  第四步:安裝完成之后,啟動該服務

  我們通過查看源碼包解壓之后的目錄 INSTALL 文件,可以知道啟動命令:

    

/usr/local/apache2/bin/apachectl start

  啟動發現報如下錯誤:這是 80 端口被占用了。因為我們用 yum 安裝過rpm包的httpd,這里停掉 rpm包的httpd就好了。

  

 

3、源碼包卸載

  源碼包不需要額外的卸載命令,直接刪除安裝目錄即可,不會有任何的垃圾文件遺留。

  

  這里就可以看出為啥Linux系統運行很長的時間都比較穩定,而windows系統運行一段時間就會比較卡。這是因為Linux系統安裝的軟件卸載干凈,而windows怎么卸載都會存在一定的垃圾文件。

4、腳本安裝包

  這里首先要給大家說明,Linux系統從本質上講只有rpm包和源碼包,是沒有腳本安裝包的。這里說腳本安裝包,其實根本上就是源碼包。上面剛剛講了源碼包的安裝方法,發現還是比較麻煩的。為了簡化源碼包的安裝,人為的修改源碼包,使其變成自動安裝的腳本,我們只需要執行腳本定義簡單的參數就能完成安裝。具體解釋如下:

  ①、腳本安裝包並不是獨立的軟件包類型,基本上都是源碼包。

  ②、腳本安裝包是人為的把安裝過程寫成了自動安裝的腳本,只要執行腳本,定義簡單的參數,就可以完成安裝。

  ③、腳本安裝包類似於windows下軟件的安裝方式。

  這里以 Webim 的安裝為例來介紹如何安裝腳本安裝包:

  Webim 是一個基於 Web 的Linux 系統管理界面,安裝完成之后,就可以通過圖形化的方式來設置用戶賬戶、DNS、文件共享等服務。

  第一步:下載 Webim 腳本安裝包

  下載地址:http://sourceforge.net/projects/webadmin/files/webmin

  第二步:將下載的文件通過工具復制到Linux系統中,並解壓

  

  第三步:進入到解壓之后的目錄,並執行里面的腳本安裝文件  ./setup.sh 

  

  出現如下界面安裝成功:

  

 

  安裝完成之后,我們輸入 虛擬機的ip地址:20000,后面的端口號20000根據你安裝實際情況來,進入到 Webim 操作界面

  

 

5、總結

   本篇博客我們介紹了源碼包和腳本安裝包的安裝方法。源碼包和前面講的RPM包安裝相比是比較麻煩的,而且重點介紹了源碼包和rpm包由於安裝位置的不同造成后面啟動相關服務的方法的區別。腳本安裝包其實就是人為的修改源碼包,使其成為一個自動安裝的腳本,安裝過程簡單。那么軟件包的介紹就結束了,下篇博客我們將學習用戶管理。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM