16.4. 从主机中删除软件包


您可以使用 Satellite Web UI 从主机中删除软件包。

流程

  1. 在 Satellite Web UI 中,进入到 Hosts > All Hosts
  2. 单击要修改的主机的名称。
  3. Content 选项卡,然后点 Packages 选项卡。
  4. 点要删除的软件包的垂直 ellipsis,然后选择 Remove。完成远程执行作业后,您会收到 REX 作业通知。

按照以下说明,以 JSON 格式创建 API 请求的正文。

API 过程

  1. 创建 "job_invocation" 对象,并将其余正文放在此对象内。
  2. 使用字符串类型的 "package" 字段创建 "inputs" 对象,指定您要删除的软件包。如果您要指定多个软件包,请使用空格分开它们。
  3. 为字符串类型创建一个 "feature" 字段,其值为 "katello_package_remove "。
  4. 为字符串类型创建一个 "search_query" 字段,并输入与您要删除软件包的主机匹配的搜索查询。
  5. 可选:如果要以特定用户身份删除软件包,请使用字符串类型的以下字段创建一个 ssh 对象:

    • 使用 ssh 用户名称的 "effective_user"
    • 如果需要此密码,使用 ssh 用户的密码 "effective_user_password"
  6. 可选: 如果要稍后删除软件包,请创建 "scheduling" 对象。该对象可以包含 ISO 8601 格式的字符串类型中的一个或两个字段,包括日期、时间和时区:

    • "start_at"- 设置删除软件包的时间
    • "start_before" - 设置删除软件包的最新时间。如果此时无法删除软件包,则会取消这个操作。

    如果省略了时间,则默认为 00:00:00。如果省略了时区,则默认为 UTC。

  7. 可选: 如果要限制同时运行作业的主机数量,请使用整数类型的 "concurrency_level" 字段创建 "concurrency_control" 对象。将主机数量分配为字段值。
  8. 可选: 如果要稍后删除软件包,并且您希望在运行作业时评估主机搜索查询,请使用 "dynamic_query" 值创建字符串类型的 "targeting_type" 字段。如果您预期搜索查询的结果在运行作业时不同,因为主机状态改变,则这非常有用。如果省略此字段,则默认为 "static_query "。
  9. 使用创建的正文发送 POST 请求到 Satellite 服务器的 /api/job_invocations 端点,并使用 Python 等工具来查看格式化的响应。

    API 请求示例:

    curl https://satellite.example.com/api/job_invocations \
    -H "content-type: application/json" \
    -X POST \
    -d @Path_To_My_API_Request_Body \
    -u My_Username:My_Password | python3 -m json.tool

验证

  • 在 Satellite Web UI 中,进入到 Monitor > Jobs 并查看调度或完成远程执行作业的报告,以删除所选主机上的软件包。

API 请求正文示例

{
  "job_invocation" : {
    "concurrency_control" : {
      "concurrency_level" : 100
    },
    "feature" : "katello_package_remove",
    "inputs" : {
      "package" : "nano vim"
    },
    "scheduling" : {
      "start_at" : "2023-09-21T19:00:00+00:00",
      "start_before" : "2023-09-23T00:00:00+00:00"
    },
    "search_query" : "*",
    "ssh" : {
      "effective_user" : "My_Username",
      "effective_user_password" : "My_Password"
    },
    "targeting_type" : "dynamic_query"
  }
}

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.