程式包管理之編譯安裝
程式包安裝編譯
一、編譯安裝三步驟(./configure -> make -> make install)
1、./configure:
(1) 通過選項傳遞引數,指定啟用特性、安裝路徑等;執行時會參考使用者的指定以及 Makefile.in檔案生成makefile;
--help: 獲取其支援使用的選項
(2) 檢查依賴到的外部環境,如果此時依賴的外部環境沒有配置,會導致報錯。第一 步報錯會導致make不能執行
2、make:
根據makefile檔案,構建應用程式;
3、make install
把二進位制檔案、庫檔案、配置檔案、幫助檔案複製到對應的目錄中注意事項:
configure和Makefile.in是程式設計師通過兩個工具生成並提供給我們使用的
開發工具:
autoconf: 生成configure指令碼
automake:生成Makefile.in
建議:安裝前檢視INSTALL,README
開源程式原始碼的獲取:
官方自建站點:apache.org (ASF),mariadb.org,...
程式碼託管:SourceForge,Github.com,code.google.com,...
二、編譯安裝httpd(httpd-2.4.16)
編譯安裝前提:提供開發工具及開發環境
開發工具:make, gcc等
開發環境:開發庫,標頭檔案,glibc(標準庫)
通過“包組”提供開發元件
CentOS 6: "Development Tools", "Server Platform Development",
1、通過瀏覽器下載httpd-2.2.29.tar.bz2此原始碼包,並檢視INSTALL檔案
[[email protected] ~]# tar xfhttpd-2.2.29.tar.bz2
[[email protected] ~]# cd httpd-2.2.29/
[[email protected] httpd-2.2.29]# more INSTALL
#這裡建議編譯安裝的時候首先讀INSTALL或README檔案。$ ./configure->$ make->$ make install
2、因為每個原始碼提供的選項不盡相同,所以建議通過./configure --help檢視需要的選項
[[email protected] httpd-2.2.29]# ./configure --help
3、檢查開發包組是否安裝完,把缺少缺少的包組安裝完
[[email protected] ~]# yum grouplist
[[email protected] ~]# yum groupinstall "Server Platform Development" -y
4、通過./configure 跟特定需要的選擇通過Makefile.in開始構建生產makefile檔案
[[email protected] httpd-2.2.29]# ./configure --prefix=/usr/local/apache2 --sysconfdir=/etc/httpd2
5、make通過生成的makefile檔案呼叫前處理器,編譯器等開始編譯安裝程式包
[[email protected] httpd-2.2.29]# make
6、make install:把二進位制檔案、庫檔案、配置檔案、幫助檔案複製到對應的目錄中
[[email protected] httpd-2.2.29]# make install
7、編譯完成啟動測試
瀏覽器上出現It works!表示編譯、啟動成功。
三、編譯安裝後的配置
1、 匯出二進位制程式目錄至PATH環境變數中;
編輯檔案/etc/profile.d/NAME.sh
export PATH=/PATH/TO/BIN:$PATH
[[email protected] httpd-2.2.29]# vim /etc/profile.d/
export PATH=/usr/local/apache2:$PATH
2、匯出庫檔案路徑
編輯/etc/ld.so.conf.d/NAME.conf
新增新的庫檔案所在目錄至此檔案中;
讓系統重新生成快取:
ldconfig [-v]
[[email protected] ld.so.conf.d]# vim /etc/ld.so.conf.d/httpd2.conf
/usr/local/apache2
[[email protected] ld.so.conf.d]# ldconfig
[[email protected] ld.so.conf.d]# ldconfig -v
#檢視庫檔案是否匯入
3、匯出標頭檔案
基於連結的方式實現
ln -s /usr/include/httpd /usr/local/apache2/include
4、 匯出幫助手冊
編輯/etc/man.config檔案
新增一個MANPATH
[[email protected] ~]# vim /etc/man.config
MANPATH /usr/local/apache2/man
轉載於:https://blog.51cto.com/liaodijin/1727547