我正在为 Ubuntu Server 10.10 创建自动安装光盘。是否可以在预置文件中设置软件包选择(要安装哪些软件包组等)?如果可以,该怎么做?
答案1
从高层次上讲,创建的关键部分是预置文件,它可以指定安装程序要求您提供的选项。可以在以下位置找到示例预置文件Debian 网站。示例提供了您可能想要修改的大多数选项。
当涉及到实施时,还需要遵循几个步骤:
获取图像。您可以选择完整图像或迷你 iso从互联网上下载软件包的全新副本。该过程略有不同,但大致类似。
获得映像后,您需要从 iso 中提取文件。可能有一个一步到位的方法,但我一直都是这样做的:
sudo mount -o loop -t iso9660 mini.iso /mnt cp -rf /mnt /path/to/extractdir sudo umount /mnt
现在,您可以创建要使用的预置文件。在 mini iso 中,由于您实际上没有层次结构,因此只需将其放在根文件夹中即可。在常规服务器安装中,将其放在预置文件夹中。您可以自行选择将其放在何处/如何命名。
获得预置后,您需要将其指定给内核。在 mini iso 中,您需要编辑
text.cfg
,或在完整安装中,通过编辑以下行isolinux/text.cfg
来包含您的预置:APPEND
APPEND arg1 arg2=value2 arg3 ... file=/cdrom/path/to/preseed/file locale=en_US console-setup/ask_detect=false console-setup/layout=us --
除非你知道自己在做什么,否则不要删除现有的值
修改完 preseed 和 text.cfg 文件后,您需要将其重新打包为 ISO。为此,您需要将 isolinux 放在 CD 上以使其可启动。现在,
cd
转到提取的映像的根目录,执行以下操作 [取自 syslinux 网站:cd /path/to/extractdir mkisofs -o output.iso -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -R -J -T .
您需要添加-l
(或-iso-level 2
)标志来支持更长的文件名。
您的 iso 已output.iso
准备好刻录!
答案2
好吧,我花了太多时间才弄清楚如何让它工作。Shroff,你的例子,虽然很接近,但还没有完全达到。
至少是最后一部分。
最后一步,使用 mkdir CD_root,并且 mkisofs 稍微偏离。
如果你做了
sudo mount -o loop mini.iso /mnt
cp -fr /mnt/ ./new_image
sudo umount /mnt
您的示例中的后续步骤变得模糊。编辑 text.cfg 和放置 pressed.txt(我使用的名称)是正确的。因此,以下内容:
cd new_image
chmod 777 .
vim pressed.txt
vim text.cfg
下一步:
cd ..
mkisofs -o output.iso -b isolinux.bin -l -c boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table new_image
在处理 isolinux/isoliunux.bin 和 CD_root 时,我不知所措。显然,你从 syslinux 网站窃取的复制粘贴内容不适用于 ubuntu 映像。
希望这对其他人有帮助!