<code id='o6dfj'><strong id='o6dfj'></strong></code>

      1. <dl id='o6dfj'></dl>
        1. <i id='o6dfj'></i>

          <fieldset id='o6dfj'></fieldset>
        2. <tr id='o6dfj'><strong id='o6dfj'></strong><small id='o6dfj'></small><button id='o6dfj'></button><li id='o6dfj'><noscript id='o6dfj'><big id='o6dfj'></big><dt id='o6dfj'></dt></noscript></li></tr><ol id='o6dfj'><table id='o6dfj'><blockquote id='o6dfj'><tbody id='o6dfj'></tbody></blockquote></table></ol><u id='o6dfj'></u><kbd id='o6dfj'><kbd id='o6dfj'></kbd></kbd>
        3. <acronym id='o6dfj'><em id='o6dfj'></em><td id='o6dfj'><div id='o6dfj'></div></td></acronym><address id='o6dfj'><big id='o6dfj'><big id='o6dfj'></big><legend id='o6dfj'></legend></big></address>

          <i id='o6dfj'><div id='o6dfj'><ins id='o6dfj'></ins></div></i>
          <ins id='o6dfj'></ins>
          <span id='o6dfj'></span>

          如何创建属于自己的GNU/Linux发行版

          • 时间:
          • 浏览:9
          • 来源:124软件资讯网

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