Linux下經過源碼編譯安裝程序

本文簡單的記錄了下,在Linux下如何經過源碼安裝程序,以及相關的知識。nginx

1、程序的組成部分操作系統

Linux下程序大都是由如下幾部分組成:文檔

二進制文件:也就是能夠運行的程序文件編譯器

庫文件:就是一般咱們見到的lib目錄下的文件源碼

配置文件:這個沒必要多說,都知道io

幫助文檔:一般是咱們在Linux下用man命令查看的命令的文檔編譯

2、Linux下程序的存放目錄變量

Linux程序的存放目錄大體有三個地方:gcc

/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目錄下

 3、編譯安裝源程序

一、使用以下命令查看當前是否安裝了gcc編譯器,沒有能夠先用yum安裝gcc

gcc --version  #查看是否安裝gcc

二、解壓源碼包,例如:

tar -xvf nginx-1.7.7.tar.gz #解壓源碼包

三、進入解壓好的源碼包:

cd nginx-1.7.7 #進入源碼包

四、執行configure文件,此文件有兩個功能:一、讓用戶選定編譯特性;二、檢查編譯環境。configure執行後將生成MakeFile文件。例如:

./configure --prefix=/usr/local/nginx --conf-path=/etc/nginx/nginx.conf

其中咱們經過--prefix制定了安裝路徑,經過--conf-path制定了配置文件的具體位置。注意:不是全部的程序的configure參數都是同樣的 可使用 ./configure --help查看詳細參數說明。若是該程序所依賴的庫在當前系統中沒有安裝,則會致使configure最後報錯,遇到這種狀況就須要你先安裝依賴庫。

五、執行make命令,編譯程序

make

六、編譯成功後就能夠安裝了,執行以下命令

make install

到此程序就算安裝完成了,可是不要忘了還有後續的配置哦

4、配置程序

一、修改PATH環境變量,以可以識別此程序的二進制文件路徑;

修改/etc/profile文件,在文件中 添加

export PATH=$PATH:/path/to/somewhere#記得是可執行文件所在的目錄,路徑中不要包含可執行文件。

而後執行 :

source /etc/profile #是咱們的修改生效  

二、默認狀況下,系統搜索庫文件的路徑/lib, /usr/lib; 要增添額外搜尋路徑(注意:有的程序不提供庫文件,那就不須要此設置了)

在/etc/ld.so.conf.d/中建立以.conf爲後綴名的文件,然後把要增添的路徑直接寫至此文件中;而後執行以下命令使其生效

ldconfig

三、若是程序提供了庫文件,也會相應的提供頭文件,通常在安裝目錄的include目錄下,系統默認掃描頭文件的路徑是:/usr/include。咱們能夠在/usr/include下用連接鏈接到咱們安裝程序的頭文件。

ln -s /usr/local/nginx/include  /usr/include/yourname

四、可能程序還提供了幫助文檔,通常是安裝目錄下的man目錄,爲了咱們可使用man命令查看咱們程序的幫助文檔,咱們須要:在/etc/man.config中添加一條MANPATH,指向咱們的文檔目錄

相關文章
相關標籤/搜索