Linux 第13天: (08月23日) Linux軟件包管理源碼

Linux 第13天: (08月23日) Linux軟件包管理源碼

 

 

 

程序包編譯
程序包編譯安裝:
Application-VERSION-release.src.rpm--> 安裝後,使用rpmbuild命令製作成二進制格式的rpm包,而後再安裝
源代碼-->預處理-->編譯(gcc)-->彙編-->鏈接-->執行
源代碼組織格式:
多文件:文件中的代碼之間,很可能存在跨文件依賴關係
C、C++:make (項目管理器,configure -->
Makefile.in --> makefile)
java: maven

 


編譯安裝
C代碼編譯安裝三步驟:
1、./configure:
(1) 通過選項傳遞參數,指定啓用特性、安裝路徑等;執行時會參考用戶的指定以及makefile.in文件生成makefile
(2) 檢查依賴到的外部環境
2、make:根據makefile文件,構建應用程序
3、make install:複製文件到相應路徑
開發工具:
autoconf: 生成configure腳本
automake:生成Makefile.in
注意:安裝前查看INSTALL,README

 


開源程序源代碼的獲取:
官方自建站點:
apache.org (ASF)
mariadb.org
...
代碼託管:
SourceForge.net
Github.com
code.google.com
c/c++編譯器: gcc(GNU C Complier)

 


編譯C源代碼:
前提:提供開發工具及開發環境
開發工具:make, gcc等
開發環境:開發庫,頭文件
glibc:標準庫
通過“包組”提供開發組件
CentOS 6: "Development Tools"
"Server Platform Development"

 


第一步:configure腳本
選項:指定安裝位置、指定啓用的特性
--help: 獲取其支持使用的選項
選項分類:
安裝路徑設定:
--prefix=/PATH: 指定默認安裝位置,默認爲/usr/local/
--sysconfdir=/PATH:配置文件安裝位置
System types:支持交叉編譯
Optional Features: 可選特性
--disable-FEATURE
--enable-FEATURE[=ARG]
Optional Packages: 可選包,
--with-PACKAGE[=ARG],依賴包
--without-PACKAGE,禁用依賴關係

第二步:make

第三步:make install

 


安裝後的配置:

(1) 二進制程序目錄導入至PATH環境變量中;
編輯文件/etc/profile.d/NAME.sh
export PATH=/PATH/TO/BIN:$PATH

(2) 導入庫文件路徑
編輯/etc/ld.so.conf.d/NAME.conf
添加新的庫文件所在目錄至此文件中
讓系統重新生成緩存:
ldconfig[-v]

(3) 導入頭文件
基於鏈接的方式實現:
ln -sv

(4) 導入幫助手冊
編輯/etc/man.config|man_db.conf文件
添加一個MANPATH

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章