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


  本文簡單的記錄了下,在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,指向我們的文檔目錄

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM