亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

如何創建屬于自己的GNU/Linux發行版?

系統 2036 0
簡介

本文介紹了如何在Ubuntu
Hardy的基礎上,創建屬于自己的GNU/Linux發行版。本文的作者也是gNewSense的創造者。他們在構建gNewSense的過程中,導出了一個通用的Builder工具,用戶可以利用它定制屬于自己的GNU/Linux發行版。

作為創建gNewSense的一部分,我們導出了Builder工具,允許在Ubuntu
Hardy的基礎上創建新的GNU/Linux發行版。通過一個簡單的配置文件,你就能夠選擇發行版的名稱,版本號,標語以及你想要安裝或者移除默認的軟件包。圖像將會自動生成。雖然這些腳本主要的目的是為了創建gNewSense,但是它還是一個不錯值得利用的工具。需要注意的是你可以不遵循下面的步驟使用gNewSense,因為你可以從網站的鏡像下載到相關的鏡像文件。

你需要至少60GB的硬盤空間,最好有一個非常快的網絡連接(因為你將要下載40GB的數據)。同時你的鏡像點(也可以在同一個系統中)也需要40GB左右的空間。如果你會利用硬鏈接,就能夠避免一些重復的下載。這一些操作都將在Ubuntu
Hardy(或者更高版本的)系統執行。所有的命令都必須運行在Root權限下。

如果你有什么問題,可以發到我們的IRC中。Builder這個工具還只是測試版軟件,我已經很久沒有從源碼重新編譯過該工具,因為有些代碼已經修改過了。

第一步:GPG Key

軟件庫中很多最近版本的apt,需要經過GPG簽名的版本文件,這樣可以保證發行版的集成度,所以我們的第一步就是創建一個GPG
Key。

gpg --gen-key

這個命令就可以讓你做到這些。確保Key只有一個空白的密碼。把這個Key的指紋信息記錄下來,因為之后你將在配置文件中用到它。

第二步: Deb鏡像(可選的)

為了避免重復下載文件,我建議創建一個Ubuntu
main和universe軟件庫的鏡像點。這樣的話大概需要40GB的空間。

debmirror --verbose --progress --method=http --host= ie.archive.ubuntu.com
--arch=i386 --source \
--dist=hardy,hardy-security,hardy-updates,hardy-backports
--section=main,main/debian-installer,universe \
--ignore-release-gpg --root=ubuntu /the/target/directory

你也可以建一個Apache服務器,這樣你就能通過HTTP看到這個鏡像點。這個步驟是可選的,但是我強烈推薦大家制作一個本地的Ubuntu鏡像點。

第三步: 軟件包

你需要安裝一些軟件包,使得Builder運行順暢。

apt-get install reprepro debmirror build-essential apache2 subversion
cdebootstrap debootstrap imagemagick
apt-get install squashfs-tools netpbm syslinux bittornado fakeroot
devscripts equivs sharutils mkisofs
svn co http://svn.gnewsense.svnhopper.net/gnewsense/builder/trunk builder
cd builder

如果這里面還缺少某些軟件包,請告知我。

第四步: 配置

用文本編輯器,打開配置文件。你主要關心的設置有MIRROR,RELEASE,DISTRONAME,DOMAIN,BASEDIR,和REPOAPT。
如果還有其它的定制要求可以修改配置文件的其它設置部分。

MIRROR
指的是你在第二步中創建的鏡像點,或者Ubuntu鏡像點,它應該包含安全的軟件包。

MIRRORDIST 指的是鏡像點的發行版本,通常是"Ubuntu"

DISTRONAME 指的是你的發行版名稱,只能包含字母和數字。

BASE_RELEASE 指的是你的版本號。版本號應該是小寫的,因為它將在路徑出現。

TAGLINE 出現在開機啟動和登錄的屏幕中。

SIGNINGKEY 指的是第一步中你設置的GPG Key,不能包含任何空格。

BASEDIR 指的是放置軟件庫、livecd、臨時文件的目錄名稱,REPODST
指的是當前文件系統下建立的鏡像點位置($BASEDIR/發行版名稱的小寫形式)。

REPOAPT
指的是編譯腳本放置的路徑,用來下載軟件包。我們假定在archive.DOMAIN和security.DOMAIN以及subdomains處都是類Ubuntu的安裝方式。

RSYNC_DEST 指的是可以通過push-repo
或者push-cd來同步的軟件庫和livecd的位置。

LOGO_LETTER 指的是標志中的字母。

META_*_{ADD,REMOVE}
在你的默認的軟件包建立之后,用來管理哪些軟件包你想增加或者想把它從Ubuntu默認的軟件包移除。

*_VERSION
指的是給軟件包版本添加的號碼。每次你要重編譯一個軟件包的時候,你需要增加這些。多半都是從1開始計。

第五步: 構造軟件庫

./gen-repo && ./do-update

這一步需要一些時間。當這個命令運行的時候,軟件庫有可能會不一致。這就是為何在第七步中你只需要將改動放到鏡像點中。每次有新的版本(例如安全庫更新了)重新執行
do-update命令就可以了(如果需要的話,也只可以執行debmirror)。

如果你在64位的內核上運行32位的用戶程序,安裝linux32軟件包,然后執行命令

./gen-repo && linux32 ./do-update

第六步: 創建LiveCD

./gen-livecd

創建好的鏡像文件將放在 $LIVECDDIR/$DISTRONAME_L-livecd-$LIVECD_VERSION.iso

./gen-cdsource
./stage-cd

這兩個命令將創建一個源碼包,并把這個ISO放置在 $REPODST/cdimage

第七步:把你的軟件庫放到鏡像點并公開

現在可以在你的鏡像點公開你的軟件庫(dists和pool)地址和LiveCD,將你的新發行版向世界公開。

./push-repo
./push-cd

? Brian Brazil 2006
Minor edits by Karl Goetz

如何創建屬于自己的GNU/Linux發行版?


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 成人综合婷婷国产精品久久免费 | 久久美女精品国产精品亚洲 | 日本一本久 | 国产一区在线播放 | 国产大片中文字幕 | 国产爱v| 免费看久久 | 一级成人 | 欧美激情xxxx性bbbb | 久久视频免费观看 | 在线看福利视频120秒 | 亚洲人成一区二区不卡 | 99久久99热精品免费观看国产 | 欧美一级中文字幕 | 91精品国产综合久久精品 | 亚洲依人 | 毛片推荐| 亚洲高清一区二区三区 | 久久天天躁狠狠躁夜夜躁综合 | 天天添天天操 | 欧美日韩一本 | 亚洲精品一区二区三区四区手机版 | 午夜免费福利不卡网址92 | 爱爱精品视频 | 91福利视频网站 | 精品欧美一区二区三区四区 | 性视频一区| 国产91在线 | 欧美 | 亚洲精品宾馆在线精品酒店 | 国产品精人成福利视频 | 国产剧情一区二区 | 免费观看欧美一级特黄 | 99国产精品国产精品 | 国产美女在线观看 | 色婷婷.com | 色综合色综合色综合色综合 | 国产高清天干天天视频 | 久久99精品麻豆国产 | 欧美福利视频在线 | 深夜在线免费视频 | 国产伦精品一区二区三区网站 |