无人值守 Kickstart 安装

无人值守 Kickstart 安装

我查看了好多地方,看到了类似的设置和问题,但似乎都不适合我。我使用以下命令创建自定义 ISO:

/usr/bin/livecd-creator --config=/usr/share/livecd-tools/test.ks --fslabel=TestAppliance --cache=/var/cache/live

这很有效,它创建了包含我想要的所有软件包和配置的 ISO。我的问题是我希望安装过程无人值守。但是,每次我启动 CD 时,它都会要求输入所有信息,例如键盘、时区、root 密码等。这些是我在软件包部分之前的 kickstart 脚本中的基本设置。

cdrom
install
autopart
autostep
xconfig --startxonboot
rootpw testpassword
lang en_US.UTF-8
keyboard us
timezone --utc America/New_York
auth --useshadow --enablemd5
selinux --disabled
services --enabled=iptables,rsyslog,sshd,ntpd,NetworkManager,network --disabled=sendmail,cups,firstboot,ip6tables
clearpart --all

因此,经过一番寻找,我被告知我需要修改我的 isolinux.cfg 文件以执行“ks=http://XXXX/location/to/test.ks“或”ks=cdrom:/test.ks“。我尝试了这两种方法,但仍然迫使我完成安装过程。当我跟踪服务器上的 apache 日志时,我发现 ISO 从未尝试获取该文件。以下是我在 isolinux.cfg 文件上尝试的确切语法。

label http
  menu label HTTP
  kernel vmlinuz0
  append initrd=initrd0.img ks=http://192.168.56.101/files/test.ks ksdevice=eth0
label localks
  menu label LocalKS
  kernel vmlinuz0
  append initrd=initrd0.img ks=cdrom:/test.ks
label install0
  menu label Install
  kernel vmlinuz0
  append initrd=initrd0.img root=live:CDLABEL=PerimeterAppliance rootfstype=auto ro liveimg liveinst noswap   rd_NO_LUKS rd_NO_MD rd_NO_DM
menu default
EOF_boot_menu

前两个命令给我一个“dracut: fatal: no or empty root=”错误,直到我给它一个 root= 选项,然后它就完全跳过了 kickstart。最后一个是我的默认选项,运行良好,但需要大量用户输入。任何帮助都将不胜感激。

答案1

正如问题评论所述,livecd-creator 实际上是用于不同的目的。

对于可启动 ISO,有两种途径可供选择:

  1. 制作网络书籍 iso 并提供网络安装树中的所有软件,这是最常见的。
  2. 创建包含 kickstart 和安装树的自定义滚动 ISO。

有很多文章对第一种做法进行了评论,因为它相当常见,而且有很多好处。以下是一些:

第二种方法主要适用于没有网络可用安装树的情况。以下是执行第 2 种方法的方法:

  1. 确保您的 kickstart 在安装源中设置为“cdrom”
  2. 安装 mkisofs(这将为您提供 mkisofs 或 genisoimage,下面的 mkisofs 命令应该可以同时适用于两者)
  3. 下载 ISO
  4. 安装 ISO

    mount -o loop /path/to/iso /mnt/point
    
  5. 将 ISO 的整个目录结构复制到新文件夹。

    mkdir -p /path/to/new/isosource
    cp -pr /mnt/point/* /path/to/new/isosource/
    
  6. 将你的 kickstart 放在新文件夹中

    cp /path/to/my/ks.cfg /path/to/new/isosource/
    
  7. 移动到包含新文件夹的文件夹

    cd /path/to/new
    
  8. 确保 isolinux 目录可写

    chmod u+w isosource/isolinux/*
    
  9. 在 isosource/isolinux/isolinux.cfg 中为“安装”条目添加 ks 条目,方法是更改

    append initrd=initrd.img
    

    到:

    append initrd=initrd.img ks=cdrom:/ks.cfg
    
  10. 制作 ISO

    mkisofs -o file.iso -b isolinux/isolinux.bin -c isolinux/boot.cat \
      -no-emul-boot -boot-load-size 4 -boot-info-table -R -J -v -T isosource/
    

答案2

你把这件事弄得太复杂了。只需使用原版 ISO 并在命令行中使用 ks 选项启动它即可。见下文。

http://fedoraproject.org/wiki/Anaconda/Kickstart#How_Do_You_Perform_a_Kickstart_Installation.3F

相关内容