本文簡單的記錄了下,在Linux下如何通過源碼安裝程序,以及相關的知識。
一、程序的組成部分
Linux下程序大都是由以下幾部分組成:
二進制文件:也就是可以運行的程序文件
庫文件:就是通常我們見到的lib目錄下的文件
配置文件:這個不必多說,都知道
幫助文檔:通常是我們在Linux下用man命令查看的命令的文檔
二、Linux下程序的存放目錄
Linux程序的存放目錄大致有三個地方:
/etc, /bin, /sbin, /lib :系統啟動就需要用到的程序,這些目錄不能掛載額外的分區,必須在根文件系統的分區上
/usr/bin,/usr/sbin,/usr/lib:操作系統核心功能,可以單獨分區
/usr/local/bin,/usr/local/sbin,/usr/local/lib,/usr/local/etc,/usr/local/man:這個用於安裝第三方程序,分別對應了二進制文件、庫文件、配置文件、幫助文檔的目錄
通常來說我們安裝程序就安裝在 /usr/local目錄下
三、編譯安裝源程序
1、使用如下命令查看當前是否安裝了gcc編譯器,沒有可以先用yum安裝gcc
gcc --version #查看是否安裝gcc
2、解壓源碼包,例如:
tar -xvf nginx-1.7.7.tar.gz #解壓源碼包
3、進入解壓好的源碼包:
cd nginx-1.7.7 #進入源碼包
4、執行configure文件,此文件有兩個功能:1、讓用戶選定編譯特性;2、檢查編譯環境。configure執行后將生成MakeFile文件。例如:
./configure --prefix=/usr/local/nginx --conf-path=/etc/nginx/nginx.conf
其中我們通過--prefix制定了安裝路徑,通過--conf-path制定了配置文件的具體位置。注意:不是所有的程序的configure參數都是一樣的 可以使用 ./configure --help查看詳細參數說明。如果該程序所依賴的庫在當前系統中沒有安裝,則會導致configure最后報錯,遇到這種情況就需要你先安裝依賴庫。
5、執行make命令,編譯程序
make
6、編譯成功后就可以安裝了,執行如下命令
make install
到此程序就算安裝完成了,但是不要忘了還有后續的配置哦
四、配置程序
1、修改PATH環境變量,以能夠識別此程序的二進制文件路徑;
修改/etc/profile文件,在文件中 添加
export PATH=$PATH:/path/to/somewhere#記得是可執行文件所在的目錄,路徑中不要包含可執行文件。
然后執行 :
source /etc/profile #是我們的修改生效
2、默認情況下,系統搜索庫文件的路徑/lib, /usr/lib; 要增添額外搜尋路徑(注意:有的程序不提供庫文件,那就不需要此設置了)
在/etc/ld.so.conf.d/中創建以.conf為后綴名的文件,而后把要增添的路徑直接寫至此文件中;然后執行如下命令使其生效
ldconfig
3、如果程序提供了庫文件,也會相應的提供頭文件,一般在安裝目錄的include目錄下,系統默認掃描頭文件的路徑是:/usr/include。我們可以在/usr/include下用鏈接連接到我們安裝程序的頭文件。
ln -s /usr/local/nginx/include /usr/include/yourname
4、可能程序還提供了幫助文檔,一般是安裝目錄下的man目錄,為了我們可以使用man命令查看我們程序的幫助文檔,我們需要:在/etc/man.config中添加一條MANPATH,指向我們的文檔目錄