无人值守安装Suse时如何使用autoyast安装外部包?

How to use autoyast to install an external package while installing Suse unattended?

最近正在学习如何使用autoyast通过pxe通过网络无人值守安装SUSE。 我的目标是--

  1. 用pxe无人值守安装Suse12.4 -- 我用autoyast.xml和pxe
  2. 成功了
  3. 安装不仅要安装Suse,还需要安装一些外部包-- 比如。 rlwrap 和 puppet 客户端... 按照 https://documentation.suse.com/sles/12-SP4/html/SLES-all/configuration.html#CreateProfile-Software -- 在第 4.9.2 节中的步骤进行操作 所以我只用 rlwrap 包做了一个测试,这是我的步骤--
  4. 因为我的存储库是 http://192.168.95.77/12.4, so I copied rlwrap-0.43-lp152.3.8.x86_64.rpm to http://192.168.95.77/12.4/suse/x86_64 并确保它可以从 http.
  5. 然后我修改了我的autoyast.xml在文件末尾添加这个--

**

<add-on>
  <add_on_products config:type="list">
    <listentry>
      <media_url>http://192.168.95.77/12.4/suse/x86_64/rlwrap-0.43-lp152.3.8.x86_64.rpm</media_url>
      <product>rlwrap</product>
      <alias>rlwrap</alias>
      <product_dir></product_dir>
      <priority config:type="integer">99</priority>
      <ask_on_error config:type="boolean">false</ask_on_error>
      <confirm_license config:type="boolean">false</confirm_license>
      <name>eisen-repo-12.4</name>
    </listentry>
  </add_on_products>
</add-on>

**

然后我用新的虚拟机测试, -- 然后我发现这台虚拟机再次成功安装了Suse12.4,但是没有安装那个rlwrap包,安装时也没有发现错误信息。 我不知道我哪里错了。请指正我。在此先感谢您的帮助。

问候 艾森

找到解决方案 -- autoyast.xml 中的 init.sh 部分可以解决。 我是这样写的--

  <scripts>
    <init-scripts config:type="list">
      <script>
        <debug config:type="boolean">true</debug>
        <feedback config:type="boolean">false</feedback>
        <filename>init.sh</filename>
        <interpreter>shell</interpreter>
        <location><![CDATA[]]></location>
        <notification>customer initialization</notification>
        <source><![CDATA[
#!/bin/bash
touch /tmp/flag
rpm --import http://192.168.95.77/puppet7/repodata/repomd.xml.key 2>&1 >> /tmp/flag
zypper addrepo -f http://192.168.95.77/puppet7 eisen-repo-puppet7 2>&1 >> /tmp/flag
zypper install -y rlwrap 2>&1 >> /tmp/flag
zypper install -y puppet-agent 2>&1 >> /tmp/flag
        ]]></source>
      </script>
    </init-scripts>
  </scripts>

至此第三方包安装成功