Linux軟件包管理之源碼包、腳本安裝包

 


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

一、源碼包和RPM包的區別

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

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

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

  這裏因爲安裝位置的不一樣,安裝以後會帶來一些很明顯的區別。網絡

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

  RPM包默認安裝位置:工具

  

  rpm包也能手工更改安裝位置,可是更改位置以後會形成一些影響,下面咱們會詳細講解。post

  源碼包安裝位置:性能

1
/usr/local/軟件名/

  因爲安裝位置不一樣帶來的影響

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

  好比 rpm 包安裝的apache 的啓動方法是:

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

  第二種命令是第一種命令的簡化形式。這是紅帽專有命令。service 會去 rpm 包默認的安裝位置去找可執行文件,因此service相似的啓動服務管理命令只能管理rpm安裝包。若是更改了rpm包的默認安裝位置,可能形成經過service啓動服務失敗。

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

  

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

  ②、源碼包啓動服務

  因爲源碼包沒有安裝到指定的路徑中,因此源碼包安裝的服務不能被相似service服務管理命令管理,這裏就只能經過絕對路徑的形式來啓動了。

1
/usr/local/apache2/bin/apachectl start

 

二、源碼包安裝

  ①、安裝準備

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

  

  2、下載源碼包

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

  ②、安裝注意事項

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

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

  3、如何肯定安裝過程報錯:安裝過程中止,並出現error、warning或no的提示。注意源碼包安裝過程一旦報錯是很難解決的,須要咱們去修改源碼。因此從正規網站上下載別人驗證過的源碼包,通常是不會報錯的。

  ③、安裝源碼包

  咱們將下載好的源碼包經過工具(在 Linux學習技巧 中有介紹)複製到Linux系統中,而後解壓,最後進入到解壓目錄,由於後面不少命令都須要在解壓以後的目錄中操做。

  

  這裏咱們能夠查看INSTALL 文件,查看安裝說明:

  

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

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

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

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

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

  經過 -- prefix 定義源碼包安裝位置,後面的apache2(因爲咱們經過yum已經安裝了apache,因此這裏命名爲apache2)能夠任意命名。

  

  執行完成若是沒有出現報錯信息,則準備工做完成。

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

  

  這一步安裝的時長取決於源碼包的大小以及機器的性能。若是安裝出錯,能夠執行 make clean,清空產生的全部臨時文件。

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

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

  

  第四步:安裝完成以後,啓動該服務

  咱們經過查看源碼包解壓以後的目錄 INSTALL 文件,能夠知道啓動命令:

    

1
/usr/local/apache2/bin/apachectl start

  啓動發現報以下錯誤:這是 80 端口被佔用了。由於咱們用 yum 安裝過rpm包的httpd,這裏停掉 rpm包的httpd就行了。

  

 

三、源碼包卸載

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

  

  這裏就能夠看出爲啥Linux系統運行很長的時間都比較穩定,而windows系統運行一段時間就會比較卡。這是由於Linux系統安裝的軟件卸載乾淨,而windows怎麼卸載都會存在必定的垃圾文件。

四、腳本安裝包

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

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

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

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

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

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

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

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

  第二步:將下載的文件經過工具複製到Linux系統中,並解壓

  

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

  

  出現以下界面安裝成功:

  

 

  安裝完成以後,咱們輸入 虛擬機的ip地址:20000,後面的端口號20000根據你安裝實際狀況來,進入到 Webim 操做界面

  

 

五、總結

   本篇博客咱們介紹了源碼包和腳本安裝包的安裝方法。源碼包和前面講的RPM包安裝相比是比較麻煩的,並且重點介紹了源碼包和rpm包因爲安裝位置的不一樣形成後面啓動相關服務的方法的區別。腳本安裝包其實就是人爲的修改源碼包,使其成爲一個自動安裝的腳本,安裝過程簡單。那麼軟件包的介紹就結束了,下篇博客咱們將學習用戶管理。

相關文章
相關標籤/搜索