1. 程式人生 > >Linux軟件管理之src源碼安裝編譯

Linux軟件管理之src源碼安裝編譯

可能 form 就是 參考 install 官方 dev fluent 幫助

在很多時候我們需要自定義軟件的特性,這時就需要用到源碼安裝。那麽,網上有很多編譯源碼的工具,那麽,我們怎麽知道別人使用的是什麽工具呢。其實我也不知道(*^▽^*)。

那麽本篇博客主要是寫C代碼的源碼安裝。

什麽都不說,直接先上來總結源碼安裝的四步驟:

第一步:./configure: 【當然,我們在這步驟之前還必須解壓源碼包】
(1) 通過選項傳遞參數,指定啟用特性、安裝路徑等;執行時會參考用戶的指定以及Makefile.in文件生成makefile
(2) 檢查依賴到的外部環境
第二步:make:
根據makefile文件,構建應用程序;
第三步:make install

第四步:安裝後的配置選項

【其實後兩步很簡單,重點是第一步和第四步】

上面只是小小的總結了一下,那麽具體怎麽實現的,GG

1、我們怎麽去獲取源碼包

官方自建站點:
apache.org (ASF)
mariadb.org
...
代碼托管:
SourceForge
Github.com
code.google.com

2、就是一個大難題了,編譯C源代碼

前提:提供開發工具及開發環境
開發工具:make, gcc等
開發環境:開發庫,頭文件
glibc:標準庫

通過“包組”提供開發組件
CentOS 6上面主要安裝這兩個開發包組件: "Development Tools", "Server Platform Development"

第一步:configure腳本

我們必須要提供一些參數給腳本:如指定安裝位置、指定啟用特性等,這時我們可以使用命令: ./configure --help 來獲取其支持使用的選項。

選項分類:
Configuration:

Installation directories: 安裝路徑設定

--prefix=/PATH/TO/SOMEWHERE: 指定默認安裝位置;默認為/usr/local/
--sysconfdir=/PATH/TO/SOMEWHERE:配置文件安裝位置;

System types: 目標系統平臺結構 【註意:只有在交叉編譯的時候才用到該選項】

Optional Features: 可選性

--disable-FEATURE
--enable-FEATURE[=ARG]

Optional Packages: 依賴到的程序包,是定義依賴關系的

--with-PACKAGE[=ARG]
--without-PACKAGE

Some influential environment variables: 可能會影響環境變量的東東

第二步:執行”make“命令

第三步:執行“make install”

到這裏我們就可以啟用了,現在到我們安裝路徑下去啟動(因為我們還沒有對程序進行配置)
這裏就簡單的啟動一下吧
到我們安裝位置,執行啟動命令:如 ./apachectl start

第四步:安裝成功後的配置選項:

(1)導出二進制程序目錄至PATH環境變量中,【如果不導出的話我們只能夠使用絕對路徑訪問他】
編輯配置文件: /etc/profile.d/NAME.sh 創建一個腳本文件
在裏面添加環境變量:export PATH=/PATH/TO/BIN:$PATH

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

(3)導出頭文件
方法一:去安裝目錄下,把include頭文件復制到/usr/include目錄下
方法二:基於鏈接的方式實現
ln -sv 源文件 軟連接文件
(4)導出幫助手冊
編輯 /etc/man..config 文件, 在裏面添加一個MANPATH參數並指明路徑就行了

Linux軟件管理之src源碼安裝編譯