跳到内容跳到页面导航:上一页 [access key p]/下一页 [access key n]
documentation.suse.com / SUSE Linux Enterprise Server 文档 / AutoYaST 指南 / 附录 / SLE 12 与 15 中的 AutoYaST 配置文件之间的差异
适用范围 SUSE Linux Enterprise Server 15 SP4

D SLE 12 与 15 中的 AutoYaST 配置文件之间的差异

SUSE Linux Enterprise Server 15 中的重大更改(例如新的模块概念,或者以 firewalld 取代 SuSEfirewall2)要求在 AutoYaST 中进行更改。如果您想要在 SUSE Linux Enterprise Server 15 中重复使用现有的 SUSE Linux Enterprise Server12 配置文件,需要按本文所述调整这些配置文件。

D.1 产品选择

为了能够与针对早于 SLE15 的产品版本创建的配置文件向后兼容,AutoYaST 实施了一种自动选择产品的启发方法。当配置文件不包含 product 元素时,将使用此启发。自动产品选择基于配置文件中的软件包和软件集选择。但是,只要有可能,都应该避免依赖此机制,并将旧配置文件更改为使用显式产品选择。

有关显式产品选择的信息,请参见第 4.9.1 节 “产品选择”

如果自动产品选择失败,将显示错误,并且安装不会继续。

D.2 软件

SUSE Linux Enterprise Server 15 SP4 安装媒体仅包含可安装的极少量软件包。这组精简的软件包仅提供安装环境,而不包括任何服务器应用程序或高级工具。提供更多软件包的其他软件源以模块扩展的形式提供。通过以下两种备选方式提供:

  • 通过注册服务器(SUSE Customer Center 或本地 SMT/RMT 代理)

  • 通过包含所有模块和扩展的 SLE-15-SP4-Full-ARCH-GM-media1.iso 映像。使用此媒体不要求在安装期间访问注册服务器。可以通过安装服务器在本地网络上共享此媒体。

注意
注意:维护更新

只需使用注册服务器就会在安装时授予对所有维护更新的访问权限。在不注册的情况下使用 DVD 媒体时无法访问维护更新。

D.2.1 使用注册服务器添加模块或扩展

要从注册服务器添加模块或扩展,请对 suse_register 部分中的每个模块/扩展使用 addons 标记。扩展需要额外的注册代码,可通过 reg_code 标记指定该注册代码。

以下 XML 代码会添加 Basesystem 和 Server Applications 模块以及 Live Patching 扩展。要获取 nameversionarch 标记的相应值,请在已安装 SLE 15 SP4 的系统上运行 SUSEConnect --list-extensions 命令。

例 D.1︰ 添加模块和扩展(联机)
<suse_register>
 <addons config:type="list">
  <addon>
   <name>sle-module-basesystem</name>
   <version>15.4</version>
   <arch>x86_64</arch>
  </addon>
  <addon>
   <name>sle-module-server-applications</name>
   <version>15.4</version>
   <arch>x86_64</arch>
   </addon>
  <addon>
   <name>sle-module-live-patching</name>
   <version>15.4</version>
   <arch>x86_64</arch>
   <reg_code>REGISTRATION_CODE</reg_code>
  </addon>
 </addons>
</suse_register>

有关更多信息,请参考第 4.3 节 “系统注册和扩展选择”

D.2.2 使用 SLE-15-SP4-Full-ARCH-GM-media1.iso 映像添加模块或扩展

要使用 SLE-15-SP4-Full-ARCH-GM-media1.iso 映像添加模块或扩展,请按以下示例中所示在 add-on 部分中创建项。以下 XML 代码会从包含该映像的 USB 闪存盘添加 Basesystem 模块:

例 D.2︰ 添加模块和扩展(脱机)
<add-on>
 <add_on_products config:type="list">
  <listentry>
   <media_url><![CDATA[dvd:///?devices=/dev/sda%2C/dev/sdb%2C/dev/sdc%2C/dev/sdd]]></media_url>
   <product_dir>/Module-Basesystem</product_dir>
   <product>sle-module-basesystem</product>
  </listentry>
 </add_on_products>
</add-on>
注意
注意:产品名称匹配

product 必须与软件源中包含的内部产品名称相匹配。如果安装时产品名称不匹配,AutoYaST 将报告错误。

提示
提示:在本地服务器上使用安装媒体映像

您可以通过 NFS、FTP 或 HTTP 服务器在本地网络上共享 USB 闪存盘的内容。要执行此操作,请替换 media_url 标记中的 URL,使其指向服务器上媒体的根目录,例如:

<media_url>ftp://ftp.example.com/sle_15_sp4_full/</media_url>

D.2.3 已更名的软件集

软件集自 SUSE Linux Enterprise Server 15 开始也已发生更改。某些软件集已更名;下表中提供了简短摘要。

旧的 SLE12 软件集新的 SLE 15 软件集

Basis-Devel

devel_basis

gnome-basic

gnome_basic

Minimal

enhanced_base

printing

print_server

SDK-C-C++

devel_basis

SDK-Doc

technical_writing

SDK-YaST

devel_yast

请仔细检查定义的软件集中是否包含全部所需软件包,并相应地调整配置文件。此外,需在已激活的扩展或模块中提供所需的软件集和软件包。

注意
  • 上表中的软件集重命名并非一对一替换;某些软件集的内容也发生了更改,某些软件包已移到不同软件集,甚至已从 SUSE Linux Enterprise Server 15 中去除。

  • 请检查所需的软件包是否仍包含在使用的软件集中,并根据需要使用 packages 标记指定其他软件包。

  • 以上列表可能不完整,因为某些产品尚未针对 SUSE Linux Enterprise Server 15 发布。

D.3 模块和扩展依赖项的注册

SUSE Linux Enterprise Server 15 开始,注册期间,AutoYaST 会根据扩展的依赖项自动对扩展重新排序。这意味着,AutoYaST 配置文件中的扩展顺序并不重要。

另外,AutoYaST 会自动添加依赖模块,即使这些模块在配置文件中缺失。这意味着,您无需指定全部所需模块。但是,如果一个扩展依赖于另一个扩展,则需要在配置文件中指定所依赖的扩展(包括注册密钥)。否则注册将会失败。

您可以使用 SUSEConnect --list-extensions 命令列出已注册系统中的可用扩展和模块。

D.4 分区

先前由 YaST 使用的分区后端 libstorage 现已被 libstorage-ng 取代,后者可以实现以前所不能实现的新功能。尽管后端有更改,但配置文件的 XML 语法并更改。不过,SUSE Linux Enterprise Server 15 包含一些常规更改,相关说明请见下文。

D.4.1 GPT 变成 AMD64/Intel 64 上的默认分区类型

在 AMD64/Intel 64 系统上,GPT 现在是首选的分区类型。不过,如果您更想保留旧行为,可以通过在配置文件中将 disklabel 元素设为 msdos 来明确指示。

D.4.2 设置分区号

AutoYaST 将不再支持强制分区号,因为在某些情况下,此行为不起作用。此外,GPT 现已成为首选的分区表类型,因此分区号没有太大的意义。

不过,您仍可使用 partition_nr 标记来指定要重复使用的分区。有关更多信息,请参考第 4.5.3.2 节 “分区配置”

D.4.3 强制设置主分区

仍可将某个分区强制作为分区(仅限在 MS-DOS 分区表中),方法是将 primary_type 设为 primary。但是,AutoYaST 将忽略任何其他值(例如 logical),因为它会自动确定分区类型。

D.4.4 Btrfs:默认子卷名称

新储存层允许用户为每个 Btrfs 文件系统设置不同的默认子卷(或者不设置默认子卷)。如下面的示例所示,可以使用 subvolumes_prefix 标记为每个分区指定前缀名称:

例 D.3︰ 指定 Btrfs 默认子卷名称
<partition>
 <mount>/</mount>
 <filesystem config:type="symbol">btrfs</filesystem>
 <size>max</size>
 <subvolumes_prefix>@</subvolumes_prefix>
</partition>

要省略子卷前缀,请设置 subvolumes_prefix 标记:

例 D.4︰ 禁用 Btrfs 子卷
<partition>
 <mount>/</mount>
 <filesystem config:type="symbol">btrfs</filesystem>
 <size>max</size>
 <subvolumes_prefix>@</subvolumes_prefix>
</partition>

由于实施新的行为,不再需要旧的 btrfs_set_default_subvolume_name 标记,因此不再支持此标记。

D.4.5 Btrfs:禁用子卷

可以通过将 create_subvolumes 设为 false 来禁用 Btrfs 子卷。要跳过默认的 @ 子卷,请指定 subvolumes_prefix.

<partition>
 <create_subvolumes config:type="boolean">false</create_subvolumes>
 <subvolumes_prefix><![CDATA[]]></subvolumes_prefix>
</partition>]]>

D.4.6 不再支持读取现有的 /etc/fstab

SUSE Linux Enterprise Server 15 上,不再支持在尝试确定分区布局时从之前的安装读取现有 /etc/fstab 的功能。

D.4.7 已去除用于对齐分区的设置

由于柱面的概念已过时,partition_alignment> 标记没有任何意义,因此不再可用。AutoYaST 始终尝试以最佳方式对齐分区。

D.4.8 使用 type 定义卷组

已去除 is_lvm_vg 元素,以便可将 type 设置为 CT_LVM 值。有关更多细节,请参见第 4.5.5 节 “逻辑卷管理器 (LVM)”

D.5 防火墙配置

SUSE Linux Enterprise Server 15 中,firewalld 已取代 SuSEfirewall2 成为默认防火墙。这两个防火墙的配置具有明显的差异,因此相应的 AutoYaST 配置文件语法已更改。

旧配置文件仍有效,但支持的配置极其有限。建议按下面所述更新 SLE 15 的配置文件。如果保留 SLE12 配置文件,我们建议检查最终配置,以避免意外行为或网络安全威胁。

表 D.1︰ SLE 15 中的 AutoYaST 防火墙配置:向后兼容性

支持(但已弃用)

不支持

FW_CONFIGURATIONS_\{DMZ, EXT, INT}

FW_ALLOW_FW_BROADCAST_\{DMZ, EXT, INT}

FW_DEV_\{DMZ, EXT, INT}

FW_IGNORE_FW_BROADCAST_\{DMZ, EXT, INT}

FW_LOG_DROP_ALL

FW_IPSECT_TRUST

FW_LOG_DROP_CRIT

FW_LOAD_MODULES

FW_MASQUERADE

FW_LOG_ACCEPT_ALL

FW_SERVICES_\{DMZ, INT, EXT}_\{TCP, UDP, IP}

FW_LOG_ACCEPT_CRIT

FW_PROTECT_FROM_INT

FW_ROUTE

FW_SERVICES_\{DMZ, EXT, INT}_RPC

FW_SERVICES_ACCEPT_RELATED_\{DMZ, EXT, INT}

不再可用的 SuSEfirewall2 配置选项要么在 firewalld 中没有等效的映射,要么将在未来的 SUSE Linux Enterprise Server 版本中提供支持。某些 firewalld 功能尚不受 YaST 和 AutoYaST 的支持 — 您可以在 AutoYaST 配置文件中通过安装后脚本使用这些功能。有关更多信息,请参见第 4.31 节 “自定义用户脚本”

注意
注意:启用和启动防火墙

启用和启动 systemdfirewalld 服务是使用 SLE12 中的相同语法完成的。在 AutoYaST 中,只有这一部分防火墙配置语法未更改:

<firewall>
 <enable_firewall config:type="boolean">true</enable_firewall>
 <start_firewall config:type="boolean">true</start_firewall>
 ...
</firewall>

以下示例演示如何将已弃用(但仍受支持)的配置文件转换为 SLE 15 语法:

D.5.1 将接口指派给区域

SuSEfirewall2 和 firewalld 都基于区域,但它们使用不同的预定义规则集和不同的信任级别建立网络连接。

表 D.2︰ SuSEfirewall2 和 firewalld 区域的映射

firewalld (SLE 15)

SuSEfirewall2 (SLE 12)

dmz

DMZ

external

EXT,FW_MASQUERADE 设为 yes

public

EXT,FW_MASQUERADE 设为 no

internal

INT,FW_PROTECT_FROM_INT 设为 yes

trusted

INT,FW_PROTECT_FROM_INT 设为 no

block

drop

home

work

在 SuSEfirewall2 中,默认区域是外部区域 (EXT),但也允许使用特殊关键字 any 将未在任何位置列出的所有接口指派给指定区域。

D.5.1.1 默认配置

以下两个示例演示了应用于接口 wlan0eth0eth1wlan1 的默认配置。

例 D.5︰ 指派区域:默认配置(已弃用的语法)
<firewall>
 <FW_DEV_DMZ>any eth0</FW_DEV_DMZ>
 <FW_DEV_EXT>eth1 wlan0</FW_DEV_EXT>
 <FW_DEV_INT>wlan1</FW_DEV_INT>
</firewall>
例 D.6︰ 指派区域:默认配置(SLE 15 语法)
<firewall>
 <default_zone>dmz</default_zone>
 <zones config:type="list">
  <zone>
   <name>dmz</name>
   <interfaces config:type="list">
    <interface>eth0</interface>
   </interfaces>
  </zone>
  <zone>
   <name>public</name>
   <interfaces config:type="list">
    <interface>eth1</interface>
   </interfaces>
  </zone>
  <zone>
   <name>trusted</name>
   <interfaces config:type="list">
    <interface>wlan1</interface>
   </interfaces>
  </zone>
 </zones>
</firewall>

D.5.1.2 掩蔽和保护内部区域

以下两个示例演示了如何使用掩蔽和受保护内部区域来配置接口 wlan0eth0eth1wlan1

例 D.7︰ 掩蔽和保护内部区域(已弃用的语法)
<firewall>
 <FW_DEV_DMZ>any eth0</FW_DEV_DMZ>
 <FW_DEV_EXT>eth1 wlan0</FW_DEV_EXT>
 <FW_DEV_INT>wlan1</FW_DEV_INT>
 <FW_MASQUERADE>yes</FW_MASQUERADE>
 <FW_PROTECT_FROM_INT>yes</FW_PROTECT_FROM_INT>
</firewall>
例 D.8︰ 掩蔽和保护内部区域(SLE 15 语法)
<firewall>
 <default_zone>dmz</default_zone>
 <zones config:type="list">
  <zone>
   <name>dmz</name>
   <interfaces config:type="list">
    <interface>eth0</interface>
   </interfaces>
  </zone>
  <zone>
   <name>external</name>
   <interfaces config:type="list">
    <interface>eth1</interface>
   </interfaces>
  </zone>
  <zone>
   <name>internal</name>
   <interfaces config:type="list">
    <interface>wlan1</interface>
   </interfaces>
  </zone>
 </zones>
</firewall>

D.5.2 打开端口

在 SuSEfirewall2 中,使用 FW_SERVICES_\{DMZ,EXT,INT}_\{TCP,UDP,IP,RPC} 标记来打开不同区域中的端口。

对于 TCPUDP,SuSEfirewall2 支持端口号或端口范围,或者使用相应区域和服务的单个标记指定的 /etc/services 中的服务名称。对于 IP 服务,支持端口号或端口范围,或者可使用以下标记指定的 /etc protocols 中的协议名称:FW_SERVICES_ZONE_IP

对于 firewalld,在相应区域的 port 部分中,每个端口、端口范围和服务都需要有单独的项。在 protocol 部分中,IP 服务需要有单独的项。

受 SuSEfirewall2 支持的 RPC 服务不再受 firewalld 的支持。

例 D.9︰ 打开端口(已弃用的语法)
<firewall>
 <FW_SERVICES_DMZ_TCP>ftp ssh 80 5900:5999</FW_SERVICES_DMZ_TCP>
 <FW_SERVICES_EXT_UDP>1723 ipsec-nat-t</FW_SERVICES_EXT_UDP>
 <FW_SERVICES_EXT_IP>esp icmp gre</FW_SERVICES_EXT_IP>
 <FW_MASQUERADE>yes</FW_MASQUERADE>
</firewall>
例 D.10︰ 打开端口(SLE 15 语法)
<firewall>
 <zones config:type="list">
  <zone>
   <name>dmz</name>
   <ports config:type="list">
    <port>ftp/tcp</port>
    <port>ssh/tcp</port>
    <port>80/tcp</port>
    <port>5900-5999/tcp</port>
   <ports>
  </zone>
  <zone>
   <name>external</name>
   <ports config:type="list">
    <port>1723/udp</port>
    <port>ipsec-nat-t/udp</port>
   </ports>
   <protocols config:type="list">
    <protocol>esp</protocol>
    <protocol>icmp</protocol>
    <protocol>gre</protocol>
   </protocols>
  </zone>
 </zones>
</firewall>

D.5.3 打开 firewalld 服务

为了打开端口和/或协议的组合,SuSEfirewall2 提供了 FW_CONFIGURATIONS_\{EXT, DMZ, INT} 标记,这些标记与 firewalld 中的服务等效。

例 D.11︰ 打开服务(已弃用的语法)
<firewall>
 <FW_CONFIGURATIONS_EXT>dhcp dhcpv6 samba vnc-server</FW_CONFIGURATIONS_EXT>
 <FW_CONFIGURATIONS_DMZ>ssh</FW_CONFIGURATIONS_DMZ>
</firewall>
例 D.12︰ 打开服务(SLE 15 语法)
<firewall>
 <zones config:type="list">
  <zone>
   <name>dmz</name>
   <services config:type="list">
    <service>ssh</service>
   </services>
  </zone>
  <zone>
   <name>public</name>
   <services config:type="list">
    <service>dhcp</service>
    <service>dhcpv6</service>
    <service>samba</service>
    <service>vnc-server</service>
   </services>
  </zone>
 </zones>
</firewall>

在以下两种情况下,可以通过软件包添加服务定义:

D.5.4 更多信息

D.6 NTP 配置

时间服务器同步守护程序 ntpd 已被更新式的守护程序 chrony 取代。因此,AutoYaST 中计时守护程序的配置语法已更改。来自 SLE12 的 AutoYaST 配置文件(其中某个部分包含 ntp:client)需要更新。

现在,NTP 的配置方式不是包含低级配置选项,而是在默认设置之上应用一组高级选项:

例 D.13︰ NTP 配置(SLE 15 语法)
<ntp-client>
 <ntp_policy>auto</ntp_policy>
 <ntp_servers config:type="list">
  <ntp_server>
   <iburst config:type="boolean">false</iburst>
   <address>cz.pool.ntp.org</address>
   <offline config:type="boolean">true</offline>
  </ntp_server>
 </ntp_servers>
 <ntp_sync>systemd</ntp_sync>
 </ntp-client>

D.7 在第二阶段需要 AutoYaST 软件包

常规安装是在一个阶段中执行的,而通过 AutoYaST 执行的安装通常需要两个阶段。要执行安装的第二阶段,AutoYaST 需要几个额外的软件包,例如 autoyast2-installationautoyast2。如果缺少这些软件包,将显示警告。

D.8 已去除 CA 管理模块

用于 CA 管理的模块 (yast2-ca-management) 已从 SUSE Linux Enterprise Server 15 中去除,目前尚无替代模块。如果您要重复使用 SLE12 配置文件,请确保它不包含 ca_mgm 部分。

D.9 升级

D.9.1 软件

SLE 12 提供两种模式用于评估哪些软件包需要升级。在 SUSE Linux Enterprise Server 15 SP4 中,升级与否始终由依赖性解析程序决定,相当于使用 zypper dup

这样会使 software 部分中的 only_installed_packages 选项过时。

D.9.2 注册

升级已注册的系统时,将去除所有旧软件源。这是为了避免新旧软件源之间可能发生的冲突,以及清理已删除产品的软件源。如果您需要保留自定义软件源,请使用 add-on 选项重新添加它们。

例 D.14︰ 升级的精简注册配置
<suse_register>
  <do_registration config:type="boolean">true</do_registration>
</suse_register>

如果注册服务器返回多个可能的迁移目标,AutoYaST 将自动选择第一个目标。目前您无法选择其他迁移目标。

升级未注册的系统或通过省略 suse_register 选项跳过注册升级后,您可能需要手动调整软件源设置。