前面介紹了rpm和yum包管理器的用法,但有的時候一些程序僅提供了源代碼比,需要我們自己編譯安裝。源代碼之間是不會放在一個文件中,而他們直接又存在着各種各樣的依賴性關係。因此需要一個源代碼構建工具對源代碼進行組織,和幾個開發包組專門解決依賴性關係。
Linux當中autoconf工具可以自動生成一個configure腳本,此腳本能檢查當前系統上編譯環境是否能滿足當前程序的編譯需要;同時,還能確定後續的編譯工作所期望編譯進程序中的特性。而我們從源代碼網站下載下來的源代碼通常都會提供configure腳本,因此我們使用編譯安裝的方法安裝一個包也就簡單的多了。
獲取源代碼的途徑很多,例如幾個比較著名的開源代碼託管網站:apache.org;mariadb.org;SourceForge;github.com;code.google.com等。通常我們下載下來的源代碼是這樣處理的:①展開源代碼(tar xzvf SOURCE.tar.gz),找INSTALL、README;不存在此類文件時,找項目官方文檔;②根據安裝說明執行安裝操作:./configure(檢查編譯環境,並根據指定的選項確定編譯的特性、安裝路徑等;)------>mke(調用所需要的編譯器根據makefile配置文件定義執行編譯過程;)------->make install(安裝程序)。注:上述步驟均是在解壓好的目錄中進行。
下面以編譯安裝nginx爲例,給讀者朋友進行進一步講解:
首先從nginx官網http://nginx.org/download/中下載好要使用的hadoop版本:wget http://nginx.org/download/nginx-1.6.2.tar.gz
解壓gz壓縮包:tar zxf nginx-1.6.2.tar.gz
切換到解壓後的nginx目錄中:cd nginx-1.6.2.tar.gz
查看幫助文檔:cat README
執行./configure命令檢查編譯環境並創建Makefile文件爲make做準備條件:
執行make命令,對源代碼進行編譯
執行 make install安裝程序
nginx編譯安裝結束。默認安裝目錄:/usr/local/nginx/sbin/nginx
注:使用nginx的時候,要注意寫全路徑。加入系統服務的方法,後續補全。