我需要在完全自动化的服务器上远程安装debian系统。
如果我可以访问此服务器上的debian映像(通过使用DVD驱动器或带有的USB棒),这将非常容易:我只需输入"boot/install“提示PreSeed文件的url即可。但是我不能访问服务器上的DVD驱动器或USB卡。
在我的例子中,我只能通过救援系统(运行最低限度的debian)访问服务器。我知道我可以用debootstrap。但问题是,使用discs不是自动的,我必须首先格式化光盘,挂载它们,执行退引导等等。
我想要做的是,登录到救援系统并调用一个“程序”,比如debootstrap或带有预设文件的debian安装程序,所有事情都应该自动完成。但是debootstrap不支持预置文件。我不知道如何在这样的救援系统环境中调用安装程序。
我怎样才能做到这一点?能否在救援系统中下载一个完整的Debian映像,在内存中提取它,然后以某种方式调用此CD的安装程序?但是怎么做呢?我要在那里执行什么命令?
或者,是否有一些小工具可以做到这一点,我需要用一个url调用图像并预置信息,然后才能安装呢?如前所述,取消引导是可以的,但是我想使用debian安装程序中的预启动文件,而不需要任何手动干预。去引导涉及到很多手工工作。
非常感谢您的帮助!!延斯
发布于 2011-02-22 21:58:46
如果可能的话,我建议你自己制作一张新的CD,或者把它邮寄或者上传给能帮你把它放到托盘里的人。使用VM来创建和测试图像,直到您获得100%的非交互式图像为止。记住,你只需要最基本的功能。一个具有SSH和一个用户的运行系统就足够了。剩下的你可以(小心地)远程做。
我还没有用挤压来做这件事,但我假设这个过程是类似的。最坏的情况是,您可以自动安装Lenny并升级到挤压。
你需要一个预置文件作为先决条件。使用debconf-get-selections生成这个。从该命令的输出开始,必要时进行编辑。有关预设内容所需的任何信息,请参见Debian预置安装程序的官方文档。
1)下载ISO 来自Debian。
2)安装和复制光盘内容
mount -o loop debian-508-amd64-netinst.iso /mnt
mkdir ~/autoinstall
rsync -a -H --exclude=TRANS.TBL /mnt/ ~/autoinstall/3)编辑isolinux/isolinux.cfg并将整个内容替换为:
default install
LABEL install
kernel /install.amd/vmlinuz
append vga=normal initrd=/install.amd/initrd.gz preseed/file=/cdrom/preseed.txt debian-installer/locale=en_US console-keymaps-at/keymap=us --
LABEL linux
kernel /install.amd/vmlinuz
append vga=normal initrd=/install.amd/initrd.gz preseed/file=/cdrom/preseed.txt debian-installer/locale=en_US console-keymaps-at/keymap=us --
prompt 0
timeout 04)将预设的数据放在名为~/autoinstall的CD映像的根目录中,名为preseed.txt。
5)图像的建立。
cd ~/autoinstall/
mkisofs -o ~/autoinstall.iso -r -J -no-emul-boot -boot-load-size 4 -boot-info-table -b isolinux/isolinux.bin -c isolinux/boot.cat ~/autoinstall/现在,您可以使用用于VM启动的映像。在安装程序问您问题的任何地方,将这个答案添加到pressed.txt文件中,然后重复步骤4和5。
继续这样做,直到你有一个可行的安装程序。你可能会建立20-30图像,同时调整你的预置文件,直到你得到正确的。确保在openssh-server中包含了pkgsel/include,并且应该能够远程登录。
https://serverfault.com/questions/238844
复制相似问题