11.9. 将勘误应用到多个主机

使用这些步骤检查并将勘误表应用到多个 RHEL 7 主机。

先决条件

  • 将 Red Hat Satellite 存储库与红帽提供的最新勘误同步。更多信息请参阅 第 6.6 节 “同步软件仓库”
  • 将主机注册到 Satellite 服务器上的环境和内容视图。如需更多信息,请参阅 管理主机指南中的注册主机
  • 配置主机以进行远程执行。有关运行远程执行作业的更多信息,请参阅 管理主机指南 中的配置和设置 远程作业
注意

如果主机已经配置为接收已弃用 Katello Agent 的内容更新,请迁移到远程执行。如需更多信息,请参阅管理主机中的将主机从 Katello Agent 迁移到远程执行

流程

  1. 在 Satellite Web UI 中,导航到 Content > Errata
  2. 点击您要应用的勘误的名称。
  3. 单击 Content Hosts 选项卡。
  4. 选择您要应用勘误表的主机,然后单击 Apply to Hosts
  5. 单击 Confirm

CLI 过程

  1. 列出所有可安装的勘误:

    # hammer erratum list \
    --errata-restrict-installable true \
    --organization "Default Organization"
  2. 将其中一个勘误应用到多个主机:

    使用远程执行

    # hammer job-invocation create \
    --feature katello_errata_install \
    --inputs errata=ERRATUM_ID \
    --search-query "applicable_errata = ERRATUM_ID"

    使用 Katello 代理 (已弃用)

    确定您要使用的勘误,并列出此勘误适用的主机:

    # hammer host list \
    --search "applicable_errata = ERRATUM_ID" \
    --organization "Default Organization"

    以下 Bash 脚本对这个勘误可用的每个主机应用勘误:

    for HOST in hammer --csv --csv-separator "|" host list --search "applicable_errata = ERRATUM_ID" --organization "Default Organization" | tail -n+2 | awk -F "|" '{ print $2 }' ;
    do
      echo "== Applying to $HOST ==" ; hammer host errata apply --host $HOST --errata-ids ERRATUM_ID1,ERRATUM_ID2 ;
    done

    此命令将带有 Errata _ID 的所有主机标识为适用的勘误,然后将勘误应用到每个主机。

  3. 要查看勘误是否已成功应用,请在以下命令的输出中查找对应的任务:

    # hammer task list
  4. 查看所选任务的状态:

    # hammer task progress --id task_ID