步驟1:步驟1:準備系統以構建軟件包
默認情況下,Ubuntu沒有提供所需的工具。您需要安裝軟件包構建必需的軟件包來制作軟件包,并檢查安裝以將其放入軟件包管理器。這些可以在安裝CD或存儲庫中找到,可以在Synaptic軟件包管理器或命令行apt-get中進行搜索:
sudo apt-get install build-essential checkinstall
,而且由于您可能想要獲取代碼從某些沒有發布版本的項目中,您應該安裝適當的版本管理軟件。
sudo apt-get install cvs subversion git-core mercurial
然后應該為自己構建一個公共目錄,在其中構建這些軟件包。我們建議創建/usr/local/src,但實際上您可以將其放置在所需的任何位置。通過運行
sudo chown $ USER/usr/local/src
,并為了安全起見,確保主用戶帳戶可寫入該目錄。
sudo chmod u + rwx/usr/local/src
完成此操作后,就可以開始獲取所需的程序了。
步驟2:步驟2:獲取所需的軟件
您通常需要的大多數軟件都來自發行的tarball。這些只是壓縮的存檔,擴展名為.tar.gz或.tar.bz2-就像Windows上的.zip文件或MacOS X上的.sit一樣,只要可以幫助您。如果要安裝的程序以這種形式出現,則應將其移至我們在步驟1中創建的/usr/local/src目錄中,并通過右鍵單擊文件并選擇“在此處提取”或使用以下命令來提取它:行:如果您的tarball是.gz,請使用以下命令提取文件:
tar -xzvf tarballname.tar.gz
,對于bz2,請使用類似的命令:
tar -xjvf tarballname.tar.bz2 《在從cvs或subversion存儲庫中獲取程序的極少數情況下,開發人員通常會在其網站上提供有關如何執行此操作的說明。如果您已經安裝了第1步中列出的軟件包,則只需更改到/usr/local/src目錄(cd/usr/local/src)并運行列出的命令。該過程因程序而異,因此在這里我不能為您提供幫助,但是使用給定的軟件包,它們提供的說明應該可以正常運行。
注意:如果從Git,SVN或任何其他來源下載源存儲庫,則可能尚未生成。/configure文件。您可能可以從下載的文件頂部目錄中運行命令
autogen.sh
。此命令依賴于automake和autoconf程序,并將自動生成配置文件并運行。/configure命令。執行完此步驟后,您可以通過運行命令
make
恢復以后的說明。第三步:解決依賴關系。
一件好事關于現代Linux發行版的問題是它們照顧用戶的依賴性。就是說,如果您要安裝程序,則apt程序將確保它安裝了所有需要的庫和其他依賴程序,因此,安裝程序絕不會比僅指定所需的內容困難,其余的都由它來完成。不幸的是,使用tarball并非如此,您必須手動進行。正是這個階段使甚至一些經驗豐富的用戶絆倒,這些用戶常常因無法弄清楚他們需要得到什么而沮喪地放棄了。
您可能想先閱讀一下自動適配的可能性和局限性,將嘗試自動解決依賴性問題。以下說明用于手動實現依賴關系:
要準備,請安裝軟件包apt-file,然后運行sudo apt-file update。這將下載所有可用軟件包以及這些軟件包包含的所有文件的列表,如您所料,這可能是一個很大的列表。加載時它不會提供任何反饋,所以請稍等。
apt-file程序具有一些有趣的功能,兩個最有用的功能是apt-file搜索(用于搜索特定文件名)和apt-file列表(用于搜索文件名)。列出給定包中的所有文件。 (兩個解釋:1 2)
要檢查程序的依賴關系,請轉到第二步中創建的目錄(cd/usr/local/src)。解壓縮tarball或從cvs/subversion下載將在/usr/local/src下創建一個包含源代碼的子目錄。這個新創建的目錄將包含一個名為“ configure”的文件,該文件是確保可以在您的計算機上編譯該程序的腳本。要運行它,請運行命令。/configure。此命令將檢查您是否具有安裝程序所需的所有程序-在大多數情況下您沒有,并且會出現有關需要程序的消息,并會出錯。
如果不帶任何選項運行。/configure,則將使用該程序的默認設置。大多數程序都有一系列可以啟用或禁用的設置,如果您對此感興趣,請在解壓縮tar文件后檢查目錄中的README和INSTALL文件。您可以查看開發人員文檔,在許多情況下。/configure --help將列出您可以執行的一些關鍵配置。一個非常常見的選項是使用。/configure --prefix =/usr,它將按照我的說明將應用程序安裝到/usr而不是/usr/local。
如果發生這種情況,輸出的最后一行將是像
configure:錯誤:未滿足庫要求(gobbletygook),等等等等我們不關心的東西。但是在其上方,它將列出一個找不到的文件名(通常以“結尾的文件名。 pc”)。然后,您需要運行
apt-file搜索missingfilename.pc
,它將告訴您缺少文件所在的Ubuntu軟件包。然后,您可以簡單地使用
sudo apt-get安裝該軟件包。安裝requiredpackage
,然后嘗試再次運行。/configure,并查看其是否有效。如果您看到一堆以config.status結尾的文本:創建Makefile,然后沒有明顯的錯誤消息,則可以開始下一步了。
步驟4:步驟4:構建并安裝。
如果您已經了解到這一點,那么您已經完成了最困難的部分。現在您所要做的就是運行命令
make
,該命令將實際構建(編譯)該程序。
如果它是一個大型程序,或者您的計算機速度很慢,請轉到喝杯咖啡或其他東西。如果您有多核處理器,還可以將變量CONCURRENCY_LEVEL設置為必須加快速度的處理器/核數。
完成后,安裝程序。您可能要使用
sudo checkinstall
,它將程序放入程序包管理器中,以使其干凈,方便以后刪除。這將替換舊的sudo make install命令。請參閱CheckInstall上的完整文檔。
注意:如果checkinstall失敗,則可能需要運行諸如
sudo checkinstall --fstrans = 0
之類的命令,這應該允許安裝成功完成。錯誤:78455和599163
然后將完成安裝的最后階段。不應該花很長時間。完成后,如果使用checkinstall,該程序將出現在Synaptic Package Manager中。如果您使用sudo make install,則您的應用程序將安裝到/usr/local/bin,并且應該可以從那里運行它而不會出現問題。
如果這一切對您來說都太難了,請不要擔心。畢竟,您使用的是Ubuntu,它已經包含了為您完成工作所需的所有程序。如果那里沒有程序包,很可能您真的不需要該程序,并且在幾個月內有人會為您打包程序。實際上,您真正需要構建和編譯的唯一程序是新的程序,這些程序可能尚未穩定或無法用于桌面。如果您認為此過程太難了,那么也許您應該重新考慮為什么要這樣做,然后等待幾個月才能發布下一個穩定版本。但這對您來說可能是一個很好的學習體驗。
如果您所需的軟件包非常重要,并且您認為應該適當地將其安裝在Ubuntu中,請聯系宇宙大師,看看他們是否可以為您完成艱苦的工作—如果他們打包了東西,則任何人都可以安裝它,而無需執行此過程。但是,如果您能解決所有這些問題,那么您就可以成為Linux的專業用戶了-您會驚訝地發現,完成幾次之后,這一切看起來多么容易。祝您好運!
輕松的意思是“比在房間里四處奔走,然后大聲尖叫Linux更容易”。
步驟5:編輯器注釋
我從Ubuntu網站上獲取了此內容,并對其進行了總結,就像我上次指導的那樣,如果結果還可以,我計劃做更多這些工作:)這是我關閉的網站
責任編輯:wv
-
軟件
+關注
關注
69文章
4966瀏覽量
87653
發布評論請先 登錄
相關推薦
評論