安裝源碼包
安裝一個源碼包,是需要我們自己把源代碼編譯成二進制的可執行文件。如果你讀得懂這些源代碼,那么你就可以去修改這些源代碼自定義功能,然后再去編譯成你想要的。使用源碼包的好處除了可以自定義修改源代碼外還可以定制相關的功能,因為源碼包在編譯的時候是可以附加額外的選項的。
源碼包的編譯用到了linux系統里的編譯器,常見的源碼包一般都是用C語言開發的,這也是因為C語言為linux上最標準的程序語言。Linux上的C語言編譯器叫做gcc,利用它就可以把C語言變成可執行的二進制文件。所以如果你的機器上沒有安裝gcc就沒有辦法去編譯源碼。你可以使用
yum install -y gcc
來完成安裝。
安裝一個源碼包,通常需要三個步驟:
1)./configure
在這一步可以定制功能,加上相應的選項即可,具有有什么選項可以通過
./configure --help
命令來查看。在這一步會自動檢測你的linux系統與相關的套件是否有編譯該源碼包時需要的庫,因為一旦缺少某個庫就不能完成編譯。只有檢測通過后才會生成一個Makefile
文件。--prefix=/PATH
: 指定默認安裝位置, 默認為/usr/local/--sysconfdir=/PATH
:配置文件安裝位置
2) make
使用這個命令會根據Makefile文件中預設的參數進行編譯,這一步其實就是gcc在工作了。
3) make install
安裝步驟,生成相關的軟件存放目錄和配置文件的過程。
上面介紹的3步并不是所有的源碼包軟件都一樣的,安裝步驟并不是這樣,也就是說源碼包的安裝并非具有一定的標準安裝步驟。這就需要你拿到源碼包解壓后,然后進入到目錄找相關的幫助文檔,通常會以INSTALL
或者README
為文件名。所以,你一定要去看一下。
實戰安裝一個源碼包
1、獲取源碼包
下載源碼包一定要去官方站點去下載,不要在網上隨便下載,那樣很不安全。因為你下載到的源碼包很有可能是被人修改過的。
2、解壓源碼包
[root@localhost ]# tar jxvf httpd-2.2.29.tar.bz2
[root@localhost ~]# cd httpd-2.2.29
3、配置相關的選項,并生成Makefile
[root@localhost httpd-2.2.29]# ./configure --help |less
./configure –help 命令查看可以使用的選項。一般常用的有 –prefix=PREFIX 這個選項的意思是定義軟件包安裝到哪里。通常源碼包都是安裝在/usr/local/目錄下的。比如,我們把apache安裝在/usr/local/apache2下,那么這里就應該這樣寫 –prefix=/usr/local/apache2 其他還有好多選項,如果你有耐心可以挨個去看一看都有什么作用。
[root@localhost httpd-2.2.29]# ./configure --prefix=/usr/local/apache2
[root@localhost httpd-2.2.29]# echo $?
0
返回值如果是 “0” 則執行成功,否則就是沒有成功。此時就成功生成 Makefile 了。
[root@localhost httpd-2.2.29]# ll Makefile
-rw-r--r-- 1 root root 8909 Sep 6 12:44 Makefile
4、進行編譯
[root@localhost httpd-2.2.29]# make
編譯的時候,就會出現類似這么多亂七八糟的信息,編譯的時間比較長,CPU使用率會很高,這是因為CPU高速計算,編譯完后,再使用 echo $? 驗證一下是否正常成功。
[root@localhost httpd-2.2.29]# echo $?
0
如果是0的話,就可以執行最后一步了。
5、安裝
[root@localhost httpd-2.2.29]# make install
當然你也可以使用 echo $? 看看有沒有正確安裝,執行完這一步,則會在 “/usr/local/apache2” 目錄下增加了很多目錄。
[root@localhost httpd-2.2.29]# ls /usr/local/apache2/
bin build cgi-bin conf error htdocs icons include lib logs man manual modules
遇到錯誤不能完成安裝的情況是很多的。通常都是因為缺少某一個庫文件導致的。這就需要你仔細琢磨報錯信息或者查看當前目錄下的 “config.log” 去得到相關的信息。
6、啟動服務看能否正常訪問
[root@localhost httpd-2.2.29]# service httpd start
Starting httpd: httpd: Could not reliably determine the server's fully qualified domain name, using localhost.localdomain for ServerName
[ OK ]
7、訪問網頁IP看能否訪問web
原創文章,作者:M20_he,如若轉載,請注明出處:http://www.www58058.com/44112