Miliardo 发表于 2005-7-14 23:59:07

如何定制一个自己的的Debian CD(完全基于官方CD)?

希望系统能够跟官方的兼容,仅仅是想替换精简第一张CD中的某些软件而已……
(就是定制一个CD的官方Debian apt源)
有没有什么比较方便的办法?

debian-cd包的使用方法我就不说了……还需要一个完整的Debian本地镜像……

jigdo据说定制之后能够实现……不过我是不知道怎么做?(主要问题是那个Packages文件的修改以及关联性的解决)

cdd-tools就不说了,似乎生成CD的能力约等于0。

求助牛人们……如何解决……

atfa 发表于 2005-7-15 08:21:19

说实话,jigdo我研究了很久了,都觉得非常不好用

cnhnln 发表于 2005-7-15 12:00:09

路过,等现成的 :mrgreen:

yjwork 发表于 2005-7-15 13:11:10

下一个netinst的iso,100多兆吧
下载需要的软件包,放到一个目录如debs
然后建一个本地库就可以使用apt-get 了
在把它放入iso里,重新校验md5
mkiso就可以了
我已经做了几张了,最近的就是基于sarge(stable)的
方法简单可行

Miliardo 发表于 2005-7-17 13:04:38

建立本地库不是需要Release和Packages两个文件?
怎么生成?

atfa 发表于 2005-7-17 14:04:27

yjwork能不能详细地介绍一下呢?

cnhnln 发表于 2005-7-17 23:34:38

下一个netinst的iso,100多兆吧
下载需要的软件包,放到一个目录如debs
然后建一个本地库就可以使用apt-get 了
在把它放入iso里,重新校验md5
mkiso就可以了
我已经做了几张了,最近的就是基于sarge(stable)的
方法简单可行
好方法,简单易行。不过 Packages 你是文件你是自己写的吗?还是用别的方法生成的?

Miliardo 发表于 2005-7-18 17:31:39

Packages文件比较头疼……
还有软件包之间的依赖性问题怎么解决……

yjwork 发表于 2005-7-18 17:58:05

用这个命令 如全部放入/root/debs下,
cd /root
dpkg-scanpackages debs /dev/null |gzip> debs/Packages.gz
然后在 sources.list下加入
deb file:/root/debs ./

vvking 发表于 2005-8-2 18:11:02

能把过程说的详细些吗?

比如说本地库怎么做,还有都把什么放到iso上,放到什么地方,除了重新校验md5还有没有其它的要求?
我现在很需要这些信息。

vvking 发表于 2005-8-2 18:14:44

我用apt-move得到一个和光盘上一样的dists 和 pool目录,怎么利用呢?

atfa 发表于 2005-8-3 09:00:50

yjwork怎么不能多说一点啊



知识和技术要和大家分享才有趣嘛

vvking 发表于 2005-8-3 09:53:25

我试着自己做个,就是测试的时候总是说光盘损坏,检察时又说光盘有效,到底是怎么回事?

yjwork 发表于 2005-8-3 13:59:27

基本步骤:1.下载网络安装盘,这是修改的iso源盘
          2.用这张盘安装基本系统,重启后,装其他需要的东西,记得最好在base-config后apt-get 那样你需要的软件包都在/var/cache/apt/archives/目录下
(默认的base-config会在装完系统后删除这些包)
          3.把这些软件包拷入一个目录,如/root/debs,并建本地库
          4.把网络安装盘挂载,将文件拷到一个目录下,加入debs目录。重新校验md5
以上是大概步骤,思路。
具体举例:
1.选一个有iso镜像的站点,我用的是debian.cn99.com,我的速度有1M多。http://debian.cn99.com/debian-cd/debian-31r0a-i386-netinst.iso下载他并刻录到可檫写的光盘,用来安装系统(最好有这样的盘,就不会错了浪费光盘了)。记得一定用这个装,不要加载其他软件盘的东西。
2.netinst装完后就有一个基本系统,重启进入base-config,这里记得一点,在选择sources.list的源时,先不要加光盘外的其他源.你的sources.list里只有你的netinst的源就对了。如果加入如debian.cn99.com,系统会自动装许多东西,而且装完后删除已下载的包。那你就要一个个的比较,在把那些包找到下载下来,这是一个辛苦的工作。
3.有光盘的源的目的时保证当你光盘有需要的包时,不从网上下载,以确保软件包不重复。
4.base-config完成后,登入系统,定制正式开始。
5.先加入你需要的源到sources.list.然后apt-get安装。(系统默认情况下,这些包都会下载到/var/cache/apt/archives/下,并且不会删除)
6.建议你在装软件时看看你的/var/cache/apt/archives/的大小,如果只做一张碟的话,550M就够多了
7.如果你有其他的deb包,如chmsee等不是apt-get 的软件,把它拷入/var/cache/apt/archives/后dpkg -i 来安装。
8.如果是其他包,如realplay.bin都等,放入一个目录,如/root/tools,安装。
9.当一切都装完后,你的系统本身就是用这些软件包装成的了,你的安装盘装的系统大约也是这样了,这是你就需要检查,试用下,看是不是缺少东西了,少就装上。还有需要些手动修改的地方,用一个文本文件记录下来,我一般是建一个faq.txt,把如fcitx的环境变量设置说明放到里面。
10.一切准备好了后,开始制作
11.把/var/cache/apt/archives/里的deb文件拷入/root/debs/下
12.建立本地库。
   cd /root
dpkg-scanpackages debs /dev/null | gzip > debs/Packages.gz
如果没有dpkg-scanpackages,请安装dpkg-dev
13.测试本地库
在 sources.list下加入
deb file:/root/debs ./ (或者是deb file:/root/ debs/ )
并把其他的源都屏蔽,加上"#",光盘的源保留
apt-get update
卸载一个软件,然后在装试试,如果可以安装并且不从网上下载软件包就对了
建议用synaptic看,比较直观。
14.挂载光盘。如mount /dev/cdrom /media/cdrom
15.建立目录用以编辑iso文件,不要用window下的winiso等工具,校验通不过的。
我这里建一个目录如/file/1,将/media/cdrom下的文件和目录都拷入/file/1下。(注意:cdrom下有隐藏文件夹.disk/)
把/root下的debs目录拷入/file/1,将其他软件包拷入/file/1/tools/.配置文件faq.txt等放入/file/1/doc下
16.重新打包md5
#cd /file/1

# rm -f md5sums; find -type f -not -name md5sums -not -name boot.cat -exec md5sum {} \; >> md5sums.txt
这一步比较重要,不然你的光盘是通不过校验的,完成后看看你的md5sums.txt里有新加的/debs吗,有的话就对了。记得加了校验后不要在修改东西。不然就要重新校验。
17.制作iso镜像
cd /file/1

mkisofs -o /root/debiansarge.iso -r-b isolinux/isolinux.bin -c isolinux/boot.cat-no-emul-boot-boot-load-size 4 -boot-info-table /file/1
18.结束,试试看这个iso对吗,祝你成功!

yjwork 发表于 2005-8-3 14:13:31

yjwork怎么不能多说一点啊



知识和技术要和大家分享才有趣嘛
不是我不说。7月18后,这个帖子都沉了好久,个人以为没人关心这个问题而已
页: [1] 2 3
查看完整版本: 如何定制一个自己的的Debian CD(完全基于官方CD)?