创建自己的自定义Ubuntu Live CD

尝试消除问题的工具

在Ghacks上,我提到了一些工具,可用来创建各种类型的Linux CD。这些工具大多数都允许您创建Live CD,这些CD既可以是当前工作发行版的映像,也可以是使用特殊软件包创建Live CD的工具。但是到目前为止,这些工具还没有一个允许您使用Live CD真正进行自定义。您无法指定桌面背景或其他配置选项。这些任务确实可以使创建定制的Live CD值得。

在本文中,我将向您展示如何获取下载的Ubuntu 9.10 iso映像,安装它,对其进行自定义以及如何从新自定义的映像重建Live CD。此过程可能很耗时,但值得。这整个过程将从命令行完成,因此请准备好输入。

您需要做的第一件事是最近发行的ISO映像。所以跳到 Ubuntu网站 并下载9.10的新副本。完成后,您就可以开始工作了。

在继续自定义之前,您需要安装一些必要的工具。从命令行发出以下命令:

sudo aptitude安装squashfs-tools genisoimage

现在创建一个空目录,该目录将用于处理ISO映像。让我们在用户的主目录中创建它,然后发出以下命令:

mkdir〜/ LIVECD

现在,将刚下载的iso映像移至新目录,并准备工作。

首先要做的是使用命令挂载ISO映像。您将需要创建一个子目录来将映像安装到该目录,因此发出以下命令:

mkdir〜/ LIVECD /挂载

现在使用命令挂载iso:

sudo mount -o循环ubuntu-9.10-desktop-i386.iso〜/ LIVECD / mount /

现在,您将需要创建另一个目录,然后将〜/ LIVECD / mount的内容提取到其中。发出命令:

mkdir〜/ LIVECD /提取CD

然后使用命令提取:

rsync --exclude = / casper / filesystem.squashfs -a mnt / extract-cd

现在,使用以下命令解压缩squashfs文件系统:

须藤unsquashfs mount / casper / filesystem.squashfs

sudo mv squashfs-root编辑

以上两个命令中的前一个将花费一些时间。那很正常。
如果您需要使用此系统进行网络访问(可能会),则需要编辑 /etc/resolv.conf 文件,因此它具有正确的DNS地址。为此,只需复制您当前的工作 resolve.conf 归档到 〜/ LIVECD /编辑/等 使用以下命令的目录:

须藤cp /etc/resolve.conf〜/ LIVECD / edit / etc /

现在在系统上挂载一些重要目录:

sudo mount --bind / dev /编辑/ dev
须藤chroot编辑
挂载-t proc无/ proc
挂载-t sysfs无/ sys
mount -t devpts无/ dev / pts

稍后卸载这些目录将非常重要。

接下来,我们进行操作,从而避免任何语言环境问题,并允许我们导入GPG密钥(如有必要),我们发出以下命令:

导出HOME = / root

出口LC_ALL = C

现在,您可以使用以下命令查看已安装的ISO上安装的所有软件包:

dpkg-query -W --showformat ='$ {Package} n'|排序-nr |减

您可以浏览该列表,并使用以下命令删除Live CD上不需要的任何软件包:

清除能力PACKAGE_NAME

哪里 包裹名字 是您要删除的软件包的名称。然后,您可以通过发出以下命令在Live CD上安装新软件包:

资质安装PACKAGE_NAME

哪里 包裹名字 是要安装的软件包的名称。

桌面背景图片呢?是的,您也可以自定义。如果你看文件 /usr/share/gnome-background-properties/ubuntu-wallpapers.xml 您将看到默认背景的配置位置。您可以编辑该文件,但随后必须确保要使用的.png文件位于 / usr / share / gconf / defaults / 16_ubuntu-wallpapers

您也可以编辑 /etc/gconf/gconf.xml.defaults/%gconf-tree.xml 文件以在该文件中进行任何其他自定义更改(字体,颜色,面板选项等)。了解此文件是空白文件,您将向其添加新的默认值。如果您只想使用gconftool来编辑这些值,则可以使用以下命令来进行编辑:

gconftool-2-直接--config-source xml:readwrite:/etc/gconf/gconf.xml.defaults --type字符串--set KEY'VALUE'

其中KEY是要更改的密钥,而VALUE是要为该密钥设置的值。

您可以在此处进行大量其他可能的配置。但是对于本文的范围,我们将保留其内容。

现在该确保使用以下命令删除任何软件包安装中可能遗留下的任何临时文件:

资质清洁

您还可以删除使用以下命令添加的/etc/resolv.conf文件:

rm /etc/resolv.conf

是时候卸载目录了:

umount / proc
挂载/ sys
卸载/ dev / pts
出口
须藤umount编辑/开发

全部放回一起

现在是时候将所有内容重新组合在一起了。首先,您必须重新生成清单:

chmod + w extract-cd / casper / filesystem.manifest
sudo chroot edit dpkg-query -W --showformat ='$ {Package} $ {Version} n'> extract-cd / casper / filesystem.manifest
sudo cp extract-cd / casper / filesystem.manifest extract-cd / casper / filesystem.manifest-desktop
sudo sed -i'/ ubiquity / d'extract-cd / casper / filesystem.manifest-desktop
sudo sed -i'/ casper / d'extract-cd / casper / filesystem.manifest-desktop

现在来压缩文件系统:

须藤rm extract-cd / casper / filesystem.squashfs
sudo mksquashfs编辑extract-cd / casper / filesystem.squashfs

上面的命令将花费一些时间。

现在打开〜/ LIVECD / extract-cd / README.diskdefines文件并进行任何必要的更改。

下一步需要您删除旧的md5和,并计算新的和。使用以下命令执行此操作:

光盘解压缩
须藤rm md5sum.txt
查找类型f -print0 | xargs -0 md5sum | grep -v isolinux / boot.cat |须藤三通md5sum.txt

现在是时候创建ISO映像了。使用以下命令执行此操作:

sudo mkisofs -D -r -V'$ IMAGE_NAME'-cache-inodes -J -l -b isolinux / isolinux.bin -c isolinux / boot.cat -no-emul-boot -boot-load-size 4 -boot-信息表-o ../ubuntu-9.04.1-desktop-i386-custom.iso。

现在,在〜/ LIVECD目录中,您将拥有新的ISO刻录到磁盘并使用。

恭喜,您刚刚创建了自己的自定义Ubuntu Live CD!