Red Hat Training
A Red Hat training course is available for Red Hat Satellite
6.2. 将软件包上传到 RHN Satellite Server
RHN Push 应用程序允许您通过 RHN Satellite Server 提供一个与专用 RHN 频道关联的自定义软件包。如果您只希望 RHN Satellite Server 提供 Red Hat Enterprise Linux 正式发行的软件包,您就并不需要安装 RHN Push。
要使用 RHN Push,请安装
rhnpush
软件包及其依赖的软件包。这个软件包对注册的 RHN Satellite Server 系统有效并通过运行 up2date rhnpush
来安装。
RHN Push 将 RPM 的头信息上传到 RHN Satellite Server 的数据库中并将 RPM 放置在 RHN Satellite Server 的软件包存储库中。与 RHN Proxy Server 的 RHN Package Manager不同,RHN Push 不会在 RHN Satellite Server 数据库外发布软件包信息(包括头信息)。
注意
如果您安装的 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
中获得。