源碼包的安裝

1、 源碼安裝

  並非全部的安裝包都有已經生成的rpm包的,還有一些已經編寫好的,可是尚未進行編譯的源碼包,當咱們想要安裝着謝源碼包時,咱們該如何作呢?
源碼安裝三部曲:c++

 一、./configure

  源碼安裝不像使用rpm包安裝,使用rpm包安裝一個軟件,什麼都本身內部定製好的,你安裝在哪一個目錄上,安裝的命令在哪一個目錄上,緩存目錄都是默認的,根本沒得選。而使用源碼安裝時,就能夠在運行源碼./configuer時後跟一些選項,想怎麼安裝怎麼安裝,安裝在哪一個目錄,命令在哪一個目錄,這個命令的man文檔在哪一個目錄?開啓或禁用包內的某些功能均可以,至關於私人訂製,後面能夠跟多個選項,不瞭解的可使用命令 ./configure - -help 查看後面的全部選項及做用例圖:
源碼包的安裝
源碼包的安裝
源碼包的安裝
  有一些小夥伴可能以爲看到這麼多選項蒙圈了,英文不太好的可能看了這些選項也不知道什麼意思,下面我就簡單介紹幾個:
   安裝目錄的選擇
    --prefix=/PATH(安裝目錄) : 指定默認安裝位置,不指定通常默認爲/usr/local
    --sysconfdir=/PATH : 配置文件安裝位置
   System types :支持交叉編譯
  安裝包的一些可選特性(feature代指某個可選的特性)
    --disable-feature 安裝時禁用某個特性,功能(默認狀況這個特性、功能是啓用的狀況下)
    --enable-feature 安裝時啓用某個特性、功能(默認狀況下這個特性、功能是被禁用的狀況下)
  安裝包的依賴包(pkgage:安裝包名)
    --with-pkgage 同時將源碼包的這個依賴包也安裝
    --without-pkgage 禁用依賴包關係
  還有一些小夥伴以爲這麼多選項好麻煩啊,我就想懶省事,我不想這麼麻煩,那就什麼選項都不加一切都按照默認的安裝就能夠了
   ./configure 這個命令不是在什麼目錄下執行均可以的,是須要把你下載下來的源碼包解壓了,而後進入解壓後的目錄下,包含有configure這個腳本文件的目錄,執行這個configure這個腳本,這個命令的做用有兩點:apache

  (1) 經過選項傳遞參數,指定啓用特性、安裝路徑等;執行時會參考用戶的指定以及makefile.in文件生成的makefile

  (2) 檢查依賴到的外部環境,如依賴的軟件包,檢測一下編譯的時候是否知足編譯所須要的軟件包是否已安裝

 二、make

  上一個不驟呢,只是檢測一下編譯環境,和傳遞一些參數,這一步纔是真正的編譯,構成應用程序vim

 三、make install

  編譯成功後這一步來安裝,後臺作的就是把軟件須要的文件拷貝到該放的位置,執行完這一步,這個源碼包就算是安裝成功了
作完以上三個步驟,一個源碼包就算是已經安裝成功了瀏覽器

 四、安裝後的配置

  (1)把二進制程序目錄導入至PATH環境變量中

   但是還有一個問題,有的安裝包呢,是包含着一些命令的,安裝後纔可使用那些命令作某些特定的事情,而若是咱們在安裝時本身定義一個目錄去安裝源碼包呢,這個被指定的文件就會是這個程序的根文件,那麼這個包所包含的全部的文件就會保存在咱們所指定的那個文件下,可是當輸入一個二進制程序時,咱們系統會默認在PATH變量的值中去尋找,PATH的值是一個或多個目錄,當運行一個程序時,Linux會在這些目錄下進行搜尋編譯連接,而咱們所安裝的二進制程序的命令會在指定文件的/bin下,庫文件保存在指定文件下的/lib文件中,man文件會在指定文件的/man下,因此咱們在使用這個包的命令時是不能直接打出那個命令的,由於這個程序的二進制程序並無保存至PATH變量中任何一個目錄中,因此Linux會提醒找不到該命令。要想使用該命令得麻煩的去打這個二進制程序的全路徑,例如:我把程序安裝在/app/apache下,那麼這個二進制程序會在/app/apache/bin/name,因此調用命令要/app/apache/bin/name –[選項] 這樣用,感受很是麻煩是否是?命令太長了,用起來不是太方便,我想不輸入全路徑就直接輸入二進制程序名就能夠運行該命令,這時候咱們就就須要把二進制程序目錄導入PATH環境變量中就OK了。
   咱們先來看一個PATH環境變量中都有哪些值
源碼包的安裝
   你們都看出了吧,PATH變量中有着不少值,每個值都是一個目錄,這些值之間以:分隔,這些目錄都是Linux中包含着二進制程序的一些目錄,咱們執行一個二進制程序時Linux會在這各個值中尋找對應的二進制程序,找到就執行,找不到就會出錯沒法執行,下面咱們就再給它添加咱們所安裝的源碼包的二進制程序路徑,就能夠在下次運行程序時不用輸入全路徑,只輸入程序名就能夠了。
   咱們在這以前先來試驗一下,我先安裝好了一個httpd源碼包,可是尚未把二進制程序目錄導入PATH環境變量中來先運行一下看看會不會出錯?輸入全路徑會不會出錯?
源碼包的安裝
結果證實了不把二進制程序目錄導入至PATH環境變量中程序也能夠用,只是用起來更麻煩一點要多輸入路徑,對於一些懶省事的小夥伴就會以爲用的不爽,下圖就交你們怎麼把二進制程序目錄導入PATH環境變量中而且再運行一下該命令看看反應
源碼包的安裝
可是這種方法的PATH在終端關閉後就會消失,因此建議經過編輯/etc/profile來改變PATH,也能夠改家目錄下的.bashrc
   第二種方法:
    #vim /etc/profile
   在文檔的最後,添加export PATH=」/app/apache/bin:$PATH」 ,保存退出,而後運行
    #source /etc/profile 註釋:
   不報錯則成功緩存

  (2)導入庫文件路徑

   編輯/etc/ld.so.conf文件,在文件中添加庫的搜索路徑
    #vim /etc/ld.so.conf
   而後直接將庫文件的額絕對路徑添加至最後一行就能夠了
    如:/app/apache/lib
    一行寫一個路徑
    而後保存退出
   讓系統從新搜索庫文件生成緩存:
    #ldconfig [-v]
      -v : 顯示過程bash

  (3)導入頭文件

    基於連接的方式實現:
     ln-svapp

  (4)導入幫助手冊

   幫助手冊其實就是man命令,使用man 後跟一個命令,能夠查出這個命令的幫助手冊,幫助你更好的使用這個命令,新裝的源碼包也有本身的man手冊,可是不導入幫助手冊,即便二進制程序能夠正常使用,也是不能查看man幫助信息的,因此須要還須要導入man手冊來方便查看幫助手冊
   編輯/etc/man.config|man_db.conf文件,添加一個MANPATH(man路徑)
     #vim /etev/man.config|man_db.conf
     在文件末行添加一條man路徑
     格式爲MANPATH 安裝程序的man路徑,例如:
      MANPATH /app/apache/man
     保存退出
    這樣一個源碼包就算是完美的安裝好了,後面的安裝後的配置也能夠不作,源碼包安裝很久能夠用,不過是使用命令麻煩點,man麻煩點而已,因此建議你們有rpm包文件最好使用rpm安裝,簡單省事,一條命令解決全部的問題ide

2、 源碼包的組成

  一、源碼包的一般是由多個文件組成的,文件中的代碼極可能跨文件依賴關係,另外源碼包除了包含源代碼的文件,還包含一些其它的man文件、幫助文檔、配置文件等。把這些文件壓縮成一個壓縮包就叫作源碼包
  二、源代碼是不可以直接使用安裝的,必須通過編譯後才能夠安裝,
源代碼預處理編譯彙編連接執行
  三、源碼包的安裝的大同小異,大部分安裝方法都是差很少的,可是不妨礙也有一部分的源碼包安裝不同,因此建議你們在安裝前能夠查看一下README這個文件,README文件呢是對於這個軟件的一些介紹,關於它的版本,它的目錄放在哪,還有一個INSTALL這個文件裏面是包含一些這個包的配置文件的介紹
  四、開源程序源代碼的獲取:
   官方自檢站點:
    Apache.org   mariadb.org
   代碼託管:
     SourceForge.net  Github.com   code.google.com
  五、c/c++編譯器:gcc(GNU C Complier)
  六、編譯C源代碼:
   1.準備:提供開發工具及開發環境
    開發工具:make,gcc等
    開發環境:開發庫,頭文件
    glibc:標準庫
    2.實現:經過「包組」提供開發組件
    Development Tools
    Server Platform Development工具

3、 安裝源碼包的示例

  光是這樣看呢,可能也不是太明白,下面給你們作一個示例
  要求:將CentOS 6中安裝httpd-2.2.34.tar.gz源碼包開發工具

 第一步:從apache官網上找到並下載httpd-2.2.34.tar.gz源碼包

  打開瀏覽器在地址欄輸入http://httpd.apache.org/ 進入下圖
源碼包的安裝
  點擊左邊紅框處的下載進入下圖:
源碼包的安裝
  往下滾動鼠標找到下圖中的紅框處點擊會下載此httpd-2.2.34.tar.gz安裝包至您的物理機上
源碼包的安裝
  而後會出現下圖中的下載框,讓您選擇下載至指定的位置並記住這個位置,方便下一個把源碼包拷貝至虛擬機上
源碼包的安裝

 第二步:從物理機上把下載好的源碼包拷貝至虛擬機內

  從物理機上拷貝文件至虛擬機須要rz命令,若是虛擬機沒有安裝rz命令,下面咱們來先安裝rz命令,可是隻知道這個命令是rz,不知道有沒有rz這個包呢?咱們來看一下下圖,使用yum安裝一下rz:
源碼包的安裝
  發現安裝失敗,並無rz這個安裝包,怎麼辦呢?彆着急咱們還有yum provides來查詢關於rz這個命令的來自於哪一個安裝包
源碼包的安裝
  發現了rz這個命令來源於lrzsz這個包
  下面就能夠安裝這個命令了
源碼包的安裝
源碼包的安裝
  原本安裝過rz的小夥伴能夠忽略衣裳步驟,直接使用rz拷貝,安裝成功後咱們來看看如何使用rz來說物理機上的文件拷貝至虛擬機,
源碼包的安裝
  而後或彈出對話框以下圖
源碼包的安裝
  找到第一步下載的源碼包的位置選擇open拷貝至虛擬機,這一步要注意了,rz這個命令,是在哪一個目錄下執行的,拷貝的文件就會在哪一個目錄下,

 第三步:解壓源碼包

  而後將源碼包從當前文件拷貝至想要安裝的目錄,我這裏就安裝在/app目錄了
源碼包的安裝
  再下一步就是解壓了
源碼包的安裝
  解壓完成咱們來看一下源碼包內都有什麼文件吧
源碼包的安裝

 第四步:安裝development包組

  這裏解釋一下爲甚麼要先安裝development包組,由於這個是源碼安裝,這些源碼是未通過編譯的,源碼包必需要編譯事後才能夠安裝,而編譯須要的一些命令軟件徐亞用到development包組內的好多軟件包,因此要先安裝development包組
源碼包的安裝

 第五步:./configure 檢測編譯環境

  這個命令必須在解壓的目錄中,包含configure腳本的目錄中執行
  我這裏其它選項就太多了就不設置了,只設置安裝主目錄在/app/apache
源碼包的安裝

 第六步:make 編譯

  傳遞我設置的選項參數,並檢測成功後使用make命令編譯,構建應用程序
源碼包的安裝

 第七步:make install

  編譯成功,這一步就是安裝軟件了
源碼包的安裝
  完成這一步,這個源碼包就算是安裝好了

4、 卸載源碼包

  有安裝就有卸載,源碼包的卸載不用像rpm包那樣卸載,rpm -e若是源碼包中有卸載程序呢,就查看安裝手冊,按說明卸載,不一樣的源碼包卸載方法也不一樣,可是有一個通用的卸載方法,那就是記住安裝時選擇的安裝目錄,例如上面的安裝步驟,安裝在了/app/apache目錄下,因此安裝的程序的全部文件都在該目錄下,直接簡單粗暴的刪除這個目錄就能夠了    Rm -rf /app/apache

相關文章
相關標籤/搜索