Red Hat Training

A Red Hat training course is available for Red Hat Satellite

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 中获得。