6.2. 更新断开连接的 Satellite 服务器


这部分论述了在 Air-gapped Disconnected 设置中更新所需的步骤,其中连接的 Satellite 服务器(从 CDN 同步内容)与断开连接的 Satellite 服务器相差。

在 Red Hat Enterprise Linux 8 连接的 Satellite 服务器中完成以下步骤。

  1. 确保您已在连接的 Satellite 服务器中同步了以下软件仓库:

    rhel-8-for-x86_64-baseos-rpms
    rhel-8-for-x86_64-appstream-rpms
    satellite-6.11-for-rhel-8-x86_64-rpms
    satellite-maintenance-6.11-for-rhel-8-x86_64-rpms
  2. 下载组织的 debug 证书并将其存储在本地,例如 /etc/pki/katello/certs/org-debug-cert.pem 或您选择的位置。如需更多信息,请参阅管理内容中的创建机构调试证书
  3. /etc/yum.repos.d 下创建一个 Yum 配置文件,如 satellite-disconnected.repo,其内容如下:

    [rhel-8-for-x86_64-baseos-rpms]
    name=Red Hat Enterprise Linux 8 for x86_64 - BaseOS (RPMs)
    baseurl=https://satellite.example.com/pulp/content/My_Organization/Library/content/dist/rhel8/8/x86_64/baseos/os
    enabled=1
    sslclientcert = /etc/pki/katello/certs/org-debug-cert.pem
    sslclientkey = /etc/pki/katello/certs/org-debug-cert.pem
    sslcacert = /etc/pki/katello/certs/katello-server-ca.crt
    sslverify = 1
    
    [rhel-8-for-x86_64-appstream-rpms]
    name=Red Hat Enterprise Linux 8 for x86_64 - AppStream (RPMs)
    baseurl=https://satellite.example.com/pulp/content/My_Organization/Library/content/dist/rhel8/8/x86_64/appstream/os
    enabled=1
    sslclientcert = /etc/pki/katello/certs/org-debug-cert.pem
    sslclientkey = /etc/pki/katello/certs/org-debug-cert.pem
    sslcacert = /etc/pki/katello/certs/katello-server-ca.crt
    sslverify = 1
    
    [satellite-6.11-for-rhel-8-x86_64-rpms]
    name=Red Hat Satellite 6.11 for RHEL 8 RPMs x86_64
    baseurl=https://satellite.example.com/pulp/content/My_Organization/Library/content/dist/layered/rhel8/x86_64/satellite/6.11/os
    enabled=1
    sslclientcert = /etc/pki/katello/certs/org-debug-cert.pem
    sslclientkey = /etc/pki/katello/certs/org-debug-cert.pem
    sslcacert = /etc/pki/katello/certs/katello-server-ca.crt
    
    [satellite-maintenance-6.11-for-rhel-8-x86_64-rpms]
    name=Red Hat Satellite Maintenance 6.11 for RHEL 8 RPMs x86_64
    baseurl=https://satellite.example.com/pulp/content/My_Organization/Library/content/dist/layered/rhel8/x86_64/sat-maintenance/6.11/os
    enabled=1
    sslclientcert = /etc/pki/katello/certs/org-debug-cert.pem
    sslclientkey = /etc/pki/katello/certs/org-debug-cert.pem
    sslcacert = /etc/pki/katello/certs/katello-server-ca.crt
    sslverify = 1
  4. 在配置文件中,使用下载的机构调试证书的位置替换 sslclientcertsslclientkey 中的 /etc/pki/katello/certs/org-debug-cert.pem
  5. 使用您的部署使用正确的 FQDN 更新 satellite.example.com
  6. My_Organization 替换为 baseurl 中的正确的机构标签。要获取机构标签,请输入以下命令:

    # hammer organization list
  7. 输入 reposync 命令:

    • 在运行 Red Hat Enterprise Linux 7 的 Satellite 服务器中:

      # reposync --delete --download-metadata -p ~/Satellite-repos -n \
       -r rhel-8-for-x86_64-baseos-rpms \
       -r rhel-8-for-x86_64-appstream-rpms \
       -r satellite-6.11-for-rhel-8-x86_64-rpms \
       -r satellite-maintenance-6.11-for-rhel-8-x86_64-rpms
    • 在运行 Red Hat Enterprise Linux 8 的 Satellite 服务器中:

      # reposync --delete --download-metadata -p ~/Satellite-repos -n \
       --repoid rhel-8-for-x86_64-baseos-rpms \
       --repoid rhel-8-for-x86_64-appstream-rpms \
       --repoid satellite-6.11-for-rhel-8-x86_64-rpms \
       --repoid {RepoRHEL8ServerSatelliteMaintenanceProductVersion

    这会从连接的 Satellite 服务器下载存储库的内容,并将其存储在 ~/Satellite-repos 目录中。

  8. 验证 RPM 是否已下载,且存储库数据目录是否在 ~/Satellite-repos 的每个子目录中生成。
  9. 归档目录的内容

    # cd ~
    # tar czf Satellite-repos.tgz Satellite-repos
  10. 使用生成的 Satellite-repos.tgz 文件,在断开连接的 Satellite 服务器中升级。

在断开连接的 Satellite 服务器中执行以下步骤:

  1. 将生成的 Satellite-repos.tgz 文件复制到断开连接的 Satellite 服务器中
  2. 将存档提取到 root 用户访问的任何位置。在以下示例中,/root 是提取位置。

    # cd /root
    # tar zxf Satellite-repos.tgz
  3. /etc/yum.repos.d 下创建一个 Yum 配置文件,如 satellite-disconnected.repo,其内容如下:

    [rhel-8-for-x86_64-baseos-rpms]
    name=Red Hat Enterprise Linux 8 for x86_64 - BaseOS (RPMs)
    baseurl=file:///root/Satellite-repos/rhel-8-for-x86_64-baseos-rpms
    enabled=1
    
    [rhel-8-for-x86_64-appstream-rpms]
    name=Red Hat Enterprise Linux 8 for x86_64 - AppStream (RPMs)
    baseurl=file:///root/Satellite-repos/rhel-8-for-x86_64-appstream-rpms
    enabled=1
    
    [satellite-6.11-for-rhel-8-x86_64-rpms]
    name=Red Hat Satellite 6 for RHEL 8 Server RPMs x86_64
    baseurl=file:///root/Satellite-repos/satellite-6.11-for-rhel-8-x86_64-rpms
    enabled=1
    
    [satellite-maintenance-6.11-for-rhel-8-x86_64-rpms]
    name=Red Hat Satellite Maintenance 6 for RHEL 8 Server RPMs x86_64
    baseurl=file:///root/Satellite-repos/satellite-maintenance-6.11-for-rhel-8-x86_64-rpms
    enabled=1
  4. 在配置文件中,将 /root/Satellite-repos 替换为提取的位置。
  5. 检查可用版本以确认列出了下一个次版本:

    # satellite-maintain upgrade list-versions
  6. 使用健康检查选项来确定系统是否准备好升级。在首次使用此命令时,satellite-maintain 会提示您输入 hammer admin 用户凭证,并将它们保存到 /etc/foreman-maintain/foreman-maintain-hammer.yml 文件中。

    # satellite-maintain upgrade check --whitelist="check-upstream-repository,repositories-validate" --target-version 6.11.z
  7. 在执行升级前,查看结果并解决任何突出显示的错误条件。
  8. 由于更新时间较长,请使用 tmux 等工具挂起和重新附加通信会话。然后,您可以检查升级进度,而无需持续连接到命令 shell。

    如果您丢失了运行 upgrade 命令的命令 shell 的连接,您可以在 /var/log/foreman-installer/satellite.log 文件中看到日志信息来检查进程是否已成功完成。

  9. 执行升级:

    # satellite-maintain upgrade run --whitelist="check-upstream-repository,repositories-validate" --target-version 6.11.z
  10. 检查内核软件包最后一次更新的时间:

    # rpm -qa --last | grep kernel
  11. 可选:如果内核更新自上次重启后发生,请停止 Satellite 服务并重启系统:

    # satellite-maintain service stop
    # reboot

在 Red Hat Enterprise Linux 7 连接的 Satellite 服务器中完成以下步骤。

  1. 确保您已在连接的 Satellite 服务器中同步了以下软件仓库:

    rhel-7-server-ansible-2.9-rpms
    rhel-7-server-rpms
    rhel-7-server-satellite-6.11-rpms
    rhel-7-server-satellite-maintenance-6.11-rpms
    rhel-server-rhscl-7-rpms
  2. 下载组织的 debug 证书并将其存储在本地,例如 /etc/pki/katello/certs/org-debug-cert.pem 或您选择的位置。
  3. 使用以下存储库信息,在 /etc/yum.repos.d 下创建一个 Yum 配置文件:

    [rhel-7-server-ansible-2.9-rpms]
    name=Ansible 2.9 RPMs for Red Hat Enterprise Linux 7 Server x86_64
    baseurl=https://satellite.example.com/pulp/content/My_Organization/Library/content/dist/rhel/server/7/$releasever/$basearch/ansible/2.9/os/
    enabled=1
    sslclientcert = /etc/pki/katello/certs/org-debug-cert.pem
    sslclientkey = /etc/pki/katello/certs/org-debug-cert.pem
    sslcacert = /etc/pki/katello/certs/katello-server-ca.crt
    sslverify = 1
    
    [rhel-7-server-rpms]
    name=Red Hat Enterprise Linux 7 Server RPMs x86_64
    baseurl=https://satellite.example.com/pulp/content/My_Organization/Library/content/dist/rhel/server/7/7Server/x86_64/os/
    enabled=1
    sslclientcert = /etc/pki/katello/certs/org-debug-cert.pem
    sslclientkey = /etc/pki/katello/certs/org-debug-cert.pem
    sslcacert = /etc/pki/katello/certs/katello-server-ca.crt
    sslverify = 1
    
    [rhel-7-server-satellite-6.11-rpms]
    name=Red Hat Satellite 6 for RHEL 7 Server RPMs x86_64
    baseurl=https://satellite.example.com/pulp/content/My_Organization/Library/content/dist/rhel/server/7/7Server/x86_64/satellite/6.11/os/
    enabled=1
    sslclientcert = /etc/pki/katello/certs/org-debug-cert.pem
    sslclientkey = /etc/pki/katello/certs/org-debug-cert.pem
    sslcacert = /etc/pki/katello/certs/katello-server-ca.crt
    
    [rhel-7-server-satellite-maintenance-6.11-rpms]
    name=Red Hat Satellite Maintenance 6 for RHEL 7 Server RPMs x86_64
    baseurl=https://satellite.example.com/pulp/content/My_Organization/Library/content/dist/rhel/server/7/7Server/x86_64/sat-maintenance/6/os/
    enabled=1
    sslclientcert = /etc/pki/katello/certs/org-debug-cert.pem
    sslclientkey = /etc/pki/katello/certs/org-debug-cert.pem
    sslcacert = /etc/pki/katello/certs/katello-server-ca.crt
    sslverify = 1
    
    [rhel-server-rhscl-7-rpms]
    name=Red Hat Software Collections RPMs for Red Hat Enterprise Linux 7 Server x86_64
    baseurl=https://satellite.example.com/pulp/content/My_Organization/Library/content/dist/rhel/server/7/7Server/x86_64/rhscl/1/os/
    enabled=1
    sslclientcert = /etc/pki/katello/certs/org-debug-cert.pem
    sslclientkey = /etc/pki/katello/certs/org-debug-cert.pem
    sslcacert = /etc/pki/katello/certs/katello-server-ca.crt
    sslverify = 1
  4. 在配置文件中,使用下载的机构调试证书的位置替换 sslclientcertsslclientkey 中的 /etc/pki/katello/certs/org-debug-cert.pem
  5. 为您的部署使用正确的 FQDN 更新 satellite.example.com
  6. My_Organization 替换为 baseurl 中的正确的机构标签。要获取机构标签,请输入以下命令:

    # hammer organization list
  7. 输入 reposync 命令:

    # reposync --delete --download-metadata -p ~/Satellite-repos -n \
     -r rhel-7-server-ansible-2.9-rpms \
     -r rhel-7-server-rpms \
     -r rhel-7-server-satellite-6.11-rpms \
     -r rhel-7-server-satellite-maintenance-6.11-rpms \
     -r rhel-server-rhscl-7-rpms

    这会从连接的 Satellite 服务器下载存储库的内容,并将其存储在 ~/Satellite-repos 目录中。Red Hat Enterprise Linux 7 中的 reposync 命令下载 RPM,但不下载 Yum 元数据。

    因此,您需要在 Satellite-repos 的每个子目录中手工运行 createrepo。确保安装了 createrepo rpm。如果没有使用以下命令安装它。

    # satellite-maintain packages install createrepo

    运行以下命令,在 ~/Satellite-repos 的每个子目录中创建 repodata。

    # cd ~/Satellite-repos
    # for directory in */
    do
      echo "Processing $directory"
      cd $directory
      createrepo .
      cd ..
    done
  8. 验证 RPM 是否已下载,且存储库数据目录是否在 ~/Satellite-repos 的每个子目录中生成。
  9. 归档目录的内容

    # cd ~
    # tar czf Satellite-repos.tgz Satellite-repos
  10. 使用生成的 Satellite-repos.tgz 文件,在断开连接的 Satellite 服务器中升级。

在断开连接的 Satellite 服务器上执行以下步骤

  1. 将生成的 Satellite-repos.tgz 文件复制到断开连接的 Satellite 服务器中
  2. 将存档提取到 root 用户访问的任何位置。在以下示例中,/root 是提取位置。

    # cd /root
    # tar zxf Satellite-repos.tgz
  3. 使用以下存储库信息,在 /etc/yum.repos.d 下创建一个 Yum 配置文件:

    [rhel-7-server-ansible-2.9-rpms]
    name=Ansible 2.9 RPMs for Red Hat Enterprise Linux 7 Server x86_64
    baseurl=file:///root/Satellite-repos/rhel-7-server-ansible-2.9-rpms
    enabled=1
    
    [rhel-7-server-rpms]
    name=Red Hat Enterprise Linux 7 Server RPMs x86_64
    baseurl=file:///root/Satellite-repos/rhel-7-server-rpms
    enabled=1
    
    [rhel-7-server-satellite-6.11-rpms]
    name=Red Hat Satellite 6 for RHEL 7 Server RPMs x86_64
    baseurl=file:///root/Satellite-repos/rhel-7-server-satellite-6.11-rpms
    enabled=1
    
    [rhel-7-server-satellite-maintenance-6.11-rpms]
    name=Red Hat Satellite Maintenance 6 for RHEL 7 Server RPMs x86_64
    baseurl=file:///root/Satellite-repos/rhel-7-server-satellite-maintenance-6.11-rpms
    enabled=1
    
    [rhel-server-rhscl-7-rpms]
    name=Red Hat Software Collections RPMs for Red Hat Enterprise Linux 7 Server x86_64
    baseurl=file:///root/Satellite-repos/rhel-server-rhscl-7-rpms
    enabled=1
  4. 在配置文件中,将 /root/Satellite-repos 替换为提取的位置。
  5. 检查可用版本以确认列出了下一个次版本:

    # satellite-maintain upgrade list-versions
  6. 使用健康检查选项来确定系统是否准备好升级。在首次使用此命令时,satellite-maintain 会提示您输入 hammer admin 用户凭证,并将它们保存到 /etc/foreman-maintain/foreman-maintain-hammer.yml 文件中。

    # satellite-maintain upgrade check --whitelist="check-upstream-repository,repositories-validate" --target-version 6.11.z
  7. 在执行升级前,查看结果并解决任何突出显示的错误条件。
  8. 由于更新时间较长,请使用 tmux 等工具挂起和重新附加通信会话。然后,您可以检查升级进度,而无需持续连接到命令 shell。

    如果您丢失了运行 upgrade 命令的命令 shell 的连接,您可以在 /var/log/foreman-installer/satellite.log 文件中看到日志信息来检查进程是否已成功完成。

  9. 执行升级:

    # satellite-maintain upgrade run --whitelist="check-upstream-repository,repositories-setup,repositories-validate" --target-version 6.11.z
  10. 检查内核软件包最后一次更新的时间:

    # rpm -qa --last | grep kernel
  11. 可选:如果内核更新自上次重启后发生,请停止 Satellite 服务并重启系统:

    # satellite-maintain service stop
    # reboot
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2026 Red Hat
返回顶部