Linux下通過原始碼編譯安裝程式

2021-09-02 09:40:40 字數 1901 閱讀 9141

一、程式的組成部分

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,指向我們的文件目錄

Linux下原始碼編譯安裝Mysql

下面是在redhat 5.8下原始碼編譯安裝mysql5.6.12 1.首先檢視系統有沒有安裝mysql rpm qa grep mysql 如果系統上有mysql,先解除安裝 yum remove mysql 或者 rpm e mysql 2.安裝cmake tar zxvf cmake 2.8....

Linux下原始碼編譯安裝mariadb資料庫

環境 centos7 準備 mariadb 10.2.18.tar 資料庫安裝包 root centos7 4 rz transferring mariadb 10.2.18.tar.gz.第一步 建立mysql使用者 root centos7 4 useradd r s sbin nologin ...

Linux下原始碼編譯安裝 Git

git是乙個開源的分布式版本控制系統,可以有效 高速的處理從很小到非常大的專案版本管理,是目前使用範圍最廣的版本管理工具。這篇部落格,介紹下linux下安裝git的步驟,僅供參考,當然,還是yum安裝,比較簡單方便。git工作流 深入理解學習git工作流 yum install git驗證安裝結果 ...