如何使用AutoYaST控件xml文件在SuSE中执行无人参与的自动安装?

时间:2012-02-03 06:33:21

标签: shell profile partitioning suse silent-installer

我正在使用KIWI构建SuSE( SLES 11 SP1 )设备,并且正在寻找一种在其中执行无人参与安装的方法。此外,我需要根据硬件(磁盘数量,容量等)执行分区。

我遇到了SuSE的AutoYaST功能,该功能表明我可以将我的安装说明放在生成的ISO中的xml文件(称为autoyast配置文件)中。另外,我需要一个位置来放置我的分区脚本(可能使用 fdisk 命令)。 http://doc.opensuse.org/projects/YaST/openSUSE10.3/autoinstall/createprofile.scripts.html上的SuSE文档 清楚地说使用SUSE Linux 10.0和以下所有版本,可以在预脚本中使用fdisk更改分区

我读到可以在以下情况下完成:

  1. xml文件 autoinst.xml 放在光盘的根目录上。
  2. 脚本(在本例中称为预脚本)嵌入在xml文件中
  3. 从cd启动时,会给出启动参数 autoyast = file:///autoinst.xml
  4. 我的autoinst.xml文件如下所示:

    <?xml version="1.0"?>
    <!DOCTYPE profile>
    <profile xmlns="http://www.suse.com/1.0/yast2ns" xmlns:config="http://www.suse.com/1.0/configns">
    <scripts>
     <pre-scripts config:type="list">
      <script>
       <filename>pre.sh</filename>
       <interpreter>shell</interpreter>
       <feedback config:type="boolean">true</feedback>
       <source><![CDATA[
        #!/bin/sh
        touch /root/pre-output
        echo "Running pre-install script" > /root/pre-output
        fdisk -l >>/root/pre-output
        ]]>
       </source>
      </script>
     </pre-scripts>
    </scripts>
    </profile>
    

    正如您可以清楚地看到的那样,脚本意味着生成输出,可以轻松验证。 但这不会发生。 我已在设备中包含 autoyast2 autoyast2-installation 软件包。 在使用指定的引导参数启动时,我进入错误屏幕,显示“调用YaST模块'inst_netprobe'失败” 错误中提到的日志(/ var / log / YaST2 / y2log)并不好。他们只是说调用模块 inst_netprobe 失败了。

    选择NEXT后,安装正常进行,并在登录提示结束。登录后我没有看到前脚本要生成的任何更改,表明它没有被调用。

    有人可以指出我是否遗漏了什么?

    1. 我错过了与AutoYaST相关的软件包吗?
    2. 我的位置(ISO 上的“/”)是否正确放入我的xml文件?
    3. xml文件是否格式正确或是否缺少某些内容?我从上面提供的documentaion链接末尾给出的示例中获取了此示例。
    4. 调用的方式是否正确? (提供 autoyast = file:///autoinst.xml )?
    5. 另外,如果有人在SLES 11上使用AutoYaST进行了自动安装,请您分享一些指示?

2 个答案:

答案 0 :(得分:1)

当我更新yast2 * rpm时,在SLES11 SP2中发生了这种情况,它已经依赖于bind-utils。因此,您需要安装bind-utils * rpm

答案 1 :(得分:0)

未安装软件包yast2-network时可能会发生此错误。