溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

如何理解Ubuntu編譯源碼包

發(fā)布時(shí)間:2021-11-01 09:56:39 來源:億速云 閱讀:133 作者:柒染 欄目:系統(tǒng)運(yùn)維

如何理解Ubuntu編譯源碼包,針對(duì)這個(gè)問題,這篇文章詳細(xì)介紹了相對(duì)應(yīng)的分析和解答,希望可以幫助更多想解決這個(gè)問題的小伙伴找到更簡(jiǎn)單易行的方法。

學(xué)習(xí)編譯時(shí),你可能會(huì)遇到Ubuntu編譯問題,這里將介紹Ubuntu編譯問題的解決方法,在這里拿出來和大家分享一下??梢奤buntu隸屬于linux陣營(yíng)。順便問一句樓主既然沒有文檔何必一定要學(xué)ubuntu,還是學(xué)有文檔的比較方便。Linux系統(tǒng)中,軟件通常以源代碼或者預(yù)Ubuntu編譯包的形式提供。 

軟件源代碼需要您親自Ubuntu編譯為二進(jìn)制的機(jī)器代碼才能夠使用,安裝比較耗時(shí),不過您可以自行調(diào)節(jié)Ubuntu編譯選項(xiàng),決定您需要的功能或組件,或者針對(duì)您的硬件平臺(tái)作出優(yōu)化。 

預(yù)Ubuntu編譯的軟件包,通常是由軟件的發(fā)布者進(jìn)行Ubuntu編譯,您只要將軟件拷貝到系統(tǒng)中就可以了??紤]到預(yù)Ubuntu編譯軟件包的適用性,預(yù)Ubuntu編譯軟件包通常不會(huì)針對(duì)某種硬件平臺(tái)優(yōu)化。它所包含的功能和組件也是通用的組合。 
Ubuntu系統(tǒng)中,軟件通常以“deb”格式的包文件發(fā)布,它是一種預(yù)Ubuntu編譯軟件包。deb包中除了包含已Ubuntu編譯的軟件,通常還包括軟件的拷貝路徑、對(duì)其它軟件包的依賴關(guān)系紀(jì)錄、一個(gè)比較通用的配置文件以及軟件的描述、版本、作者、類別、占用空間等信息。 

deb軟件包命令遵行如下約定: 
soft_ver-rev_arch.deb 
soft為軟件包名稱,ver為軟件版本號(hào),rev為Ubuntu修訂版本號(hào),arch為目標(biāo)架構(gòu)名稱 
例如:azureus_2.4.0.2-0ubuntu2_all.deb 您需要使用“dpkg”命令來管理deb軟件包: 
dpkg -i | --install xxx.deb 安裝deb軟件包 
dpkg -r | --remove xxx.deb 刪除軟件包 
dpkg -r -P | --purge xxx.deb 連同配置文件一起刪除 
dpkg -I | -info xxx.deb 查看軟件包信息 
dpkg -L xxx.deb 查看文件拷貝詳情 
dpkg -l 查看系統(tǒng)中已安裝軟件包信息 
dpkg-reconfigure xxx 重新配置軟件包 
有些時(shí)候,您使用“dpkg”安裝一個(gè)軟件包,系統(tǒng)會(huì)提示您該軟件包依賴其它軟件包。這時(shí),您先安裝其它軟件包,直到滿足依賴關(guān)系為止。或者同時(shí)安裝多個(gè)軟件包 
dpkg -i aaa.deb bbb.deb ccc.deb 

APT 

如果一個(gè)軟件依賴關(guān)系過于復(fù)雜,使用“dpkg”來安裝它,并不是一個(gè)明智的選擇,這個(gè)時(shí)候您就需要用到APT軟件包管理系統(tǒng)。APT可以自動(dòng)的檢查依賴關(guān)系,通過您預(yù)設(shè)的方式來獲得相關(guān)軟件包,并自動(dòng)安裝配置它。事實(shí)上,在多數(shù)情況下,我們推薦您使用APT軟件包管理系統(tǒng)。 
APT系統(tǒng)需要一個(gè)軟件信息數(shù)據(jù)庫和至少一個(gè)存放著大量deb包的軟件倉庫,我們稱之為“源”。“源”可以是網(wǎng)絡(luò)服務(wù)器,安裝CD或者本地軟件倉庫。您需要修改“/etc/apt/sources.list”文件,使APT系統(tǒng)能夠連接到“源”。 

您可以在以下頁面中獲得網(wǎng)絡(luò)安裝源的列表,并且根據(jù)您的網(wǎng)絡(luò)環(huán)境,選擇速度較快的源。 
http://wiki.ubuntu.org.cn/%E5%BF%AB%E9%80%9F%E8%AE%BE%E7%BD%AE%E6%8C%87%E5%8D%97/DapperDrake 
APT系統(tǒng)主要包括“apt-get”和“apt-cache”等命令。它們通常都是復(fù)合命令,包含若干個(gè)子命令。 
apt-get install xxx 安裝xxx 
-d 僅下載 
-f 強(qiáng)制安裝 
apt-get remove xxx 卸載xxx 
apt-get update 更新軟件信息數(shù)據(jù)庫 
apt-get upgrade 進(jìn)行系統(tǒng)升級(jí) 
apt-cache search 搜索軟件包 
Tips:建議您經(jīng)常使用“apt-get update”命令來更新您的軟件信息數(shù)據(jù)庫 

源碼包 

對(duì)于絕大多數(shù)軟件,我們建議您使用APT系統(tǒng)來安裝它。在少數(shù)情況下,例如某軟件沒有以deb包的格式發(fā)布,或者您需要定制適合自己的軟件,您可以通過Ubuntu編譯源代碼的方式安裝它。 
首先您需要下載軟件的源碼包,并且將它解包為一些源代碼文件。并了便于管理,我們建議您將下載的源碼包移動(dòng)到“/usr/local/src/”目錄下,并在這里解包。 

sudo mv xxx.tar.gz /usr/local/src 移動(dòng)源碼包 
cd /usr/local/src 進(jìn)入“/usr/local/src/”目錄 
sudo tar -xzvf xxx.tar.gz 解包源碼 
cd xxx_ver/ 進(jìn)行解包后的源碼目錄 
源碼目錄中通常有一個(gè)“configure”腳本,用來配置即將開始的Ubuntu編譯過程。您可以執(zhí)行它 
sudo ./configure [--prefix=/usr/loca/xxx ......] 
它會(huì)自動(dòng)檢測(cè)軟件的Ubuntu編譯環(huán)境和依賴關(guān)系,并且生成“Makefile”文件。

您可以使用帶參數(shù)的命令“./configure --help”,或者閱讀“install”文件,查看該腳本允許的參數(shù)。例如使用“--prefix=/usr/local/xxx”參數(shù),將軟件的安裝目錄設(shè)定為“/usr/local/xxx/”。(如果您一定要將軟件安裝在一個(gè)目錄下,我們建議您安裝在這里) 
現(xiàn)在執(zhí)行“make”命令,系統(tǒng)會(huì)根據(jù)“Makefile”文件中的設(shè)定,通過“make”工具調(diào)用Ubuntu編譯器和所需資源文件,將源代碼文件Ubuntu編譯成目標(biāo)文件。 

sudo make 

執(zhí)行“make install”命令,“make”工具會(huì)自動(dòng)將連接目標(biāo)文件,將最終生成的文件拷貝到“Makefile”文件設(shè)定的路徑中,并且完成更改文件的屬性,刪除殘留文件等活動(dòng)。 

sudo make install 

現(xiàn)在,您的Ubuntu編譯安裝已經(jīng)完成,為了更方便的使用它,需要給程序的可執(zhí)行文件作一個(gè)符號(hào)鏈接。 
sudo ln -sf /usr/local/xxx/exe /usr/local/bin/exe 
Tips:為了順利的進(jìn)行Ubuntu編譯,您至少需要安裝“build-essential”軟件包。 
使用命令“sudo apt-get install build-essential”安裝它。

關(guān)于如何理解Ubuntu編譯源碼包問題的解答就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注億速云行業(yè)資訊頻道了解更多相關(guān)知識(shí)。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI