如何編譯我剛剛下載的遊戲/程序

假設 您剛剛下載了自己喜歡的遊戲或程序的源代碼,並希望對其進行編譯以便能夠使用它。 如何執行這樣的泰坦尼克號任務? 不用擔心,在Linux上編譯和安裝該遊戲/程序並不像聽起來那樣困難。

生成和安裝過程

每當您下載程序的源代碼時,它將被壓縮成一個文件,在Linux上,該文件通常是tar.gz或tar.bz2類型的文件。 當然,它可以採用任何其他格式(例如zip),但這通常是規則。

因此,第一步是解壓縮該文件。 最簡單的方法是打開Nautilus,右鍵單擊有問題的文件,然後選擇 解壓縮。 但是,我們將在這裡看到的方法是終端使用的方法。

解壓縮文件後,將創建一個目錄,我們必須訪問該目錄,然後從該目錄開始配置和編譯程序。

當您從終端執行所有這些操作時,要使用的命令是:

tar xvzf package.tar.gz(或tar xvjf package.tar.bz2)cd包./configure make make install

這些是通常必須遵循的命令,但是建議更深入地分析這些步驟中的每一個,以充分理解它們的含義。

步驟1:減壓

tar.gz或tar.bz2擴展名意味著您下載的源代碼被壓縮為tar文件,也稱為tarball。 由於組成源代碼的所有文件和文件夾都打包在一個文件中,因此這極大地簡化了源代碼的分發。 打包後,在ta​​r文件中,根據開發人員的口味,使用gz或bz2算法對該文件進行壓縮。

要解壓縮tar.gz文件,我寫道:

tar xvzf package.tar.gz

如果是tar.bz2文件:

tar xvjf package.tar.bz2

在大多數情況下,這將在壓縮文件所在的目錄內創建一個文件夾。 該文件夾的名稱將與壓縮文件的名稱相同。

步驟2:設定

進入通過解壓縮tar.gz或tar.bz2文件創建的文件夾後,...

cd文件夾

…是時候配置軟件包了。 通常但並非總是如此(這就是讀取README和INSTALL文件很重要的原因),這可以通過運行安裝腳本來完成:

/配置

當您運行此腳本時,將不會安裝任何東西,只會檢查系統並將值分配給一些與系統相關的變量。 這些值用於創建Makefile。 反過來,Makefile用於創建二進製文件,該故事末尾將允許該程序運行。

當您運行此命令時,您會看到屏幕上充滿了一些有點神秘的消息。 如果出現錯誤,將出現一條消息; 如果一切順利,我們可以跳到下一步。 🙂

步驟3:構建二進製文件

現在是時候構建二進製文件了,該文件不過是程序的可執行文件。 換句話說,此過程涉及將以高級編程語言編寫的文件轉換為純零和一,即我們的計算機可以理解的唯一語言。

使

為了使此命令成功,上一步必須已經成功。 沒有Makefile,make將失敗。 這就是為什麼安裝腳本成功運行如此重要的原因。

是的,屏幕上將再次充滿奇怪的消息,可能需要一段時間才能完成。 這將取決於程序的大小和計算機的速度。

步驟4:安裝

當然,我們已經有了可執行文件,但是缺少安裝。 必須使用管理員權限來完成此步驟。

須藤使安裝

由於在這種情況下,我們尚未對配置文件進行任何更改,因此該程序將安裝在默認文件夾中。 通常,這通常是 在/ usr / local / bin目錄 因為它允許在編寫程序名稱時從任何角度進行操作(因此無需輸入程序的完整路徑)。

步驟5:執行

不,我們沒有殺死任何人。 這只是整個構建和安裝過程的最終步驟。 為了運行我們很努力地將其轉換為二進製文件的程序,我寫道:

./程序名稱

如果程序安裝在/ usr / local / bin以外的其他文件夾中,則必須輸入該程序的完整路徑。

清理牧場

如果磁盤空間非常非常少,則可能需要刪除在二進制構建過程中創建的所有文件。 在這種情況下,我訪問了通過解壓縮文件並鍵入以下內容創建的文件夾:

乾淨

注意:請務必保留您的Makefile。 以後卸載程序時將需要此文件。

卸載

該程序不是我們期望的,我們希望從系統的表面刪除它。 怎麼樣? 我剛剛安裝的程序沒有出現在軟件中心或Synaptic中嗎? 現在?

如果您尚未刪除Makefile,則可以輕鬆卸載該程序。 我在解壓縮文件時在創建的文件夾內寫了以下命令:

卸載

如果您不走運並且卸載失敗,則只能手動刪除文件。 真是頭疼。 要找出這些文件的位置,可以看一下Makefile。

如果您刪除了Makefile,最好重新安裝該程序,然後執行 進行卸載, 因為這將重新生成Makefile。 不要忘了使用相同的設置(在本例中為無)安裝它。 /配置.


發表您的評論

您的電子郵件地址將不會被發表。 必填字段標有 *

*

*

  1. 負責數據:MiguelÁngelGatón
  2. 數據用途:控制垃圾郵件,註釋管理。
  3. 合法性:您的同意
  4. 數據通訊:除非有法律義務,否則不會將數據傳達給第三方。
  5. 數據存儲:Occentus Networks(EU)託管的數據庫
  6. 權利:您可以隨時限制,恢復和刪除您的信息。

  1.   亞歷克斯 他說:

    好的tuto非常感謝您,總是在我們從Linux啟動時,主要問題之一是如何編譯,解釋清楚,儘管建議閱讀自述文件或安裝...

  2.   亞歷克斯 他說:

    好的tuto非常感謝您,總是在我們從Linux啟動時,主要問題之一是如何編譯,解釋清楚,儘管建議閱讀自述文件或安裝...

  3.   埃米利亞諾·佩雷斯(Emiliano Perez) 他說:

    «如果您不幸運,並且卸載不成功,則只能手動刪除文件。 真頭疼»

    最好重新安裝它,然後再進行“卸載”,因為我們將重新生成Makefile。 在配置中使用相同的設置(在這種情況下,沒有設置)進行安裝很重要。

  4.   約翰 他說:

    現在,如果您不想通過放置程序名稱來運行它,而是創建一個到桌面的快捷方式或將其顯示在應用程序菜單中,該怎麼辦?
    的問候!

  5.   奇異果 他說:

    好教程。 現在,即使我可以編譯。

  6.   馬可波西 他說:

    我認為第二步將是閱讀自述文件(RTFR xD),這是所有內容中最基本的,因為許多程序具有在安裝過程中必須滿足的依賴項,或者需要一些額外的步驟,或者這樣做也很好您會讀它,因為它為我們可能感興趣的品牌提供了不錯的選擇。

    的問候!

  7.   讓我們使用Linux 他說:

    完全! 這就是為什麼我建議始終閱讀README和INSTALL的原因。

  8.   讓我們使用Linux 他說:

    你是對的。 那樣的話,以防您沒有Makefile。 我在談論的情況是,即使擁有Makefile,由於其他原因也無法將其卸載。
    無論如何,我會將您的評論添加到帖子中,我認為這是非常相關且準確的。

    擁抱,謝謝你的評論! 保羅

  9.   讓我們使用Linux 他說:

    Tudo bem Krafty! 沒有人得罪。 我寫這篇文章是因為我從未在博客上介紹過該主題。 無論如何,我會記下您推薦的主題(一些非常好的主題)。 當然,在不久的將來我會寫關於它們的文章。
    一個大大的擁抱,感謝您留下您的評論! 保羅

  10.   卡夫蒂 他說:

    我不想這麼刻薄,但是今年到目前為止,這個話題已經討論了好幾次了。

    我提出了一些主題,以便您可以看到我沒有發表任何評論只是為了吟遊詩人。

    -IP電話
    -不同的Torrent客戶(選擇其中一個)。
    -創建我們在控制台中反復出現的那些東西的腳本。
    -刪除內核模塊,以便在啟動時更快地初始化Linux。

    我希望我沒有冒犯/打擾任何人

  11.   邀請 他說:

    太好了,對於那些開始與linux失去聯繫的人來說非常好

  12.   讓我們使用Linux 他說:

    是的,通常在自述文件中有詳細說明。 否則,在編譯時會出現錯誤,並根據該錯誤(該錯誤將告訴您缺少哪個庫),我們將必須安裝適當的依賴項。
    一個擁抱! 保羅

  13.   大提琴 他說:

    卡夫蒂,毫無疑問,你真的很糟糕。 您在哪裡看過這樣的教程,如此清晰和說明性? 對我來說,這是極好的,salu2,

  14.   rv 他說:

    非常感謝您的指導!它幫助我弄清了一些東西🙂

    順便說一句,對我來說,解決依賴關係問題的一個很好的技巧是首先執行“ sudo apt-get build-dep program_name”。 我不知道它是否在所有發行版中都有效,我在Debian(Squeeze)中使用了它,最近我在這裡編譯了MuseScore 1.2,以減輕穩定分支的過時回購...

    我想有人會提供更詳細的信息🙂

    的問候!

  15.   羅斯戈里 他說:

    在編譯之前,我們不應該考慮程序需要的依賴嗎?

  16.   迭戈·加西亞 他說:

    我很少有時間使用linux,這是我最大的疑問之一,這將非常有用,因為我沒有找到有關該主題主題的任何文章。
    還是你知道嗎?
    乾杯..

  17.   馬科斯 他說:

    太好了,我沒有看過這篇文章,但這是因為1型錯誤或2型錯誤

  18.   伊本 他說:

    有沒有其他方法?
    我已經成功使用了這種方法。 問題在於,有許多不使用該系統的源代碼程序,我們沒有配置腳本。 我想如何編譯它們。