高手從零開始的全定製發行版-Linux from Scratch

來源:互聯網
上載者:User

標籤:http   os   使用   ar   strong   檔案   sp   問題   on   

在製作Linux發行版中Linux from Scratch可謂是真正的大師級。Linux from Scratch是線上的社區建立的一本電子書,目的是協助那些根深蒂固的想方設法提高電腦效能的人(tweaker)協助他們來建立自己毫無爭論的獨一無二的發行版本。

Linux from Scratch

困難程度:高;時間需求:200分鐘;自訂程度:極高

對於想自訂他們的發行版本中所有的東西,從核心驅動的選擇到預設文字編輯器是Vi還是Emacs的真正的Linux強者,沒有比通過scratch來搭建你自己的核心和每個重要的組件更徹底的方法了。這就是Linux From Scratch的存在的意義。LFS(Linux from Scratch)是線上的社區建立的一本電子書,目的是協助那些根深蒂固的想方設法提高電腦效能的人(tweaker)協助他們來建立自己毫無爭論的獨一無二的發行版本。

電子書本身(在這個月的封面光碟片上可以找到)包含了你需要知道的所有的細節,從構建跨平台的編譯器到使用chroot來建立你的使用者環境。然而,在你建立你的LFS系統的時候仍有許多騙人的把戲(gotchas)需要你注意。但是,我們已經把這些困難的部分提出了,所以你不用擔心了。下面是這本電子書的精華LXF,每一條對於每個人來說都意味著大腦充血的,滿頭大汗的不眠之夜。我們的測試根據LFS6.3,因為這個穩定的live CD包含了我們需要的所有的工具,軟體包和補丁,但是如果你想要最新最強大的LFS(我們要出版6.5),那麼所有的電子書涵蓋了怎樣用你的主流的發行版本來搭建LSF系統。無論你選了哪條路,這些提示會協助你無爭議的安裝!

Linux from Scratch電子書版格式清晰,並且保證每個階段準確到位。

分區

當你開始初始化cfdisk的時候,最常見的錯誤是退出的時候沒有儲存你的修改(人們然後就想知道為什麼mke2fs提示‘dev/hda1 不存在 ‘錯誤),所以在你提交你的程式之前一定要再一次檢查你的分區對於你使用者的系統是可用的。

本地源

如果你使用LFS live CD,你所有的工具,源和補丁都被儲存在/lfs-sources中。一旦你建立了 ‘lfs‘ 使用者,推薦你把這些源拷貝這些到 $LFS/sources ,因為你之後將可以正確的完成大多數階段而不需要root允許。如果你遇到了任何問題,再一次檢查你的工作目錄是不是 $LFS/sources。下面的命令將返回 /mnt/lfs :

echo $LFS

引導

你一次你運行GCC構建的時候(使用‘bootstarp‘選項),我們推薦你離開去喝一杯咖啡。然後去喝另一杯,這個特殊的階段需要花費一些時間,因為你要編譯三次GCC,然後把第三次構建和第二次構建比較。這個的要點是檢查第二次和第三次構建是否相同,這個可以顯示你第一次構建的GCC時候是正確的。

跳過bootstarp是可能的,但是我們不推薦那樣做,因為這樣有可能會增加奇怪的錯誤,而且這些錯誤後邊不容易診斷出來。剛剛接觸LFS分散的使用者在很多論壇裡發貼子想要知道為什麼GCC要話那麼長時間來構建並且問這樣是否正常。確實是這樣,但是現在足夠的耐心,將來出現的問題就會更少。

在對應的主題中,對於搭建過程來說是經常出現的,在你已經決定要花更長時間而不是你短暫的記憶可以記住的那麼短的時間來完成你的安裝。確認你沒有什麼忘記做的事,否則稍後就會出現錯誤,你不得不返回去來修複你的錯誤。

核心API 總管(hernel API headers)

通常出現的錯誤是誤以為kernel API headers包含在你的軟體包裡。這個不是問題,你需要提取核心源碼包(通常是linux-2.6.x.tar.bz2的格式)然後根據電子書中的步驟移動提取路徑。

Shell的古怪舉動

在你開始你的LFS搭建之前,瞭解Bsah的精妙之處是很重要的。你會建立系統連結、寫多行命令(這意味你看見了,你需要跟著按斷行符號)。你可以在電子書的格式上發現這個問題。在整個電子書多行的命令中的每一行不會包含 > (儘管你會在終端中看見)。然後,如果你在電子書裡看見了 > ,確定你敲命令的時候也輸入這個字元。我們可能沒有察覺這個意外而這樣寫:

gcc -dumpspecs | sed ‘[email protected]^/lib/[email protected]/tools&@g‘> `dirname $(gcc -print-libgcc-file-name)`/specs

這樣就會出現奇異的錯誤狀態,檔案不存在。第二行應該是這樣:

> > `dirname $(gcc -print-libgcc-file-name)`/specs

大量時間和奉獻,你可以搭建出像Nutyx一樣有用的版本。

不要排版(typos)

如果你使用主流的發行版本作為你的主系統,我們衷心地推薦在shell中使用拷貝和粘貼命令。這主要是因為這樣不會出現拼字錯誤,而拼字錯誤可能會在後邊的過程中引發新的錯誤(這個問題通常只能使用完全重新構建的方法來解決)。對於那些一定要手動輸入或者是使用live CD的人,一定要在你執行命令之前反覆檢查,反覆檢查你使用了類型正確的括弧。手動輸入在開始的時候會有意義,但是最終你會遭遇這頭特殊的野獸命令(beast):

GCC_INCLUDEDIR=`dirname $(gcc -print-libgcc-file-name)`/include &&find ${GCC_INCLUDEDIR}/* -maxdepth 0 -xtype d -exec rm -rvf ‘{}‘ ; &&rm -vf `grep -l "DO NOT EDIT THIS FILE" ${GCC_INCLUDEDIR}/*` &&unset GCC_INCLUDEDIR

我們試著一次性輸入全部這些內容,偶然使用了單獨的括弧,這會使所有抹殺掉所有我們已經做對的事情!你可以通過拷貝和粘貼或者在你看見&&時單獨地輸入每一行。

別掉以輕心

在GCC第二次通過的時候,配置會變得很簡單而且可以通過同樣的步驟來安裝一系列軟體包:

./configure --prefix=/toolsmakemake install

然而,這個不是一直都有效,通過工作環境和LFS的補丁你會跟快的命中(hit)軟體包,使它們正確的工作。基於這個原因,你必須一有時間就頻繁地查閱電子書,這樣才能避免奇怪的行為和之後有可能出現的錯誤。

轉移到root

你應該以使用者 ‘lfs‘ 來登入系統,但是一旦你執行命令的時候你就應該貼換到root。你可以通過按住Alt和右方向鍵(你可以使用有方向鍵按鈕回到 lfs 使用者)。在這個步驟中一定要按電子書中說的做備份。所有的這些可能導致的是在一個錯誤的路徑中執行了一個糟糕的rm命令,這會使你幾個小時的辛苦勞動付之東流。你可以通過下面的命令建立一個存檔(因此挽救了一些空間):

tar -cvf --file=$LFS/tools/lfs_build.tar $LFS/tools

然後拷貝壓縮包到外部儲存介質或者是你能輕鬆恢複系統的地方。即使你沒有使用存檔備份,將來你也可以使用它迅速地搭建另外的LFS系統。

搭建你夢想的發行版本

Linux From Scratch伴隨著電子書,開啟超越Linux from Scrach搭建一個可擴充的、自訂的,標準的基於LFS的系統的無限可能的窗戶。LFS論述了軟體包管理也論述了怎樣搭建案頭環境和一般的軟體包。

想要看Linux from Scratch到底能做多少,那麼你看看Nutyx吧(www.nutyx.org)。這是法語的網站,到現在為止還沒有使用英語的選項,但是這個發行版本已經有了全面的案頭和應用程式套裝,非常好用。

LFS關鍵的事是你可以完全掌握哪些補丁和更新可以被應用。所有的都是從原始碼編譯來的,所以它像閃電一樣快。你總是可以選擇是否升級核心,哪些軟體可以,哪些軟體不可以在你的系統上運行。這可能會話費一些時間來完成這種發行版本搭建天堂,之後還學要去維護它,但是結果是值得的。

或者是Gentoo的方式

如果你不能獲得有足夠自訂潛力的發行版本,那麼看一看Gentoo是值得的。和Arch Linux類似,Gentoo支援滾動升級,但是不像Arch,Gentoo給你選用Linux還是BSD作為核心的選擇。同時它也包含了300個開發人員維護的10,000個軟體包的服務,這些軟體包通過Gentoo社區要求的,Linux世界中最進階的軟體包管理系統來分發(叫做Portage)。

Gentoo從原始碼編譯所有的軟體包,旨在獲得穩定的系統,然而Arch Linux安裝二進位包旨在成為自由軟體開發的尖端。你使用哪個版本是由你的目的和你想控制多少而決定的,但是如果你不能在Arch 和Linux From Scratch中做出選擇的話,Gentoo值得你一試。

Gentoo是同樣喜歡LFS和Arch Linux的人的一個更好的選擇。

高手從零開始的全定製發行版-Linux from Scratch

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.