第 10 章 使用 RHUI 4 命令
Red Hat Update Infrastructure 提供了一个强大的脚本界面,用于管理 RHUI 节点、存储库和客户端配置。
10.1. 使用 RHUI 4 CLI 选项 复制链接链接已复制到粘贴板!
Red Hat Update Infrastructure 4 的大多数管理任务都是其安装中。安装后,它会自行运行,定期从红帽 CDN 获取更新的软件包,并自动将那些软件包提供给客户端。
名为 Red Hat Update Infrastructure Management Tool 的命令行界面(使用 rhui-manager运行 )有助于安装。此工具提供了每个 RHUI 组件所需的配置元素的交互式提示:RHUA、CDS 和 load-balancer。该工具还提供了用来获取红帽提供的内容证书,以便在连接到 Red Hat CDN 时使用并生成内部云相关证书,以供客户端用于连接到 RHUI。Red Hat Update Infrastructure Management Tool 允许云供应商生成客户端配置捆绑包,以便在客户端 RHEL 实例中安装。此捆绑包允许客户端从 RHUI 安装中获取更新。
Red Hat Update Infrastructure Management Tool 使用互动 shell ; 一些功能也可以在 shell 提示符中运行。Red Hat Update Infrastructure Management Tool 使用七大命令。对于每个命令的 子命令,如果 子命令需要一个或多个选项 -h 和 --help,则提供一个选项列表。
查看所有选项和命令。
# rhui-manager --help
Usage: rhui-manager [options]
OPTIONS
-h/--help show this help message and exit
--debug enables debug logging
--noninteractive prevents console input, used for scripting
--config absolute path to the configuration file; defaults to /etc/rhui/rhui-tools.conf
--server location of the RHUA server (overrides the config file)
--username if specified, previously saved authentication credentials are ignored and this username is used to login
--password used in conjunction with --username
--logout logout from the active session
COMMANDS
cert : Red Hat content certificate management
packages : package manipulation on repositories
repo : repository listing and manipulation
cds : CDS listing and manipulation
migrate : Migrate from {RHUI3}
haproxy : Load balancer listing and manipulation
status : RHUI status and health information
client : Red Hat client management
10.1.1. cert 复制链接链接已复制到粘贴板!
Red Hat content certificate management
upload : uploads a new content certificate
info : display information about the current content certificate
# rhui-manager cert upload
upload: uploads a new content certificate
--cert - full path to the new content certificate (required)
--key - full path to the new content certificate's key
10.1.2. 软件包 复制链接链接已复制到粘贴板!
package manipulation on repositories
list : lists all packages in a repository
remove : removes a package from a custom repository
upload : uploads a package or directory of packages to a custom repository
remote : uploads RPM content from a remote URL to a custom repository
list: lists all packages in a repository
--repo_id - id of the repository to list packages for (required)
remove: removes a package from a custom repository
--repo_id - id of the custom repository to remove a package from (required)
--package - name of the package to be removed (required)
--vr - if specified, only the supplied version-release of the package will be removed
--force - don't ask for confirmation
upload: uploads a package or directory of packages to a custom repository
--repo_id - id of the custom repository where the packages will be uploaded (required)
--packages - path to an .rpm file or directory of RPMs that will be uploaded (required)
remote: uploads RPM content from a remote URL to a custom repository
--repo_id - id of the custom repository where the packages will be uploaded (required)
--url - remote URL of the package or a web page that will be scraped for RPM content (required)
10.1.3. repo 复制链接链接已复制到粘贴板!
repository listing and manipulation
list : lists all repositories in the RHUI
info : displays information on an individual repo
add : add a Red Hat repository to the RHUA
add_by_repo: add Red Hat repositories to the RHUA via repo ID
add_by_file: add Red Hat repositories to the RHUA using an input file
add_errata: associate errata metadata with a repository
add_comps : associate comps metadata (group/category/environment/langpacks) with a repository
delete : delete a repository
sync : sync a repository
set_retain_versions: limits the number of older repository versions kept in database
orphan_cleanup: submits a background task to remove orphaned artifacts from storage
export : export a repository to the filesystem
enable_sync: enable scheduled synchronization of a repository
disable_sync: disable scheduled synchronization of a repository
sync_all : sync all repositories
metadata : ensure metadata is generated for the latest version of repositories
enable_autopublish: enable automatic publishing of a new repository version
disable_autopublish: disable automatic publishing of a new repository version
create_custom: create a custom repository
unused : list of products available but not synced to the RHUA
info: displays information on an individual repo
--repo_id - identifies the repository to display (required)
add: add a Red Hat repository to the RHUA
--product_name - product to add the RHUA (required)
add_by_repo: add Red Hat repositories to the RHUA via repo ID
--repo_ids - repo IDs to add, comma-separated (required)
--sync-now - Use to sync any repos that are added (optional)
add_by_file: add Red Hat repositories to the RHUA using an input file
--file - file containing repo IDs to add, one per line (required)
--sync_now - Use to sync any repos that are added (optional)
add_errata: associate errata metadata with a repository
--repo_id - repo ID to associate the metadata with (required)
--updateinfo - updateinfo file to be applied (required)
add_comps: associate comps metadata (group/category/environment/langpacks) with a repository
--repo_id - repo ID to associate the metadata with (required)
--comps - comps file to be applied (required)
delete: delete a repository
--repo_id - identifies the repository to delete (required)
sync: sync a repository
--repo_id - identifies the repository to sync (required)
set_retain_versions: limits the number of older repository versions kept in database
--repo_id - identifies the repository to operate on
--all - operate on all repositories (either --repo_id or --all must be provided, but not both)
--versions - number of versions to keep (required)
--dry_run - display what will be executed without actually executing
orphan_cleanup: submits a background task to remove orphaned artifacts from storage
export: export a repository to the filesystem
--repo_id - identifies the repository to export (required)
metadata : ensure metadata is generated for the latest version of repositories
--repo_id - explicit repo ID to generate metadata for
enable_sync: enable scheduled synchronization of a repository
--repo_id - identifies the repository to enable scheduled synchronization for (required)
--verbose - if present, info on last/next synchronization tasks will be displayed
disable_sync: disable scheduled synchronization of a repository
--repo_id - identifies the repository to disable scheduled synchronization for (required)
--verbose - if present, info on last/next synchronization tasks will be displayed
enable_autopublish: enable automatic publishing of a new repository version
--repo_id - identifies the repository to enable automatic publishing for (required)
disable_autopublish: disable automatic publishing of a new repository version
--repo_id - identifies the repository to disable automatic publishing for (required)
create_custom: create a custom repository
--repo_id - identifies the repository to add (required)
--path - path to the content being served by CDS; defaults to repo_id
--display_name - display name for the custom repository
--redhat_content - repository will host Red Hat GPG signed content
--protected - make the content protected by entitlement certificate
--gpg_public_keys - comma separated list of public keys used to sign the served content; the filenames must not contain comma
unused: list all unused Red Hat repositories
Loading latest entitled products from Red Hat...
... listings loaded
Available Repositories
--------------------
10.1.4. cds 复制链接链接已复制到粘贴板!
CDS listing and manipulation
list : lists all cds instances in the RHUI
add : register a cds instance to the RHUI
reinstall : reinstalls an already registered cds instance
delete : unregisters cds instances from the RHUI
add: register a cds instance to the RHUI
--hostname - The hostname of the instance to add. (required)
--ssh_user - Username with SSH access to the instance and sudo privileges. (required)
--keyfile_path - Absolute path to an SSH private key to use with the given user. (required)
--hostfile - Absolute path to a known_hosts file to use to determine the identity of the instance; if this is not provided and the instance hostkey is not in the system-wide known_hosts file, this command will fail.
--user_supplied_ssl_key - Optional absolute path to the user supplied SSL key file.
--user_supplied_ssl_crt - Optional absolute path to the user supplied SSL crt file.
--force - Add the system even if the hostname is already registered.
--unsafe - Proceed even if the instance host key is not in the known_hosts file. This is not secure!
--no_update - Use this flag to prevent the final dnf update; it must be specified every time this functionality is desired.
reinstall: reinstalls an already registered cds instance
--hostname - The hostname of the instance to reinstall on; this instance must be registered already.
--all - Reinstall all the registered instances.
--no_update - Use this flag to prevent the final dnf update; it must be specified every time this functionality is desired.
delete: unregisters cds instances from the RHUI
--force - Delete the system, even if it is the last of its kind.
--hostnames - Comma-separated list of hostnames to delete (unregister) from RHUI. (required)
10.1.5. migrate 复制链接链接已复制到粘贴板!
Migrate from RHUI3
--force - Migrate repos even when some repos are detected locally
--hostname - The remote RHUIv3, migration source, hostname (required)
--password - The remote RHUIv3, migration source, rhui-manager password. (required)
--keyfile_path - The path to an SSH private key to use with the given user. default=/root/.ssh/id_rsa_rhua
--local_system_user - The local RHUIv4, migration destination, system username. default=<cloud-user>
--remote_system_user - The remote RHUIv3, migration source, system username. default=<cloud-user>
--remote_server_crt - The remote RHUIv3, migration source, server crt path. default=/etc/pki/rhui/certs/entitlement-ca.crt
--remote_server_key - The remote RHUIv3, migration source, server key path. default=/etc/pki/rhui/private/entitlement-ca.key
--username - The remote RHUIv3, migration source, rhui-manager username. default=admin
10.1.6. hapoxy 复制链接链接已复制到粘贴板!
Load balancer listing and manipulation
list : lists all haproxy instances in the RHUI
add : register a haproxy instance to the RHUI
reinstall : reinstalls an already registered haproxy instance
delete : unregisters haproxy instances from the RHUI
add: register a haproxy instance to the RHUI
--hostname - The hostname of the instance to add. (required)
--ssh_user - Username with SSH access to the instance and sudo privileges. (required)
--keyfile_path - Absolute path to an SSH private key to use with the given user. (required)
--hostfile - Absolute path to a known_hosts file to use to determine the identity of the instance; if this is not provided and the instance hostkey is not in the system-wide known_hosts file, this command will fail.
--config - Optional absolute path to a user supplied HAProxy config file.
--force - Add the system even if the hostname is already registered.
--unsafe - Proceed even if the instance host key is not in the known_hosts file. This is not secure!
--no_update - Use this flag to prevent the final dnf update; it must be specified every time this functionality is desired.
reinstall: reinstalls an already registered haproxy instance
--hostname - The hostname of the instance to reinstall on; this instance must be registered already.
--all - Reinstall all the registered instances.
--no_update - Use this flag to prevent the final dnf update; it must be specified every time this functionality is desired.
delete: unregisters haproxy instances from the RHUI
--force - Delete the system, even if it is the last of its kind.
--hostnames - Comma-separated list of hostnames to delete (unregister) from RHUI. (required)
10.1.7. status 复制链接链接已复制到粘贴板!
status: RHUI status and health information
--code - if specified, only a numeric code for the result will be displayed
--repo_json - Name of the JSON file for a repo status
10.1.8. 客户端 复制链接链接已复制到粘贴板!
Red Hat client management
labels : list the labels required for client certificate creation
cert : create a content certificate for a rhui client
rpm : create a client config rpm
content_source: create an alternate source config rpm
acs_config: output a JSON representation of the alternate source config
cert: create a content certificate for a rhui client
--repo_label - identifies the repositories to add. Comma delimited string of repo labels (required)
--name - identifies the certificate name (required)
--days - number of days cert will be valid (required)
--dir - directory where the certificate will be stored (required)
rpm: create a client config rpm
--private_key - entitlement private key
--entitlement_cert - entitlement certificate
--rpm_version - version number of the client config rpm
--rpm_release - release of rpm package. Default is 1
--rpm_name - name of the client config rpm (required)
--dir - directory where the rpm will be created (required)
--unprotected_repos - comma-separated list of unprotected repos to include
--cert - generate certificate also before building client config rpm if given
--ca_cert - full path to the certificate authority of CDS servers
--repo_label - identifies the repositories to add. Comma delimited string of repo labels
--name - identifies the certificate name if it is different from rpm name
--days - number of days cert will be valid
--proxy - url/string in case proxy option is necessary in yum repo file
content_source: create an alternate source config rpm
--private_key - entitlement private key
--entitlement_cert - entitlement certificate
--rpm_version - version number of the client config rpm
--rpm_name - name of the client config rpm (required)
--dir - directory where the rpm will be created (required)
--unprotected_repos - comma-separated list of unprotected repos to include
--cert - generate certificate also before building client config rpm if given
--ca_cert - full path to the certificate authority of CDS servers
--repo_label - identifies the repositories to add. Comma delimited string of repo labels
--name - identifies the certificate name if it is different from rpm name
--days - number of days cert will be valid
acs_config: output a JSON representation of the alternate source config
--dir - directory where the JSON representation will be stored (required)
--private_key - entitlement private key
--entitlement_cert - entitlement certificate
--cert - generate certificate based on the the repos supplied via --repo_label
--ssl_ca_cert - full path to the certificate authority of CDS servers (defaults to ssl_ca_crt specified in rhui-tools.conf)
--repo_label - identifies the repositories to add. Comma delimited string of repo labels
--days - number of days cert will be valid if new cert is generated