程序包編譯
程序包編譯安裝:
Application-VERSION-release.src.rpm –> 安裝后,使用rpmbuild命令制作 成二進制格式的rpm包,而后再安裝
源代碼–>預處理–>編譯–>匯編–>鏈接–>執行
源代碼組織格式:
多文件:文件中的代碼之間,很可能存在跨文件依賴關系
C、C++:make 項目管理器
configure腳本 –> Makefile.in –> Makefile
configure腳本三個功能:軟件的啟用禁用、安裝目錄、檢測依賴的包是否存在
java: maven
C語言源代碼編譯安裝三步驟:
1、./configure
(1) 通過選項傳遞參數,指定啟用特性、安裝路徑等;執行時會參考用戶的 指定以及Makefile.in文件生成Makefile
(2) 檢查依賴到的外部環境,如依賴的軟件包
2、make 根據Makefile文件,構建應用程序
3、make install 復制文件到相應路徑
開發工具: autoconf: 生成configure腳本
automake:生成Makefile.in
注意:安裝前查看INSTALL,README
c/c++編譯器: gcc (GNU C Complier)
編譯C源代碼:
準備:提供開發工具及開發環境 開發工具:make, gcc等
開發環境:開發庫,頭文件
glibc:標準庫
實現:通過“包組”提供開發組件
Development Tools
Server Platform Development?? (centos6上有)
第一步:configure腳本
選項:指定安裝位置、指定啟用的特性
–help: 獲取其支持使用的選項
選項分類:
安裝路徑設定:
–prefix=/PATH: 指定默認安裝位置,默認為/usr/local/
–sysconfdir=/PATH:配置文件安裝位置
System types:支持交叉編譯
Optional Features: 可選特性
–disable-FEATURE
–enable-FEATURE[=ARG]
Optional Packages: 可選包
–with-PACKAGE[=ARG],依賴包
–without-PACKAGE,禁用依賴關系
注意:通常被編譯操作依賴的程序包,需要安裝此程序包的“開發”組件,其包名 一般類似于name-devel-VERSION
第二步:make
第三步:make install
安裝后的配置: ?
- 二進制程序目錄導入至PATH環境變量中
編輯文件/etc/profile.d/NAME.sh
export PATH=/PATH/TO/BIN:$PATH
- 導入庫文件路徑 編輯/etc/ld.so.conf.d/NAME.conf
添加新的庫文件所在目錄至此文件中
讓系統重新生成緩存: ldconfig [-v] 編譯安裝
(3) 導入頭文件 基于鏈接的方式實現: ln -sv
(4) 導入幫助手冊 編輯/etc/man.config|man_db.conf文件
添加一個MANPATH
編譯安裝httpd2.4.25
第一步,下載源碼
tar?? xvf?? httpd-2.4.25.tar.bz2????? 解包
第二步,安裝開發包組
yum?? groupinstall?? “Development?? Tools”
第三步,查看
cat?? README
cat??? INSTALL
第四步,cd??? /root/ httpd2.4.25
./configure ??–prefix=/data/apache24??? –sysconfig=/etc/apache24/?? //定義好安裝路徑(也可跟是否啟用或禁用某功能)
yum?? install???? apr-devel包
yum?? install???? apr-until-devel包(在這安裝過程中,缺什么包,安裝什么包)
第五步,? make ??-j?? 4
第六步, make?? install
第七步,訪問測試
iptables?? -vnL??? 查看是否關閉防火墻
/data/apache24/bin/apachectl?? start???? 啟動服務
netstat?? -ntl???? 查看端口是否開啟
setenforce? 0??????? //關閉SELinux
curl?? http://ip地址/腳本名?? |bash???? //實現遠程運行腳本
本文來自投稿,不代表Linux運維部落立場,如若轉載,請注明出處:http://www.www58058.com/96702