引导储存库

引导储存库包含在引导过程中注册客户端所需的软件包。 当产品被同步时,引导储存库会在 SUSE Multi-Linux Manager 服务器上自动创建和重新生成。

1. 准备创建引导储存库

如果您选择某个产品以进行同步,当所有必需的通道都完全镜像后,会立即自动创建引导储存库。

过程:升级通过 检查同步进度 Web UI
  1. 在 SUSE Multi-Linux Manager Web UI 中,导航到 管理员  设置向导 并选择 Products 选项卡。 产品同步时,此对话框将为每个产品显示一个完成栏。

  2. 或者,您可以导航到 软件  管理  频道,然后单击与该储存库关联的频道。 导航至`Repositories`选项卡,然后点击`Sync`并勾选`Sync Status`。

过程:升级通过命令提示符检查同步进度
  1. 要在跟踪日志前列出可用日志,请在容器主机上运行以下命令:

    mgrctl exec ls /var/log/rhn/reposync/
  2. 在 SUSE Multi-Linux Manager 容器主机的命令提示符处,以 root 用户身份检查通道日志文件的同步情况:

    mgrctl exec -ti -- tail -f /var/log/rhn/reposync/<channel-label>.log
  3. 每个子通道在同步过程中都会生成自己的日志。 您需要检查所有基础通道和子通道日志文件,以确保同步已完成。

2. 自动模式的选项

您可以更改自动引导储存库创建的工作方式。 本节详细介绍各种设置。

刷新模式

默认情况下,现有储存库仅更新最新的软件包。 您可以将其配置为始终从空储存库开始。 要启用此行为,请在 /etc/rhn/rhn.conf 中添加或编辑此值:

server.susemanager.bootstrap_repo_flush = 1
自动模式

默认情况下,自动重新生成引导储存库是启用的。 要禁用它,请在 /etc/rhn/rhn.conf 中添加或编辑此值:

server.susemanager.auto_generate_bootstrap_repo = 0

2.1. 配置引导数据文件

该工具使用一个数据文件,其中包含每个发行版所需的软件包的信息。 数据文件存储在 /usr/share/susemanager/mgr_bootstrap_data.py 中。SUSE 会定期更新此文件。 如果您想对该文件进行更改,请不要直接编辑它。 相反,请在持久目录中创建一个副本并编辑您的副本:

cp /usr/share/susemanager/mgr_bootstrap_data.py /srv/susemanager/my_data.py

在您进行更改后,请配置 SUSE Multi-Linux Manager 使用新文件。 在 /etc/rhn/rhn.conf 中添加或编辑此值:

server.susemanager.bootstrap_repo_datamodule = my_data

在下次更新时,来自 SUSE 的新数据将覆盖原始数据文件,而不是新文件。 您需要保持新文件与 SUSE 提供的更改同步。

3. 手动生成引导储存库

默认情况下,引导储存库每天重新生成。 您可以从命令提示符手动创建引导储存库。

过程:升级为 SUSE Linux Enterprise 生成引导储存库
  1. 在 SUSE Multi-Linux Manager 服务器上的命令提示符处,以 root 身份列出要为其创建引导储存库的可用发行版:

    mgr-create-bootstrap-repo -l
  2. 创建引导储存库,并使用适当的储存库名称作为产品标签:

    mgr-create-bootstrap-repo -c SLE-version-x86_64
  3. 或者,使用可用发行套件列表中发行套件名称旁边显示的编号。

客户端储存库位于 /srv/www/htdocs/pub/repositories/ 中。

如果您镜像了多个产品(例如,SLES 和 SLES for SAP),或者如果您使用自定义通道,则可能需要在创建引导储存库时指定要使用的父通道。 这在每种情况下并不是必需的。 例如,一些 SLES 15 版本具有通用代码库,因此无需指定父通道。 仅在您的环境需要时使用此过程。

可选过程:指定引导储存库的父通道
  1. 检查您有哪些父通道可用:

    mgr-create-bootstrap-repo -c SLE-15-x86_64
    Multiple options for parent channel found. Please use option
    --with-parent-channel <label> and choose one of:
    - sle-product-sles15-pool-x86_64
    - sle-product-sles_sap15-pool-x86_64
    - sle-product-sled15-pool-x86_64
  2. 指定适当的父通道:

    mgr-create-bootstrap-repo -c SLE-15-x86_64 --with-parent-channel sle-product-sled15-pool-x86_64

3.1. 支持多个体系结构的储存库

如果您正在创建包含多个不同架构的引导储存库,则需要小心确保所有架构都正确更新。 例如,SLE 的 x86-64 和 IBM Z 架构使用位于 /srv/www/htdocs/pub/repositories/sle/15/2/bootstrap/ 的相同启动储存库 URL。

当启用 flush 选项时,如果您尝试为多个架构生成启动储存库,则只会生成一个架构。 为避免这种情况,在创建其他架构时,请在命令提示符下使用 --no-flush 选项。 例如:

mgr-create-bootstrap-repo -c SLE-15-SP2-x86_64
mgr-create-bootstrap-repo --no-flush -c SLE-15-SP2-s390x

4. 引导和自定义通道

如果您正在使用自定义频道,则可以将 --with-custom-channels 选项与 mgr-create-bootstrap-repo 命令一起使用。 在这种情况下,您还需要指定要使用的父通道。

如果您使用自定义通道,自动创建引导储存库可能会失败。 在这种情况下,您需要手动创建储存库。

有关自定义通道的更多信息,请参见 自定义通道