作为创立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