在所有 openSUSE Leap 版本中,通过将 autoyast=<PATH_TO_PROFILE> 添加到内核参数列表来启动自动安装。例如,添加 autoyast=http://MYSERVER/MYCONFIG.xml 将启动自动安装,其中包含 AutoYaST 配置文件的 Web 服务器 myserver 获取配置文件。请参阅 第 9.3 节,“启动自动安装过程”,了解更多信息。
配置文件是 AutoYaST 配置文件。AutoYaST 配置文件的内容决定了系统将如何配置以及将安装哪些软件包。这包括分区、网络设置和软件源,仅举几例。几乎所有可以使用 YaST 在运行的系统中配置的内容也可以在 AutoYaST 配置文件中配置。配置文件是 ASCII XML 文件。
创建 AutoYaST 配置文件的最简单方法是使用现有的 openSUSE Leap 系统作为模板。在已安装的系统上,启动 › › 。现在从菜单中选择 › 。选择要包含在配置文件中的系统组件。或者,通过从命令行运行 sudo yast clone_system 来创建包含完整系统配置的配置文件。
两种方法都将在 /root/autoinst.xml 中创建文件。命令行创建的版本可用于设置与创建配置文件的系统相同的克隆。但是,通常您需要调整该文件,以便能够安装多个非常相似但并非完全相同的机器。可以通过使用您最喜欢的文本/XML 编辑器来调整配置文件来完成此操作。
检查您创建的 AutoYaST 配置文件的最有效方法是使用 jing 或 xmllint。
请参阅 第 3.3 节,“手动创建/编辑控制文件”,了解详细信息。
如果在 AutoYaST 配置文件中未定义某个部分,则将使用常规 YaST 安装建议的设置。但是,您需要指定至少 root 密码才能在安装后登录到机器。
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE profile>
<profile xmlns="http://www.suse.com/1.0/yast2ns" xmlns:config="http://www.suse.com/1.0/configns">
<users config:type="list">
<user>
<encrypted config:type="boolean">false</encrypted>
<user_password>linux</user_password>
<username>root</username>
</user>
</users>
</profile>在您的配置文件中使用以下 sound 部分
<sound> <autoinstall config:type="boolean">true</autoinstall> <configure_detected config:type="boolean">true</configure_detected> </sound>
将配置文件放在 DVD 的根目录下。使用 file:///PROFILE.xml 引用它。
要合并两个配置文件 a.xml 和 base.xml,请运行以下命令
> /usr/bin/xsltproc --novalid --param replace "'false'" \
--param dontmerge1 "'package'" --param with "'a.xml'" --output out.xml \
/usr/share/autoinstall/xslt/merge.xslt base.xml这要求两个配置文件中的部分按字母顺序排列(例如,software 必须在 add-on 之后列出)。如果您使用 YaST 创建了配置文件,则配置文件会自动正确排序。
dontmerge1 参数是可选的,并且是您在配置文件中使用 dont_merge 元素时应该执行的操作的示例。请参阅 第 6.4 节,“规则和类的合并”,了解更多信息。
Zypper 只能从 AutoYaST 初始化脚本调用,因为在后脚本阶段,YaST 仍然对 RPM 数据库具有独占锁。
如果您真的需要使用其他脚本类型(例如后脚本),您需要在您自己的风险下中断锁定。
<post-scripts config:type="list">
<script>
<filename>yast_clone.sh</filename>
<interpreter>shell</interpreter>
<location/>
<feedback config:type="boolean">false</feedback>
<source><![CDATA[#!/bin/sh
mv /var/run/zypp.pid /var/run/zypp.sav
zypper in foo
mv /var/run/zypp.sav /var/run/zypp.pid
]]></source>
</script>
</post-scripts>实际上顺序并不重要。配置文件中部分顺序对 AutoYaST 工作流没有影响。但是,要 合并 不同的配置文件,部分需要按字母顺序排列。
linuxrc 使用 文件未签名 阻止安装。我需要手动交互。
linuxrc 发现了一个未签名的文件,例如驱动程序更新。要使用未签名的文件,您可以将 insecure=1 传递给 linuxrc 参数列表(以及 autoyast=... 参数),以抑制该消息。
您需要将 ifcfg 传递给 linuxrc。这是必需的,用于设置网络,否则 AutoYaST 无法从远程主机下载配置文件。请参阅 第 C.3 节,“高级网络设置”,了解更多信息。
/)?是的,但它比其他方法更复杂。环境(DHCP、TFTP 等)必须设置得非常小心。AutoYaST 配置文件必须如下所示
<?xml version="1.0"?>
<!DOCTYPE profile>
<profile xmlns="http://www.suse.com/1.0/yast2ns" xmlns:config="http://www.suse.com/1.0/configns">
<partitioning config:type="list">
<drive>
<device>/dev/nfs</device>
<initialize config:type="boolean">false</initialize>
<type config:type="symbol">CT_NFS</type>
<partitions config:type="list">
<partition>
<filesystem config:type="symbol">nfs</filesystem>
<fstopt>nolock</fstopt>
<device>10.10.1.53:/tmp/m4</device>
<mount>/</mount>
</partition>
</partitions>
<use>all</use>
</drive>
</partitioning>
</profile>有一个 AutoYaST 邮件列表,您可以在其中发布问题。加入我们:https://lists.opensuse.org/opensuse-autoinstall/。