Red Hat Training

A Red Hat training course is available for Red Hat Satellite

频道管理指南

红帽网络 Satellite 5.5

红帽网络 Satellite

版 7

摘要

欢迎阅读红帽网络 Satellite 频道管理指南。

第 1 章 简介

本文档讨论了有关为 RHN Proxy 服务器和 RHN Satellite 服务器 部署和维护自定义的软件频道的问题,在安装并配置 RHN Satellite 服务器 或者 RHN Proxy 服务器后会用到。
在有些情况下,本文档会参考在红帽网络网页服务器中执行的动作。对于 RHN Proxy 服务器用户,它是指中央红帽网络服务器(https://rhn.redhat.com)。对于 Satellite 用户来说,它是指您所处的 RHN Satellite 服务器。

第 2 章 RHN 频道简介

红帽网络(RHN)频道就是一组软件包。频道可以帮助您根据合理的规则将软件包分开。例如,一个频道可以只包括红帽发布的具体软件包;一个频道也可能只包括一个应用程序或一个应用程序系列的软件包。用户可以根据他们自己特殊需要定义频道。例如,一个公司可以创建一个包含该机构笔记本电脑需要使用的所有软件包的频道。

2.1. 基本频道和子频道

频道有两种类型:基本频道子频道。基本频道包括基于一个特定体系结构和红帽企业版 Linux 发行版本的软件包。子频道是与一个基本频道关联、包含额外软件包的频道。
一个系统必须只能订阅到一个基本频道,但它可以订阅到这个基本频道的多个子频道。一个订阅的系统可以只通过它的红帽网络频道来安装和更新软件包。
当在红帽网络中注册系统时,会将它分配给与红帽企业版 Linux 系统版本对应的基本频道。注册后,您可以通过 RHN 网站将其默认基本频道改为一个专用的基本频道。另外,您还可以使用与自定义频道关联的激活码来注册系统。这样,系统就会自动地与所需的自定义频道关联。
在红帽网络网站中,「频道」页(在顶部导航栏的「频道」标签中)提供了所有基本频道及其子频道的列表。点击「频道详情」页中列出的频道名称会为您提供该频道中的所有软件包、勘误以及关联系统的列表。

2.2. 订阅频道

您可以使用以下方法在频道中订阅系统:
  • 通过激活码注册 — 因为使用激活码非常简单而且快速,所以它是 RHN Proxy 服务器或 RHN Satellite 服务器 客户端系统的首选注册方法。使用激活码进行注册的系统会被订阅到与该激活码关联的所有频道中。关于更多与激活码相关的信息,请参阅《红帽网络客户端配置指南》和《红帽网络参考指南》。
  • 安装注册 — 当一个系统的初始注册是通过 Red Hat Update Agent 或者 Red Hat Network Registration Client 进行的,它会被自动地订阅到与这个系统运行的红帽企业版 Linux 版本对应的频道中。在注册系统后,可以通过 RHN 网站将其默认频道改为一个专用的基本频道。另外,您还可以使用激活码来注册系统。这样就可将该系统自动与所需自定义频道关联。关于使用这些应用程序的详情请参阅《RHN 参考指南》中与您的授权级别(管理或者 Provisioning)对应的章节。
  • 网站订阅 — 根据系统的基本频道,可以通过 RHN 网站在不同的子频道中订阅系统。如果您已经创建了自己的基本频道,您可以通过网站重新为这些自定义的频道分配系统。请参阅《RHN 参考指南》中红帽网络网站一章。
  • 使用 spacewalk-channel 命令行工具(CLI)— spacewalk-channel 可让您在具体频道使用该命令行订阅系统,而无需登录红帽网络网站。
    例如:要订阅两个频道:
    spacewalk-channel --add -c rhn-tools-rhel-i386-server-5 -c
    rhel-i386-server-vt-5 --user username --password password
    
    要取消订阅该频道:
    spacewalk-channel --remove -c rhn-tools-rhel-i386-server-5 -c
    rhel-i386-server-vt-5 --user username --password password
    
    列出已订阅频道:
    spacewalk-channel --list
    

2.3. 可用频道

红帽网络中会有许多频道,其中的一些对所有用户都可用,而另外一些只对特定机构的用户可用。另外,一些频道只对那些购买了这些频道访问权的用户可用。频道可分为以下几个主要类别:
  • 付费服务频道 — 这些频道只对那些直接购买了访问授权或者与其它特定红帽解决方案共同购买了频道访问授权的用户有效。红帽企业版 Linux 就是一个付费服务频道示例。
  • 自定义频道 — 这些频道由机构管理员创建,用来管理自定义软件包。这些频道也称为专用频道,默认情况下只有创建他们的机构才能看到,不会与其他任何机构关联。但可以通过设置机构间信任跨机构共享专用频道。有关机构信任请参考《参考指南》
本文将重点介绍创建和管理 RHN Proxy 服务器或 RHN Satellite 服务器 自定义频道的方法。

2.4. 工具、存储库和实践

在创建和管理频道前,请记录您要处理的工具和存储库间的不同。这在您使用 RHN Satellite 服务器 和 RHN Proxy 服务器时尤其重要,因为有更多的工具和存储位置可用。另外,使用 Proxy- Satellite 组合可获得最佳效果。
首先,让我们来熟悉一下这些软件包管理工具:
  • RHN Package Manager - 使用这个程序来将自定义软件包 push 到您的 RHN Proxy 服务器自定义频道中。
  • RHN Push - 使用这个程序可将自定义软件包推入 RHN Satellite 服务器的自定义频道。
  • RHN Satellite Synchronization Tool - 使用这个程序从红帽网络传统订阅中导入标准软件包,并将其与红帽网络同步。您可以使用互联网或者 CD/DVD ISO 映像完成此操作。
这些工具在软件包都有对应的软件包存储库。RHN Package ManagerRHN Push 需要生成临时测试目录来存放要上传到 Proxy 或者 Satellite 中的自定义软件包。您需要在使用后删除这些测试目录。

注意

Red Hat 建议您在红帽网络外对您的自定义软件包进行归档。
如果您使用 RHN Proxy 服务器和 RHN Satellite 服务器,请只使用 RHN PushRHN Satellite Synchronization Tool。 Proxy- Satellite 的组合需要将自定义的软件包和频道只上传到 Satellite 。 Proxy 会从那里获得软件包并将其发布到客户端系统。

第 3 章 构建自定义软件包

在构建软件包的时候通常会出现一些错误,特别是在必须通过红帽网络发布和安装这些软件包时尤为常见。本章介绍了如何成功地构建使用红帽网络发布的软件包,其中包括了为什么要使用 RPM,如何为 RHN 构建软件包以及如何正确签注软件包。

3.1. 为红帽网络构建软件包

红帽网络使用 RPM 软件包管理程序(RPM Package ManagerRPM)技术来决定每个客户端系统可应用的软件附加组件和更新。在红帽网络搜索到的软件包通常是 RPM 格式,而在红帽网络网站的「软件」标签页中提供的是完整 ISO 映像,但在 RHN Satellite 服务器 安装中无效。如果您的 Satellite 启用了对 Solaris 的支持,您可以使用 RHN Push将 Solaris 软件包上传到 Solaris 客户端使用的自定义频道中。
RPM 是一个为用户提供简单安装、卸载、升级和验证软件包的工具。它还允许软件开发者为最终用户和开发者提供源码和编译版本打包文件。

3.1.1. RPM 的优点

RPM 有以下的优点:
容易升级
使用 RPM,您可以单独升级系统的组件而不用完全重新安装。当红帽发布红帽企业版 Linux 的新版本时,用户不需要重新安装就可以进行升级。RPM 允许智能、全自动、本地升级您的系统。在升级的过程中可保留软件包中的配置文件,因此用户不会丢失他们特定的配置。安装和升级软件包的时候使用同一个 RPM 文件,因此更新软件包时不需要特殊的升级文件。
软件包查询
RPM 提供的查询选项允许您在整个 RPM 数据库中查询所有软件包或只查询特定的文件。您还可以轻松地找到文件所属软件包以及该软件包的来源。软件包中的文件位于一个压缩归档中,这个文件有一个包括这个软件包信息及其内容的自定义二进制标头。RPM 可以快速、方便地查询软件包的标头信息。
系统验证
RPM 的另一个功能是可以进行软件包验证。如果您怀疑与一个软件包关联的文件已经被删除,您可以通过检查这个软件包来确定这个文件的状态。这个验证的过程会提示您所有异常情况。如果存在错误,您可以轻松地重新安装这个文件。在重新安装的过程中将保留配置文件。
Pristine 源
RPM 的一个重要的功能就是允许使用 pristine 软件源码,它是由这个软件的原始开发者提供的。使用 RPM 可将 pristine 源码及其使用的补丁程序以及完整构建说明打包。这个功能是非常重要的。例如,当发行一个新版本时,您不需要从头开始来编译它。您可以查看补丁来决定您可能需要做什么。使用此项技术,您可以方便地查看正确构建软件所需的所有编译的默认设置和修改。
保留源 pristine 看起来可能只对开发人员有用,但实际上它也可以为最终用户提供高质量的软件。

3.1.2. RHN RPM 指南

RPM 的优势在于可以准确定义依赖关系并发现冲突。红帽网络使用 RPM 的这个功能来处理软件的依赖关系。红帽网络提供了一个自动环境,这意味着在安装一个软件包的过程中不需要人工参与。因此,当为那些需要通过红帽网络发布的软件包构建 RPM 时,以下的原则非常重要:
  1. 了解 RPM。要正确地构建软件包,了解 RPM 的基本功能是非常重要的。有关 RPM 的信息请参考以下资源:
  2. 当为一个子频道构建 RPM 时, 请在新安装的、与子频道的基本频道使用同一版本的红帽企业版 Linux 中构建软件包。请确定首先从红帽网络中应用所有更新。
  3. 在安装 RPM 软件包时一定不能使用 --force--nodeps 选项。如果您无法在您构建的系统中“干净”地安装 RPM,红帽网络将不能在系统中自动安装它。
  4. RPM 软件包的文件名必须是 NVR[name(名称)、version(版本)、release(发行)]格式且必须包括这个软件包的体系结构。正确的格式应该是 name-version-release.arch.rpm。例如,一个有效的 RPM 软件包文件名是 pkgname-0.84-1.i386.rpm,它的名称是 pkgname,版本是 0.84,发行本是 1,构架是 i386
  5. RPM 软件包应该由其维护者签注。虽然未签注的软件包也可以通过红帽网络发布,但必须将 Red Hat Update Agent 配置为强制接受它们。我们强烈推荐使用经过签注的软件包,相关的内容请参考 第 3.2 节 “RHN 软件包的数字签名”
  6. 如果软件包被修改(包括修改了签名或重新被编译),就必须相应增大版本或发行号。换句话说,通过 RHN 发布的每个 RPM 的 NVRA(包括体系结构)必须与其唯一构建对应以避免混淆。
  7. RPM 软件包不能自己作废。
  8. 如果一个软件包被分成多个单独的软件包,需要格外小心其相依性。除非由于编译的问题,否则请不要分割现有软件包。
  9. 软件包不能接受交互式的预安装(pre-install)、安装后(post-install)、预卸载(pre-uninstall)和卸载后(post-uninstall)脚本。如果软件包需要用户的直接参与,这个软件包将无法在红帽网络中工作。
  10. 在预安装、安装后、预卸载和卸载后脚本中不要写入任何 stderr 或 stdout 内容。如果不必要,请将信息重新输出到 /dev/null,否则请将它们写入一个文件中。
  11. 创建 spec 文件时,使用 /usr/share/doc/rpm-<version>/GROUPS 中的组定义。如果没有完全匹配的项,选择最接近的一个。
  12. 使用 RPM 的相依性性能确定此程序在安装后可正常运行。

重要

请不要通过归档来创建 RPM,然后再在安装后脚本中恢复它们。这违背了 RPM 的初衷。
如果文件列表中不包含归档中的文件,您将无法验证或检查它们之间的冲突。在大多数情况下,RPM 本身可以有效地将文件打包或解压缩。例如,如果您没有在 %postun 项中进行清除,请不要在 %post 中创建文件。

3.2. RHN 软件包的数字签名

所有通过 RHN 发布的软件包都应该有一个数字签名。数字签名根据唯一的私钥创建,并可使用对应的公钥验证。在创建软件包后,SRPM (源 RPM) 和 RPM 可以使用一个 GnuPG 密钥进行数字签注。在安装软件包前,公钥可以被用来验证这个软件包是否被可信任的一方签注并在签注后没有被修改。

3.2.1. 生成 GnuPG 密钥对

GnuPG 密钥对由私钥和公钥组成。要生成密钥对:
  1. 请作为 root 用户在 shell 提示符后输入以下命令:
    gpg --gen-key
    如果您以非 root 用户的身份运行这个命令,您将会看到以下信息:
    gpg: Warning: using insecure memory!
    
    出现此信息是因为非 root 用户无法锁定内存页。因为您不想让任何人得到您的专用 GnuPG 密钥或者密码短语,所以您想要以 root 户生成密钥对。root 用户可以锁定内存页,就是说永远无法在磁盘中写入信息。
  2. 在执行了生成一个密钥对的命令后,您将会看到与以下类似的、包括了密钥选项的引导屏幕:
    	gpg (GnuPG) 1.2.6; Copyright (C) 2004 Free Software
    	Foundation, Inc.  This program comes with ABSOLUTELY NO
    	WARRANTY. This is free software, and you are welcome to
    	redistribute it under certain conditions. See the file COPYING
    	for details. Please select what kind of key you want: (1) DSA
    	and ElGamal (default) (2) DSA (sign only) (4) RSA (sign only)
    	Your selection?
    
  3. 接受默认选项:(1) DSA 和 ElGamal。这个选项允许您创建一个数字签名并使用两种加密技术进行加密/解密。输入 1 后按 Enter 键。
  4. 接下来,选择密钥的长度,即密钥应有的长度。密钥越长,它被破解的可能性就越小。推荐您创建最短为 1024 位的密钥。
  5. 下一个选项将让您指定密钥的有效期。如果您指定了密钥过期的日期,任何使用您的公钥的用户都需要被告知过期的时间并在过期后获得新密钥。我们推荐您使用没有过期时间的设置。如果您没有选择一个过期的日期,会提示您确认您的选择:
    Key does not expire at all Is this correct (y/n)?
    
  6. y 来确认您的决定。
  7. 您的下一个任务是提供一个包括您的名称、电子邮件地址和注释(可选的)的用户 ID,其中的每项都需要独立的内容。完成后,您会看到您输入内容的总结。
  8. 确定您的选择后,您需要输入一个密码短语(passphrase)。

    注意

    和您的帐户密码一样,好的密码短语对 GnuPG 的安全性非常重要。在您的密码短语中使用混和的大小写字母、数字和标点符号将会增加其安全性。
  9. 在输入并验证了您的密码短语后,就生成了您的密钥。此时会出现一个类似如下的信息:
    We need to generate a lot of random bytes. It is a good idea to perform some
    other action (type on the keyboard, move the mouse, utilize the disks) 
    during the prime generation; this gives the random number generator a 
    better chance to gain enough entropy. 
    
    +++++.+++++.++++++++....++++++++++..+++++.+++++.+++++++.+++++++ +++.
    ++++++++++++++++++++++++++++++++++++++..........................++++
    
    页面中的活动停止后,会将新的密钥保存在 root 用户主目录的 .gnupg 目录中。这是保存 root 用户所生成密钥的默认位置。
请使用以下命令列出 root 密钥:
gpg --list-keys
输出内容类似如下:
/root/.gnupg/pubring.gpg ----------------  pub 1024D/B7085C8A 2002-02-18
 Your Name<you@example.com> 
sub 1024g/E12AF9C4 2002-02-18
要获得您的公钥,使用以下命令:
gpg --export -a 'Your Name' > public_key.txt
您的公钥被写在 public_key.txt 文件中。
这个公钥非常重要,必须将其部属在所有通过 up2date 接收自定义软件包的客户端系统中。《红帽网络客户端配置指南》介绍了在一个机构的客户端系统中部属该密钥的方法。

3.2.2. 签注软件包

在您可以签注软件包前,您需要配置您的 ~/.rpmmacros 文件使其包含以下内容:
%_signature gpg 
%_gpg_name B7085C8A
使用您用来签注软件包的 GPG 密钥环中的密钥 ID 值来替换 B7085C8A_gpg_name 密钥 ID 值。这个值告诉 RPM 使用哪个签名。
要签注软件包 package-name-1.0-1.noarch.rpm,使用以下命令:
rpm --resign package-name-1.0-1.noarch.rpm
输入您的密码短语。要确认这个软件包是否签注,使用以下命令:
rpm --checksig -v package-name-1.0-1.noarch.rpm
您可以在输出中看到 Good signature from "Your Name",其中用与签注密钥关联的名称替换 Your Name

第 4 章 自定义频道和软件包管理

自定义频道允许系统管理员使用红帽网络构架部署由其机构构建和维护的软件包。所有频道和软件包管理的行动都可在 RHN 网站中的「频道」标签页进行。这里介绍的步骤可与《RHN 参考指南》中的 RHN 网站一章一起使用。

注意

在您的产品环境中部署没有经过测试的软件包可能会发生潜在的问题。因此,Red Hat 强烈推荐您创建覆盖选择系统的 beta 频道来进行测试。
例如,如果您有接受自定义软件包的网页服务器系统组群,请首先创建一个临时频道以便在代表系统的非关键子集中安装这些软件包。可以是开发或者临时服务器,而不是实际产品系统。请如 第 4.8 节 “删除软件频道” 所述步骤删除这些临时频道。

4.1. 频道管理特权

要执行这些频道管理任务,用户必须以频道管理员的身份获得适当的授权。可以在红帽网络网站中修改这些授权。机构管理员是最高级别的管理员,可为用户分配授权。可按如下方法为频道管理员分配特权:
  1. 作为机构管理员登录红帽网络网站。
  2. 在顶部浏览栏中,点击「用户」标签页,然后点击将要执行频道管理任务的用户名称。
  3. 在「用户详情」页中,找到「角色」项并选择「频道管理员」选择框。然后点该页底部的「提交」按钮。请注意,机构管理员 会自动获得频道管理特权。
  4. 登录到红帽网络网站,点顶部浏览栏中的「频道」标签页,并确定左面浏览栏中有「管理软件频道」按钮。

4.2. 管理软件频道

除了对有标准 RHN 管理级别用户有效的按钮和页面外,RHN Satellite 服务器 和 RHN Proxy 服务器的用户也可以访问左面浏览栏中的「管理软件频道」。按这个按钮会打开「软件频道管理」页面,所有的自定义软件频道管理的任务都可以在这个页面中完成。

警告

如果您同时使用 RHN Proxy 服务器和 RHN Satellite 服务器,您只能在 Satellite 中管理自定义频道和软件包。这是因为 Proxy 会直接从 Satellite 接收更新。用这种合并配置手动管理 Proxy 中的软件包和频道可能会导致您的服务器无法同步。
点击「软件频道管理」中的链接会进入「管理的软件频道详情」页面中的不同标签页。点频道名会打开「详情」标签页,而点它的软件包数会打开「软件包」标签页中的「列出/删除」子标签页。有关这些内容的完整解释请参考 第 4.3 节 “管理软件频道详情”

4.3. 管理软件频道详情

几乎所有自定义管理任务都可在「管理的软件频道详情」页中进行,点击左面导航栏中的「管理软件频道」并选择频道名进入该页面,然后选择要更改的频道名称。这个页面中有几个标签:
  • 详情」— 提供该频道的基本信息,比如它的上级频道、名称、概述和描述,有些信息是可修改的。另外,机构管理员 和频道管理员可以看到一个「每个用户订阅限制」组合选项。这表示允许任意用户在其中订阅系统的每个频道的默认行为。取消选择这个菜单并点击「更新频道」 按钮时会出现「订阅者」标签,可用它为该频道授予某些用户订阅权限。
  • 订阅者」— 显示有该自定义频道订阅权限的用户列表。这个标签只会在满足以下两种情况的条件下出现。首先,登录的用户必须是 机构管理员 或是频道管理员。其次,必须将「详情」标签页中的「每个用户订阅限制」组合选项设定为「只有您机构中选择的用户可在此频道中订阅」。这样可保证用户可在此频道订阅。在这个标签中选择允许在此频道中订阅系统的用户旁边的复选框并点击「更新」。请注意:那个 机构管理员 和频道管理员可自动获得所有频道的订阅访问。
  • 管理者」— 列出有自定义频道管理权限的用户。机构管理员 和频道管理员可以看到这个标签页。选择对此频道有完全管理权限用户旁的复选框,并点击「更新」。这个状态并不允许用户创建新频道。请注意,机构管理员 和频道管理员会自动获得所有频道的管理访问。
  • 勘误」— 提供与每个自定义频道关联的勘误。与红帽网络为红帽企业版 Linux 软件生成和发送勘误更新一样,您可将带最新编码的勘误更新发送到您的自定义频道中作为更新服务器的一部分。这个标签页包含允许您查看、添加、删除和克隆勘误的子标签页:「列出/删除」、「添加」和「克隆」。请注意,克隆勘误只能通过 RHN satellite服务器进行。
    • 列出/删除」— 显示目前所有与这个自定义频道关联的勘误并提供删除这些关联的方法。要从频道中删除勘误,选择要删除的勘误并点这个页右下角的「删除勘误」。然后会出现列出了需要删除的勘误列表的确认页面。点击「确认」按钮来完成这个动作。
    • 添加」— 允许在该频道中启用额外的勘误。会列车所有可能应用到此频道勘误。要在该频道中添加勘误,请选择适当的选择框并点击「添加勘误」。有关勘误管理的讨论请参阅 第 5 章 自定义勘误管理
    • 克隆」— 允许 Satellite 用户为克隆的频道复制勘误和关联的软件包。这个子标签会立刻出现在通过原始状态或选择勘误选项克隆的频道中。「克隆」标签还可随时获得为目标频道(即原始的频道)发布的勘误。针对使用当前状态选项克隆的频道也非常有用。有关克隆选项的讨论请参考 第 4.7 节 “克隆软件频道”
      要将勘误从目标频道包含到克隆的频道中,请从每个顾问的下拉菜单中选择「合并」或「克隆」。「合并」选项只会在勘误之前已经被克隆的情况下才存在。使用它可在不同频道间关联勘误并避免重复的项。使用「克隆」选项来创建新条目,例如在根据前克隆进行修改的时候。
      默认情况下,克隆的勘误会延续使用原始红帽顾问的标签,只是把前缀 “RH” 换为 “CL”。例如,RHSA-2003:324 变为 CLSA-2003:324。同一个顾问的后续克隆的第二个字母表示了它的顺序,如 “CM” 和 “CN”。这些标签可以在「管理的勘误详情」页进行修改。有关步骤请参考 第 5.2 节 “管理的勘误详情”
      除了「合并」选项,以前克隆的勘误还包括「拥有的勘误」栏中的值。勘误的标签会与其详情页关联。括号内的「pub」和「mod」标志表明克隆的勘误是否已经被发表或已被修改。标志前面的加号 「+」代表了肯定的意思,而标识前面的减号「-」代表了否定的意思。例如,「(-mod)」可能意味着一个软件包已经被删除。要找出更多关于发表和编辑自定义勘误的信息,请参阅 第 5.1 节 “管理勘误”
      要使克隆的频道不包含勘误,请在下拉菜单中选择「不做任何事情」。当对所做的设置满意后,点克隆勘误。在确认页中检查所做的设置并点更新勘误
    • 「同步」 — 显示没有包含在初始频道克隆但已经被更新的勘误软件包。在此页面中您可以使用当前勘误与您克隆的频道同步,只要选择所需复选框并点击「同步勘误」即可。
  • 软件包」— 提供与您的每个自定义频道关联的软件包。这个标签页包含允许您查看、添加和删除软件包的子标签页:「列出/删除」、「添加」和「比较」。
    • 列出/删除」— 显示了目前所有与这个自定义频道关联的软件包并提供取消这些关联的方法。要从频道中删除软件包,选择它们的选择框并点这个页右面的「删除软件包」按钮。此时会出现包含所有要删除的软件包列表的确认页会。点「确认」按钮完成这个动作。

      重要

      这个列表与「软件频道详情」页中的列表(它显示了这个数据库中存在的软件包的所有版本)不同,它只显示了最新版本。您可以通过删除最新的版本来转换到以前的版本。
    • 添加」— 允许在该频道中添加额外的软件包。要查看可用的软件包,在「查看」下拉菜单中选择一个选项并点「查看」。如果要把软件包加到您正在编辑的频道中,请选择适当的选择框并点「添加软件包」。有关此过程的讨论请参考 第 4.6 节 “为软件频道分配软件包”
    • 比较」— 允许比较不同的频道间的软件包列表。要查看他们之间的不同,请在「被比较的频道」下拉菜单中选择另外频道并点「比较」。此时会出现包含所有不属于这两个频道的所有软件包的列表,并标明每个现有频道的位置。
  • 「库」 — 选择「管理库」为该频道分配 yum 程序库并同步程序库内容。
    • 「添加/删除」 -- 列出配置的程序库。可通过选择程序库名称旁边的复选框并点击「更新程序库」来添加和删除程序库。
    • 「同步」 -- 列出配置的程序库。可使用下拉菜单设定同步方案,或者点击「现在同步」立即执行同步。

4.4. 管理软件包

除了在频道内添加和删除软件包之外,您还可以从数据库和文件系统中完全删除软件包。从文件系统中删除软件包会有小时的延迟。点左面浏览栏中的「管理软件包」进入「软件包管理」页并通过这一页完成删除操作。

警告

虽然从数据库中删除的软件包可以通过重新上传它们来恢复,但它们将丢失与所有勘误的关联。在重新上传后,您必须手动将其与勘误关联。有关步骤请参考 第 5 章 自定义勘误管理
从数据库中删除软件包:
  1. 进入「软件包管理」页,并从「查看」下拉菜单中选择包含该软件包的选项,点击 查看
  2. 选择正确的复选框并点击 删除软件包。此时会出现确认页面,里面有列出的软件包。点击「确认」删除整个软件包。
因为实际的软件包是保存在 RHN Proxy 服务器中,所以尽管可列出自定义软件包,但是无法通过 RHN 网站下载它们。客户端系统必须使用 up2date 来搜索它们。因为 RHN Satellite 服务器有它自己的网站,所以可通过 HTTP 或 Red Hat Update Agent 访问其自定义的软件包。要获得自定义软件包,必须在包含这些软件包的频道中订阅该客户端系统。

4.5. 创建软件频道

在将软件包上传到服务器之前,可生成自定义频道托管这些软件包。有关步骤请参考 第 6 章 上传及维护自定义软件包。上传完成后,可按如 第 4.6 节 “为软件频道分配软件包” 所述的方法通过网站重新分配这些软件包。
使用以下方法在红帽网络网站中创建频道:
  1. 以频道管理员的身份登录到红帽网络网站。
  2. 点顶部浏览栏中点击「频道」标签,然后点击左面浏览栏中的「管理软件频道」按钮。
  3. 在「软件频道管理」页中点右上角的「创建新软件频道」。RHN Satellite 服务器 管理员会看到一个「克隆频道」选项。有关步骤请参考 第 4.7 节 “克隆软件频道”
  4. 「新频道」页中,根据页面中的给出的步骤定义频道详情。多数频道管理动作都使用「频道标签」来确认频道,所以最好使用有意义的标签。请参考其它现有频道来获得详细的信息。
    GPG 密钥 URL」必须是服务器中保存密钥的位置(在客户端系统配置的过程中配置)。请参阅《红帽网络客户端配置指南》来获得详细的信息。GPG 密钥 ID 是唯一的标识符,如"DB42A60E",GPG 密钥的指纹会类似"CA20 8686 2BD6 9DFC 65F6 ECC4 2191 80CD DB42 A60E"。请注意,密钥 ID 与密钥指纹的最后八位相同。
  5. 完成后,点该页底部的「创建频道」按钮。

4.6. 为软件频道分配软件包

当开始上传软件包时,可将它们分配给一个自定义的频道、多个自定义的频道或者根本不为其分配频道。有关步骤请参考 第 6 章 上传及维护自定义软件包。上传完成后,可在自定义频道和无频道存储库间重新分配软件包。
可按以下步骤启用这些功能:
  1. 点击顶部导航条中的「频道」标签,然后在左侧导航栏中选择「管理软件频道」
  2. 「软件频道管理」页面中,点击要接收软件包的频道名称。
  3. 「已管理的软件频道详情」页面中,点击「软件包」标签,然后点击「添加」子标签。要将软件包与要被编辑的频道关联,请在「查看」下拉菜单中选择包含该软件包的选项,并点击「查看」

    注意

    没有显示已经与要编辑的频道关联的软件包。可在「没有在任何频道中的软件包」菜单项下找到没有分配给具体频道的软件包。选择「所有管理的软件包」显示所有可用软件包。
  4. 选择要分配到已编辑频道的软件包前面的复选框,并点击页面右下角的「添加软件包」。此时会出现确认页面,里面会列出软件包。
  5. 点击 确认 按钮将软件包与该频道关联。此时会在「管理的软件频道详情」页面中出现「列出/删除」子标签,其中会列出这些新软件包。
将软件包分配给某个频道后,就会更新勘误缓存。这些更新会有一些延迟,因此用户可能会在所有的改变都有效前就完成了对频道的编辑。要手动地把这些改变加入到缓存,点顶部的「列出/删除」子标签页中的「立刻提交您的修改」链接。

4.7. 克隆软件频道

RHN Satellite 服务器频道管理员还可以克隆软件频道以便简化软件包关联过程。克隆提供另一个频道的完整副本,立即将正确的软件包和勘误与自定义软件频道关联。
要使用此功能:
  1. 点击顶部导航条中的「频道」标签,然后在左侧导航栏中选择「管理软件频道」。这样您就可以进入「软件频道管理」页面。
  2. 点击右上角的「克隆频道」开始克隆。
    您将马上可以看到三个克隆选项:频道的当前状态、频道的原始状态或选择勘误。这些选项会在网页中有详细论述,在此概述如下:
    • 频道的当前状态」— 目前在目标频道中的所有勘误和最新的软件包。
    • 频道的原始状态」— 目标频道的所有原始软件包,但不包括勘误或相关的更新软件包。
    • 选择勘误」— 目标频道中的所有原始软件包。它可以不包括特定的勘误和相关的更新软件包。
  3. 选择「克隆」项中您需要的选项,在「克隆以下频道」下拉菜单中指定目标频道,并点「创建频道」
  4. 「新软件频道」页面,如 第 4.5 节 “创建软件频道” 所述填写。使用默认值即可。
  5. 点击 创建频道。如果选择最初或者当前选项,则会出现「管理的软件频道详情」「详情」页面。其他新频道设置步骤请参考 第 4.3 节 “管理软件频道详情”
    如果您使用选择的勘误选项来克隆频道,您会进入「管理的软件频道详情」页中的「克隆」子标签。在这个标签页中,您可以为克隆选择勘误和关联的软件包并包括新频道。具体步骤请参阅 第 4.3 节 “管理软件频道详情”

注意

有一个命令可根据日期克隆所有频道,这样可保证持续的可复制软件包组。这个命令就是 spacewalk-clone-by-date

4.8. 删除软件频道

RHN Satellite 服务器和 RHN Proxy 服务器管理员可以删除不使用的频道。这个动作要在「频道」「管理软件频道」页面中执行。点击该页面右上角的 删除软件频道 即可删除该频道。在以下页面中点击 删除频道 完成此操作。

注意

第 4.3 节 “管理软件频道详情” 中对「频道」「管理软件频道」页面有详细的论述。

重要

不会删除此频道中的软件包。要从 RHN Satellite 中删除软件包,请参考 第 4.4 节 “管理软件包”
在通过网站删除频道前请仔细考虑以下因素:
  • 即使删除了频道,该频道中的软件包将保留在该服务器中。有一个选项可在以后删除它们。
  • 删除频道后,所有与之关联的勘误都将被遗弃。
  • 如果存在子频道,Satellite 服务器就不会删除上级频道。请在删除上级频道前删除所有子频道。
  • 删除频道前必须断开或者删除与之关联的 kickstart 发布。
  • 如果 Proxy 中有频道与 Satellite 连接,则请删除 RHN Proxy 服务器中的那个频道。

第 5 章 自定义勘误管理

自定义勘误允许您在自定义频道中为软件包发布勘误警告。所有的勘误管理操作都在 RHN 网站中的「勘误」标签页中进行。这里介绍的内容可以和《Red Hat Network Reference Guide》的 RHN 网站一章的内容共同使用。

5.1. 管理勘误

除了标准的 RHN 管理级用户可用的按钮和页面外,RHN Satellite 服务器 和 RHN Proxy 服务器用户还可以访问左面浏览栏中的「管理勘误」。这个按钮会打开「勘误管理」界面,所有自定义勘误管理工作在这里完成。

警告

如果该机构同时使用 RHN Proxy 服务器和 RHN Satellite 服务器,则只需要在 Satellite 中管理勘误,因为 Proxy 服务器可直接从那里接收更新。在 Proxy 中管理勘误可能导致您的服务器无法同步。
点「勘误管理」列表中的一个顾问会进入「管理的勘误详情」 页面中的「详情」标签。有关的完整解释请参考 第 5.2 节 “管理的勘误详情”

5.1.1. 发表的勘误

默认情况下,当您点左面浏览栏中的「管理勘误」按钮时,会显示「发表的勘误」页。它显示了您的机构已经创建并发布的勘误警告。
要编辑现有公布的勘误,请按照 第 5.3 节 “创建和编辑勘误” 中执行。要发布此勘误,请点击「勘误详情」页面右上角的「发送通知」按钮,此时会将勘误警告发送给所有受影响系统的管理员。

5.1.2. 未公布的勘误

当您点左面浏览栏中的「管理勘误」下的 「未发布的」 按钮,将出现「没有发行的勘误」页。它显示了由您机构创建但还没有发表的勘误警告。
要编辑目前未发布的勘误,请按照 第 5.3 节 “创建和编辑勘误” 中的步骤执行。要发布此勘误,请点击「勘误详情」页面右上角的「发布勘误」按钮。然后您需要确认与该勘误相关的频道,并点击「发布勘误」按钮,这时按钮在右下角。这样就将勘误警告转换到「发布的」页面等待发送。

5.2. 管理的勘误详情

如果您点「发表」或「没有发表」页中的管理的勘误警告的顾问,会出现其「管理的勘误详情」页。这个页被进一步分为三个标签页:「详情」、「频道」和「软件包」。
  • 详情」 — 提供了在您创建它时输入的、关于自定义勘误的主要信息。这些信息包括概况、顾问名称和类型、相关的产品、已知的问题、描述、解决方法、关键字、参考信息和备注。如需改变这些信息,在相应项中进行修改后点「更新勘误」
  • 频道」— 显示与这个勘误关联的频道。要更改这些关联,选择或取消选择相关的选择框并点「更新频道」按钮。
  • 软件包」— 允许您管理与这个勘误关联的软件包。这个标签页包括了两个子标签页来允许您查看、添加和删除软件包:「列出/删除」和「添加」。
    • 列出/删除」— 显示所有当前与这个自定义勘误关联的软件包。要从勘误中删除软件包,选择它们的选择框并点击该页右下角的「删除软件包」按钮。此时和出现一个包含要被删除的软件包列表的确认页。点「确认」来完成此操作。
    • 添加」— 在勘误中添加额外的软件包。要查看可用的软件包,请在「查看」下拉菜单中选择一个选项并点「查看」按钮。要在您正在编辑的勘误中添加软件包,请选择适当的复选框并点 「添加软件包」 按钮。有关此过程的全面讨论请参考 第 5.4 节 “将软件包分配到勘误中”

5.3. 创建和编辑勘误

按照以下过程可以创建一个自定义勘误警告。
  1. 点顶部浏览栏中的「勘误」或点左面浏览栏中的「管理勘误」。在「勘误管理」页中,点「创建新勘误」
  2. 在「顾问」字段中输入有意义的标签,最好符合您的机构所使用的命名标准。请注意,这个标签不能以"RH"(无论是大写或小写)开始,这将会混淆自定义勘误和红帽发布的勘误。
  3. 输入所有需要输入的信息并点「创建勘误」按钮。您可以参考红帽勘误警告中的内容来完成需要输入的项。
RHN Satellite 服务器 管理员还可以通过克隆某个现有勘误来创建勘误。这个克隆的勘误会保持软件包关联并简化发布勘误的过程。具体步骤请参考 第 5.5 节 “克隆勘误”
要编辑一个存在的勘误警告的详情,在「勘误管理」页中点它的顾问,修改「详情」标签中需要修改的项后点「更新勘误」按钮。点「频道」标签页来改变勘误频道的关联。点「软件包」标签页来查看和修改它的软件包。
要删除勘误,在「勘误管理」页中选择它们,点「删除勘误」按钮并确认这个行动。请注意,删除发表的勘误会需要几分钟的时间。

注意

如果您希望在有适用于您系统的勘误警告发布时收到一个提示邮件,请使用 RHN 网站上的「您的 RHN」=>「您的首选项」并选择「接收电子邮件通知」。这个设置对您机构内的管理订阅系统的管理员非常有用。

5.4. 将软件包分配到勘误中

根据以下步骤将软件包分配到勘误中。
  1. 在选择了需要编辑的勘误后,点「软件包」子标签,然后点击「添加」子标签。
  2. 要将软件包与要编辑的勘误关联,请在「查看」下拉菜单中选择包括您希望关连的频道并点「查看」。那些已经与正在编辑的勘误关连的软件包不会被显示。如果需要选择所有有效的软件包,使用「所有管理的软件包」。
  3. 「查看」按钮,将出现相应的软件包列表。请注意,这个页的标题仍然列出了正在被编辑的勘误。
  4. 在列表中,选择要分配到这个勘误的软件包,点这个页右下角的「添加软件包」
  5. 此时会出现包含软件包列表的确认页。点「确认」按钮来把软件包和勘误关连。「管理的勘误详情」页的「列出/删除」子标签将出现并包括新软件包列表。
一旦软件包被分配到一个勘误,就会更新勘误缓存。这个更新会有一些延迟,所有用户可能会在这些改变有效前就已经完成了对一个勘误的编辑。要手动使这个改变在缓存中有效,请点击该页顶部的「立刻提交您的更改」按钮并按其中的步骤进行操作。

5.5. 克隆勘误

您可以为复制和发布部分 RHN Satellite 服务器 克隆勘误。只有那些可能会对您的频道有效的勘误才可以被克隆。 如果勘误可用于某个频道,那么也可用于此频道的克隆频道。要使用这个功能,点顶部浏览栏中的「勘误」,然后点左面浏览栏中的「克隆勘误」。只有 RHN Satellite 服务器 用户可以看到这个按钮。
在「克隆勘误」页中,从「查看」下拉菜单中选择包括这个勘误的频道并点「查看」。当勘误列表出现后,选择要克隆的勘误并点「克隆勘误」。一个包括了勘误列表的确认页将出现。点「确认」来完成克隆。
克隆的勘误会出现在您的未发表的勘误列表中。从这个列表中您可以检查勘误的内容以及与这个勘误相关的软件包。准备好后,您就可以发表勘误,您机构内的用户将可以使用它。

第 6 章 上传及维护自定义软件包

根据所使用的红帽网络服务,有两种不同的向专用频道上传软件包的机制。
RHN Proxy 服务器用户使用 RHN Package Manager 应用程序,它将软件包的头信息发送到中央红帽网络服务器并将软件包本身放置在调用 RHN Package Manager 的 Proxy 的本地库中。
RHN Satellite 服务器 用户使用 RHN Push 应用程序将软件包头文件信息发送到本地 RHN Satellite 服务器,并将软件包放置到调用 RHN Push 的 Satellite 服务器的本地库中。
本章会对这两个方法进行详细的论述。

警告

如果您同时使用 RHN Proxy 服务器和 RHN Satellite 服务器,您只需要使用 RHN Push。 Proxy- Satellite 的组合结构需要只将自定义软件包和频道上传到 Satellite 服务器, Proxy 从那里获得软件包并将它们发送到客户端系统。

6.1. 将软件包上传到 RHN Proxy 服务器

RHN Package Manager 可让机构通过 RHN Proxy 服务器服务与专用 RHN 频道关联的自定义软件包。如果该机构想要让 RHN Proxy 服务器只服务官方红帽企业版 Linux 软件包,则不要安装 RHN Package Manager
要使用 RHN Package Manager,请安装 rhns-proxy-package-manager RPM 软件包及其所依赖的软件包。这个软件包可用于注册的 RHN Proxy 服务器系统并使用 up2date rhns-proxy-package-manager 命令安装。

注意

只有软件包的头信息被上传到 RHN 服务器。为了解决客户端系统的依赖性问题,RHN 将需要这些头信息。实际的软件包文件(*.rpm)被存储在 RHN Proxy 服务器中,因此自定义软件包不能通过 RHN 网站下载(虽然它们在 RHN 网站上被列出)。客户端系统必须使用 up2date 命令来获得自定义软件包。

6.1.1. 配置并使用 RHN Package Manager

在可以使用 RHN Package Manager将软件包上传到 RHN 前,您首先需要手动将软件包复制到 Proxy 服务器。例如,在一台主机中运行 scp 命令:
scp foo.rpm root@rhnproxy.example.com:/tmp
使用 RHN Package Manager将软件包上传到红帽网络时,请将其指向您前面复制到服务器中的文件。

注意

在将软件包上传到红帽网络前,最少需要创建一个专用的频道来接收自定义软件包。这是因为系统需要一个频道来接收软件包。
使用以下命令来将软件包头上传到 RHN 服务器并将软件包复制到 RHN Proxy 服务器库:
rhn_package_manager -c label_of_private_channelpkg-list
label_of_private_channel 是用来接收这些软件包的自定义频道。请确认在创建过程中使用了正确的频道标签。如果您指定了一个或多个频道(使用 -c--channel),上传的软件包头会与所有指定的频道关联。如果您没有指定频道,会将这些软件包放在「软件包管理」页中的「不属于任何频道」项中。有关重新分配软件包的步骤请参考 第 4.6 节 “为软件频道分配软件包”
pkg-list 代表了要被上传的软件包列表。这些软件包必须被物理地复制到 Proxy。或者,您可以使用 -d 选项来指定包括了要被添加到频道中的软件包的本地目录。RHN Package Manager 还可以从标准输入(使用--stdin)中读取软件包列表。
可在配置文件中指定其它选项,如红帽网络服务器的 URL、HTTP 代理服务器的用户名和密码(如果您的 HTTP 代理服务器需要进行验证)以及软件包存在的顶级目录。这些特殊的信息一定不能被编辑,其位置为 /etc/rhn/default/rhn_proxy_package_manager.conf。您可以通过在主配置文件 /etc/rhn/rhn.conf 中的设置覆盖默认配置文件中的设置,也可以通过 RHN Package Manager的命令行选项来覆盖它的设置。
本文件中没有设置的参数可从目前登录用户主目录的 .rhn_package_manager 文件中读取,也可最终从 /etc/rhn/rhn_package_manager.conf 文件中读取。请确认这些文件有正确的权限设置来防止其他用户读这些文件。
在上传软件包后,检查本地目录是否已经和 RHN 服务器的频道映像同步:
rhn_package_manager -s -c name_of_private_channel
使用 -s 选项会列出所有“丢失的”软件包。丢失的软件包是指那些被上传到 RHN 服务器但没有出现在本地目录中的软件包。您必须是一个 机构管理员 才可以使用这个选项。这个应用程序会提示您输入您的 RHN 用户名和密码。
--copyonly 选项将这里列出的文件复制到指定的频道中,而不上传到 Satellite。当 RHN Proxy 服务器中的一个频道丢失了一些软件包,而您又不想重新导入这个频道中的所有软件包时,这个选项将非常有用。
rhn_package_manager -c channel-name --copyonly /path/to/missing/file
您还可用使用 RHN Package Manager 在频道中搜索软件包列表,因为它们是被保存在 RHN 服务器中的:
rhn_package_manager -l -c name_of_private_channel
-l 选项列出了指定频道中的每个软件包的软件包名、版本号、发行号和构架。其它选项请参考 表 6.1 “rhn_package_manager 选项”
表 6.1 “rhn_package_manager 选项”RHN Package Manager (rhn_package_manager) 命令行选项总结:

表 6.1. rhn_package_manager 选项

选项 描述
-v, --verbose 增加标准输出信息的详细程度。
-d, --dir DIRECTORY_NAME 从这个目录中获得软件包。
-c, --channel CHANNEL_NAME 指定频道来接收软件包。重复使用(如-c channel_one -c channel_two)可以指定多个频道。
-n, --count NUMBER 每次调用只处理这里指定的数量的头信息 — 默认值是 32。
-l, --list 列出指定频道中的软件包。
-s, --sync 检查本地目录是否与服务器同步。
-p, --printconf 输出当前的配置并退出。
--newest 只 push 那些比这个服务器上的软件包更新的软件包。请注意,源码软件包间不会进行版本比较。它们的版本的新旧是由与它们相对应的二进制软件包决定的。在 RHN Package Manager中使用这个选项时只上传一个源码软件包。在上传相应的二进制软件包前,这个源码软件包不会出现在 RHN 网站界面中。这与 --source 相反。使用 --source --newest 将会使用较新的软件包的源码软件包进行更新,并不需要首先上传对应的二进制软件包。
--source 上传指定的源码软件包。这个选项会将源码软件包作为一般的、独立的软件包处理而 将它们作为特殊的源码软件包来和其它预先存在的二进制软件包关连。例如,如果您想将应用程序的源代码发送给开发人员或测试人员时,可以使用这个选项。
--stdin 从标准输入中读取软件包名。
--nosig 即使软件包没有被签注,也允许操作继续。
--no-ssl 禁用 SSL(不推荐使用)。
--stdin 从标准输入中读取软件包名。
--username USERNAME 指定 RHN 用户名。如果没有提供,您将会被要求输入一个有效的频道管理员的用户名。
--password PASSWORD 指定 RHN 密码。如果没有提供,您将会要求输入一个有效的频道管理员密码。
--dontcopy 在上传后的步骤中,不要将软件包复制到它们在软件包树的最终位置上。
--copyonly 只复制软件包,不重新导入它们。
--test 只显示被 push 的软件包列表。
-?, --help 显示包括选项列表的帮助信息。
--usage 简单地描述可用的选项。
--copyonly 只复制软件包

注意

关于这些选项的描述也可以在 rhn_package_manager 的说明书页:man rhn_package_manager 中获得。

6.2. 将软件包上传到 RHN Satellite 服务器

RHN Push 可让机构通过 RHN Satellite 服务器服务与专用 RHN 频道关联的自定义软件包。如果该机构想要让 RHN Proxy 服务器只服务官方红帽企业版 Linux 软件包,则不要安装 RHN Push
要使用 RHN Push,请安装 rhnpush 软件包及其依赖的软件包。这个软件包对注册的 RHN Satellite 服务器 系统有效并通过运行 up2date rhnpush 来安装。
RHN Push 将 RPM 的头信息上传到 RHN Satellite 服务器 的数据库中并将 RPM 放置在 RHN Satellite 服务器 的软件包库中。与 RHN Proxy 服务器的 RHN Package Manager 不同,RHN Push 不会在 RHN Satellite 服务器 数据库外发布软件包信息(包括标头信息)。

注意

如果您安装的 Satellite 启动了对 Solaris 操作系统的支持,您可以使用 RHN Push从一个 Solaris 客户端系统上将 Solaris 软件包的内容上传到自定义的 Solaris 频道。

6.2.1. 配置 RHN Push 应用程序

安装 RHN Push 后,会在 /etc/sysconfig/rhn/rhnpushrc 中安装一个中央配置文件。这个文件包含 表 6.2 “rhnpush 选项” 中的所有选项的值。
当用户需要从不同的目录中运行 rhnpush 时,这些不同的配置文件将非常有用。在当前目录(./.rhnpushrc)中的设置会覆盖用户主目录(~/.rhnpushrc)中的设置,而主目录中配置文件的设置会覆盖中央配置文件(/etc/sysconfig/rhn/rhnpushrc)中的设置。
例如:可使用当前目录配置文件指定:
  • 要推广的软件频道
  • 包含要调用的用户名的主目录配置文件
  • 识别要接收软件包的服务器的中央配置文件
表 6.2 “rhnpush 选项” 包括了 rhnpush 命令的所有命令行选项:

表 6.2. rhnpush 选项

选项 描述
-v --verbose 重复使用这个选项可以增加输出信息的详细程度,如 -vv-vvv
-d, --dir DIRECTORY 从这个目录中获得软件包。
-c, --channel=CHANNEL_LABEL 指定接收软件包的频道。请注意,需要这个选项,且与频道名称不同。重复使用可以指定多个频道 -c(例如:-c CHANNEL_ONE -c CHANNEL_TWO)。
-n, --count N_HEADERS_PER_CALL 每次调用只处理这里指定数量的头。它必须是一个整数,默认的值为25。
-l, --list 只列出指定的频道。
-r, --reldirRELATIVE_DIRECTORY 每个文件的路径都是基于这个目录的相对路径。
-o, --orgidORGANIZATION_ID 您机构的 ID。必须是一个整数。
-u , --username USERNAME 对这个特殊频道有管理权限的用户的 RHN 用户名。如果没有提供,rhnpush 将提示输入一个有效的频道管理员的用户名。这个用户名和密码会在 ~/.rhnpushcache 中保存一定时间,默认的时间是 5 分钟。使用 --new-cache 来强制缓存一个新用户名和密码。
-p , --password PASSWORD 对这个特殊频道有管理权限的用户的 RHN 密码。如果没有提供,rhnpush 将提示输入一个有效的频道管理员的密码。这个用户名和密码会在 ~/.rhnpushcache 中保存一定时间,默认的时间是 5 分钟。使用 --new-cache 来强制缓存一个新用户名和密码。
-s, --stdin 从标准输入中获得软件包列表,例如从一个经过 pipe 的 ls 命令中获得软件包列表。
-X, --exclude GLOB 不包括与这个全局正则表达式匹配的软件包。
--force 强制上传一个软件包,即使有同样名称和版本号的一个软件包已经存在在频道中。如果没有使用这个选项,在上传一个已经存在的软件包时将会产生一个错误。
--nosig 即使软件包没有被签注,也允许操作继续。
--new-cache 强制 RHN Push不使用缓存中的用户名和密码,并要求输入一个新的用户名和密码。如果您以前输入了错误的用户名和密码,这个选项将非常有用。
--newest 只 push 那些比这个服务器上的软件包更新的软件包。请注意,源码软件包间不会进行版本比较。它们的版本的新旧是由与它们相对应的二进制软件包决定的。在 RHN Push 中使用这个选项时只上传一个源码软件包。在上传相应的二进制软件包前,这个源码软件包不会出现在 RHN 网站界面中。这与 --source 相反。使用 --source --newest 将会使用较新的软件包的源码软件包进行更新,并不需要首先上传对应的二进制软件包。
--header 只上传头信息。
--source 上传指定的源码软件包。这个选项会将源码软件包作为一般的、独立的软件包处理而 将它们作为特殊的源码软件包来和其它预先存在的二进制软件包关连。例如,您可在要将程序源发送给常规源控制管理以外的开发者或者测试人员时可使用这个方法。
--server SERVER 指定软件包要被上传到的服务器。当前,需要一个 http://localhost/APP 值。这个参数是必需的。
--test 只显示要被 push 的软件包列表,而并不实际操作。
-h, --help 选项的简单描述。
-?, --usage 查看使用概述。

注意

这些命令行选项也可以在 rhnpush 的手册页:man rhnpush 中获得。

6.2.2. 使用 RHN Push 应用程序

注意

因为系统需要一个频道来接收软件包,因此推荐您在上传之前最少创建一个专用频道来接收自定义软件包。
以下的命令会将软件包上传到 RHN Satellite 服务器 并将软件包复制到 RHN Satellite 服务器 软件包存储库中:
rhnpush -c label_of_private_channelpkg-list
在命令行中指定选项和数值即可覆盖 RHN Push 配置文件设置:
rhnpush -c label_of_private_channel --server=localhost pkg-list
label_of_private_channel 是用来接收这些软件包的自定义频道。请确认在创建过程中使用了正确的频道标签。如果您指定了一个或多个频道(使用 -c--channel),上传的软件包头会与所有指定的频道关联。如果您没有指定任何频道,会将这些软件包放在「软件包管理」页中的「不属于任何频道」项中。有关重新分配软件包的步骤请参考 第 4.6 节 “为软件频道分配软件包”
--server 选项指定了要安装这个软件包的服务器。这个选项是必需的。RHN Push 可以在一个外部系统上安装,但推荐在RHN Satellite 服务器 本地运行 RHN Push
pkg-list 代表了被上传的软件包列表。另外,还可以使用 -d 选项来指定本地的、包括了需要被添加到频道中的软件包的目录。RHN Push 也可以从标准输入(使用--stdin)中获得软件包列表。

附录 A. 修订记录

修订历史
修订 8-4.3.4002013-10-31Rüdiger Landmann
Rebuild with publican 4.0.0
修订 8-4.3Fri Mar 14 2013Leah Liu
完成翻译、校对
修订 8-4.1Wed Nov 21 2012Terry Chuang
翻译文件与源 8-4 同步
修订 8-4Wed Sept 19 2012Dan Macpherson
为版本 5.5 最终打包
修订 8-3Fri Aug 17 2012Athene Chan
BZ#768267 在 4.8 小节添加重要备注
修订 8-2Fri Aug 17 2012Athene Chan
微调。
修订 8-1Fri Aug 17 2012Athene Chan
BZ#768267 编辑 "删除软件频道" 一节。
修订 8-0Tue June 26 2012Athene Chan
为发布 RHN Satellite 5.5 准备第 1-4 章
为发布 RHN Satellite 5.5 准备第 5-6 章
BZ#768267 修改频道删除以及对软件包影响的内容
包括技术预览编辑
修订 7-0Thu May 24 2012Athene Chan
BZ#798415 更新 RPM 链接。
修订 6-3Mon Aug 15 2011Lana Brindley
将 z-stream 发行本与 y-stream 发行本合并
修订 6-2Wed Jun 15 2011Lana Brindley
准备发布
修订 6-1Fri May 27 2011Lana Brindley
更新
修订 6-0Fri May 6 2011Lana Brindley
准备翻译
修订 5-8Thu May 5 2011Lana Brindley
BZ#701846 - QE 审核
修订 5-7Wed April 27 2011Lana Brindley
BZ#637722 - QE 审核
修订 5-6Thu March 24 2011Lana Brindley
BZ#637722 - 频道和软件包管理
BZ#679529 - 软件包维护

索引

符号

「管理的频道详情」,管理软件频道详情
上传软件包,上传及维护自定义软件包
勘误警告
克隆,克隆勘误
公布的管理,发表的勘误
生成并编辑,创建和编辑勘误
管理,自定义勘误管理
管理未发布的,未公布的勘误
如何
克隆频道,克隆软件频道
发布非 RPM 软件包,将软件包上传到 RHN Satellite 服务器
将缺少的软件包复制到 Satellite,配置并使用 RHN Package Manager
将软件包上传到 RHN Proxy Server,将软件包上传到 RHN Proxy 服务器
搜索频道软件包列表,配置并使用 RHN Package Manager
构建自定义软件包,为红帽网络构建软件包
生成 GnuPG 密钥,生成 GnuPG 密钥对
配置 RHN Package Manager,配置并使用 RHN Package Manager
配置 RHN Push,配置 RHN Push 应用程序
是什么
RPM 的优点,RPM 的优点
管理勘误
查看详情,管理的勘误详情
管理的软件频道
详情,管理软件频道详情
网页
管理软件频道,管理软件频道详情
自定义软件包,构建自定义软件包
上传到 RHN Satellite 服务器,将软件包上传到 RHN Proxy 服务器将软件包上传到 RHN Satellite 服务器
构建,为红帽网络构建软件包
指南,RHN RPM 指南
签名,签注软件包
软件
频道管理,管理软件频道详情
软件包
Solaris 和 UNIX,将软件包上传到 RHN Satellite 服务器
频道
克隆,克隆软件频道
删除,删除软件频道
简介,RHN 频道简介

G

GnuPG 密钥
生成,生成 GnuPG 密钥对
签名的软件包,签注软件包
gpg 密钥,生成 GnuPG 密钥对

R

RHN Package Manager,将软件包上传到 RHN Proxy 服务器
rhn_package_manager,配置并使用 RHN Package Manager
上传软件包标头,配置并使用 RHN Package Manager
使用,使用 RHN Push 应用程序
安装,将软件包上传到 RHN Proxy 服务器
将缺少的软件包复制到 Satellite,配置并使用 RHN Package Manager
搜索频道软件包列表,配置并使用 RHN Package Manager
配置,配置 RHN Push 应用程序
配置文件,配置并使用 RHN Package Manager
频道,指定,配置并使用 RHN Package Manager
验证本地软件包列表,配置并使用 RHN Package Manager
RHN Push
安装,将软件包上传到 RHN Satellite 服务器
频道,指定,使用 RHN Push 应用程序
rhn_package_manager,配置并使用 RHN Package Manager
(参见 RHN Package Manager)
命令行选项,配置并使用 RHN Package Manager
rhn_package_manager.conf,配置并使用 RHN Package Manager
RPM
优点,RPM 的优点
RPM 软件包管理器 (见 RPM)

法律通告

Copyright © 2010 Red Hat, Inc.
This document is licensed by Red Hat under the Creative Commons Attribution-ShareAlike 3.0 Unported License. If you distribute this document, or a modified version of it, you must provide attribution to Red Hat, Inc. and provide a link to the original. If the document is modified, all Red Hat trademarks must be removed.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat Software Collections is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation's permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.