第 5 章 RHN Package Manager 以及提供本地软件包
RHN Package Manager 是一个命令行工具,可允许机构通过 RHN Proxy 服务器提供与专用 RHN 频道关联的本地软件包。如果只要为 RHN Proxy 服务器更新官方红帽软件包,则不要安装 RHN Package Manager。
要使用 RHN Package Manager,需要安装
spacewalk-proxy-package-manager 及其相依软件包。
只有软件包的标头信息会被上传到 RHN 服务器。RHN 需要标头信息来为客户端系统解决依赖性问题。实际的软件包文件(
*.rpm)被保存在 RHN Proxy 服务器中。
RHN Package Manager 和 Proxy 使用相同的设置,这些设置在
/etc/rhn/rhn.conf 配置文件中定义。
RHN Package Manager
rhn_package_manager 所有命令行选项的小结:
| 选项 | 描述 |
|---|---|
-v, --verbose | 输出详细信息。 |
-dDIR, --dir=DIR | 从目录 DIR 中获得软件包。 |
-cCHANNEL, --channel=CHANNEL | 管理这个频道 — 可以指定多个频道。 |
-nNUMBER, --count=NUMBER | 每个调用处理的标头信息数量 — 默认值是 32。 |
-l, --list | 列出指定频道中的每个软件包的软件包名、版本号、发行版本和体系结构。 |
-s, --sync | 检查本地目录是否与服务器同步。 |
-p, --printconf | 输出当前的配置并退出。 |
-XPATTERN, --exclude=PATTERN | 不包括满足这个表达式条件的文件 — 可以包括多个表达式。 |
--newest | 对于指定频道,只 push 那些比已经推到服务器上的软件包新的软件包。 |
--stdin | 从 stdin 中读取软件包名。 |
--nosig | Push 没有签注的软件包。默认情况下,RHN Package Manager 只 push 签注的软件包。 |
--username=USERNAME | 指定您的 RHN 用户名。如果您在这个选项中没有提供用户名,您将会被提示输入。 |
--password=PASSWORD | 指定您的 RHN 密码。如果您在这个选项中没有提供密码,您将会被提示输入。 |
--source | 上传源码软件包标头。 |
--dontcopy | 在上传后的处理步骤中,不把软件包复制到它们在软件包树中的最终位置上。 |
--test | 只显示被 push 的软件包。 |
--no-ssl | 不推荐使用 — 关闭 SSL。 |
-?, --usage | 对选项的简单描述。 |
--copyonly | 将在参数中列出的文件复制到指定的频道。当一个代理服务器缺少了一个软件包,而您又不想重新输入这个频道中所有软件包时,这个选项非常有用。例如,rhn_package_manager -cCHANNEL--copyonly /PATH/TO/MISSING/FILE。 |
-h, --help | 显示帮助屏幕并列出选项列表。 |
注意
这些命令行选项的描述也可以在
rhn_package_manager 的 man page 中找到:man rhn_package_manager。
要让 RHN Package Manager 可以提供本地软件包,则需要执行以下步骤:
- 创建一个专用频道
- 将本地软件包上传到该频道。
下一节中将进一步讨论这些步骤。
5.1. 创建专用频道 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
在通过 RHN Proxy 服务器提供本地软件包前,需要将其保存在专用频道中。请执行以下步骤来创建专用频道:
- 登录到 RHN 网站界面 https://rhn.redhat.com。
- 点击上部浏览条中的「频道」标签。如果「管理频道」选项没有出现在左面的导航栏中,请确认这个用户有编辑频道的授权设定。您可以通过上面导航条中的「用户」类别来设置需要的权限。
- 点击左面浏览条中的「管理软件频道」,然后点击本页右上角的按钮。
- 选择一个上级频道和基本频道结构,然后输入新专用频道的频道名、频道标签、总览和描述。频道标签必须最少由 6 个字符组成,以一个字母开始并只能包括小写字母、数字、破折号(-))点(.)。输入这个频道的 GPG 密钥的 URL。虽然这个项不是必需的,但为了增加安全性,我们推荐使用它。有关生成 GPG 密钥的方法,请参阅《RHN 频道管理指南》。
- 点击。