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

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

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

D.1 产品选择

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

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

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

D.2 软件

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

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

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

注意
注意:维护更新

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

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

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

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

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

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

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

要使用 SLE-15-SP2-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_sp2_full/</media_url>

D.2.3 已重命名的软件模式

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

旧的 SLE 12 模式新的 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.5 防火墙配置

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

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

表 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.30 节 “自定义用户脚本”

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

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

<firewall>
 <enable_firewall>true</enable_firewall>
 <start_firewall>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 with FW_MASQUERADE set to yes

public

EXT with FW_MASQUERADE set to no

internal

INT with FW_PROTECT_FROM_INT set to yes

trusted

INT with FW_PROTECT_FROM_INT set to no

block

drop

home

work

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

D.5.1.1 默认配置

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

例 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 掩蔽和保护内部区域

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

例 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 部分中都需具有单独的项。IP 服务需在 protocol 部分中具有单独的项。

受 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 中计时守护程序的配置语法已更改。需要更新 SLE 12 中包含带有 ntp:client 部分的 AutoYaST 配置文件。

现在,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 中去除,到目前为止尚无替代模块。如果您要重复使用 SLE 12 配置文件,请确保它不包含 ca_mgm 部分。

D.9 升级

D.9.1 软件

SLE 12 提供两种模式用于评估哪些软件包需要升级。在 SUSE Linux Enterprise Server 15 SP2 中,升级与否始终由依赖性解析程序决定,相当于使用 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 选项跳过注册升级后,您可能需要手动调整储存库设置。