在本小指南中,我將解釋(並教您)為什麼最好從源代碼編譯程序(例如Firefox,Vlc等),而不是從軟件中心,Yumex,Pacman等處下載程序。 )並安裝。
首先,我們遵循以下理論:
什麼是“編譯”?
編譯是通過使用處理器將用於生成代碼的語言轉換為二進制代碼,然後將源代碼(以某種編程語言編寫的代碼,例如C,C ++等)轉換為可執行程序以對其進行操作。彙編器。 通常也稱為包裝。
為什麼“編譯”更好?
首先,您必須了解以下內容以了解原因。 以“粗略”的方式(簡單,不太專業等)放置,處理器的每個種族(奔騰,Core,Atom等)及其種類(Intel,AMD,ARM等)都有指令(用彙編器編寫的軟件)來處理其模型(Core i7,Core i5,Atom x2,Phantom x8,Arm等)的代碼,並具有所有此類通用說明。
當你透過軟體中心(例如 apt-get/Yumex/Yum/Pacman 等)從軟體倉庫下載程式時,它會自動安裝,並聲稱已預先編譯,可在所有可能的處理器(Intel 和 AMD)上運行。由於它是預編譯程序,因此會丟失特定於該處理器型號的指令(想像一下,如果像 Firefox 或 Chrome 這樣擁有七八百萬行代碼的程序必須包含市面上所有處理器的特定指令,代碼量將會非常龐大,導致程序效率低下),而只保留其開發者(Intel、AMD、ARM)的通用指令。
當你下載、解壓縮並自行編譯程式原始碼時,它是使用你處理器的特定指令進行編譯的(這並不意味著它不能在具有不同處理器的機器上運行,只是它會專門針對你的處理器進行優化),從而釋放並發揮你的處理器憑藉其特定指令所能提供的所有能力。
在更多的技術細節中,這些特定的說明與主板的芯片組緊密相關,當我們想要升級處理器和主板時,對於那些擁有英特爾的人來說,這是非常頭痛的事情。
你一定會驚訝於你那台舊電腦的AMD Atom x2或Intel Core i3 、 Core 2 Duo或其他處理器所能提供的效能。現在你明白為什麼編譯著名的核心(每個作業系統的核心)在 Linux 世界裡如此熱門了吧?想像一下,如果你能專門為你的電腦編譯一個完整的系統(圖形環境(GNOME、KDE 等)、核心、常用程式(Firefox、VLC、Chrome、Wine 等))——你會獲得怎樣的速度和最佳化水平。
這種獲得特別為您的機器優化的代碼的編譯原理就是諸如Gentoo和衍生產品之類的發行版所使用的代碼(我現在不再談論,我使用Fedora minimal進行Gnome 3,內核和其他程序的編譯)系統,更新和程序始終在哪裡編譯。
編譯的缺點:
我已經解釋了所有優點,但是就像宇宙中的所有事物一樣,它也都有缺點。
在編譯情況下,它們是:
- 為此所需的時間(使用i7 4790K的Firefox(沒有超頻,因為我對電壓非常不滿意)需要3分鐘,帶有Gnome-Control-Center的Gnome Shell(無其他限制)花了我大約2分鐘,兩者均已編譯同時在Fedora中使用。但是在一台處理器性能不佳的機器上,這段時間可能會不成比例地長)。
- 處理器最大程度地利用其所有內核的100%的功率,因此消耗和熱量激增(如果您超頻或特別是筆記本電腦,請考慮到這一點),因此方便您準備伴侶或咖啡為之。
- 可能您缺少使用程序的庫(工具),因此在編譯時不會出錯。 通常,所有發行版都有軟件包或軟件包集來避免這種情況(它們帶有各種庫和其他東西,這些東西允許內核在處理過程中與處理器進行通信)。
我該如何編譯?
在這裡,我談論的是編譯供正常使用的程序,而不是內核。
aptitude install build-essential dh-make devscripts fakeroot debhelper debian-policy ccache dh-autoreconf autotools-dev build-dep ardor
我放了debian-policy,但是如果您的發行版不是Debian,並且給您一個錯誤,指出不存在這樣的軟件包,請忽略它。 我需要澄清的是,我已經很長時間沒有使用這些系統了,因此,如果存儲庫中不再有軟件包,就不會出現問題。
對於Fedora:
sudo yum -y安裝內核頭文件內核開發sudo yum groupinstall“開發工具”sudo yum groupinstall“開發庫”
在這裡,我不得不為那些使用Arch(我不太了解發行版)和OpenSuse的人道歉,因為我不知道這些發行版或各自的軟件包來執行正確的編譯(而且我沒有證實網絡上的內容,所以我不知道他們是否為那兩個工作。
現在,您已經具備了所有必要的要求,您只需要下載要編譯的程序的源代碼,根據您使用終端將其解壓縮的擴展名即可(不用擔心,我會留給您命令)並當您轉到文件夾(始終與終端一起使用)時,請執行以下操作:
如果可以配置自己以選擇組件和其他組件,請執行以下操作:
./configure
然後輸入:
make
最後在您的linux上安裝程序:
make install
使用終端解壓縮的命令(文件被解壓縮到文件所在的文件夾中):
.Tar文件(tar)-------------------------------Pack | tar cvf file.tar / file / *解壓| tar xvf file.tar查看內容| tar tvf file.tar
-------------.tar.gz-.tar.z-.tgz(tar with gzip )-------------------------------- tar czvf archive.tar.gz /存檔/解壓縮和解壓縮| tar xzvf file.tar.gz查看內容(未提取)| tar tzvf file.tar.gz
---------------------------.gz(gzip)------------ -----------------------壓縮| gzip -q文件(該文件壓縮並重命名為“ file.gz”) gzip -d file.gz(文件解壓縮並將其保留為“文件”。注:gzip僅壓縮文件,而不壓縮目錄
---------------------------.bz2(bzip2)----------- ------------------------壓縮| bzip2文件| bunzip2文件(該文件將壓縮並重命名為“ file.bz2”)。 bzip2 -d file.bz2 | bunzip2 file.bz2(文件將其解壓縮並保留為“文件”)注意:bzip2僅壓縮文件,而不壓縮目錄
----------------------------.tar.bz2(tar with bzip2)-------- ---------------------------壓縮| tar -c文件| bzip2> file.tar.bz2解壓縮| bzip2 -dc file.tar.bz2 | tar -xv | tar jvxf file.tar.bz2(tar的最新版本) bzip2 -dc file.tar.bz2 | tar-電視
---------------------------.zip(zip)------------- ----------------------壓縮| zip file.zip/mayo/archives解壓縮| 解壓縮file.zip查看內容| 解壓-v file.zip
------------------------------.rar(rar)------------ -----------------------壓縮| rar -a file.rar / may /壓縮文件rar -x file.rar查看內容| rar -v file.rar | rar -l file.rar
就這樣。 來自阿根廷布宜諾斯艾利斯的問候。 節日快樂,新年快樂! :)。