系统管理指南:基本管理

第 17 章 使用 Oracle Solaris 自动注册的 regadm 命令(任务)

本章介绍如何使用 regadm 命令,该命令是 Oracle Solaris 自动注册新特性的组成部分,从 Oracle Solaris 10 9/10 开始即具备该新特性。

自动注册是一项内置机制,用于收集系统配置数据并自动通过 Oracle 产品注册系统注册以达到管理系统产品清单和支持的目的。特权系统管理员可通过运行 regadm 命令行界面 (CLI),管理自动注册特性以及独立于安装或升级过程注册系统。


注 –

本章提供有关安装或升级过程中自动注册的详细信息。也未包含哪些安装方法和配置支持自动注册的相关信息。

有关自动注册的概述信息以及有关该特性在安装过程中如何运行的详细信息,请参见《Oracle Solaris 10 9/10 安装指南:规划安装和升级》中的“Oracle Solaris 自动注册”


以下列出本章所介绍的信息:

Oracle Solaris 自动注册(概述)

Oracle Solaris 自动注册是一项 Oracle Solaris 10 9/10 内置机制。本机制可以将有关系统的基本资产信息,也称为服务标签,在安装或升级后的重新引导中传送到 Oracle 产品注册系统,当系统配置发生变化时,也会在之后的重新引导中再次传送。Oracle 产品注册系统由部署在公共 Internet 上的 Web 服务组成。这些服务负责实现系统资产注册。Oracle 利用该信息来改进自身产品和服务。用户也可以检索和使用该信息以更有效地管理系统产品清单。

自动注册使用现有的服务标签技术,该技术可在网络上查找系统资产,然后将其注册在本地注册表中。服务标签包含系统上所安装产品的有关信息,例如,OS 版本信息和硬件配置信息。每个服务标签描述一个不同产品。要启用服务标签发送功能,请使用 My Oracle Support 凭证。有关更多信息,请参见 如何注册您的 Oracle Solaris 10 9/10 系统

有关如何使用服务标签的更多信息,请转至 http://wikis.sun.com/display/ServiceTag/Download+OS+Service+Tag

有关服务标签的一般信息,请参见 stclient(1M) 手册页。

常见问题解答以及有关如何获取 My Oracle Support 初始访问权限的信息,请转至 http://www.oracle.com/us/support/044753.html#SS6

如何注册您的 Oracle Solaris 10 9/10 系统

Oracle 通过在安装或升级前或过程中收集的支持凭证和网络连通性信息,将产品注册和指定用户帐户相关联。同时,在安装后通过运行 regadm auth 命令也可提供支持凭证。请参见 通过指定命名的支持凭证验证用户。如果未指定支持凭证和网络连通性信息,自动注册过程会建立一个直接的 HTTP 网络连接(无代理)并匿名注册。

通过指定支持凭证注册系统,必须要有有效的 My Oracle Support 帐户或 Sun 联机帐户。支持凭证由用户名和口令组成,允许您获得 Oracle 的支持门户和 Oracle 产品注册系统验证。

有关获得 My Oracle Support 帐户的信息,请转至 http://www.oracle.com/support/premier/myoraclesupport.html

有关获得 Sun 联机帐户的信息,请转至 https://reg.sun.com/register

运行 Oracle Solaris 10 9/10 时,可按以下方式提供支持凭证:

何时以及如何传送服务标签数据

自动注册由 svc:/application/autoreg SMF 服务管理。该服务在引导时运行一次,以检查系统配置中的更改。

当系统配置发生变化时,服务标签数据将自动发送到 Oracle 产品注册系统,按如下方式进行:

要获得已注册产品的有关信息,请转至 https://inventory.sun.com/inventory/data.jsp。有关服务标签的一般信息,请转至 http://wikis.sun.com/display/ServiceTag/Download+OS+Service+Tag

管理自动注册配置

安装或升级后,可使用 regadm 命令管理自动注册配置。

安装后,特权系统管理员可使用 regadm 命令执行下列任务:

有关更多信息,请参见 regadm(1M) 手册页。

有关与任务相关的信息,请参见使用 regadm 命令注册系统

自动注册过程如何运行

系统重新引导过程中,“自动注册”SMF 服务根据“服务标签”注册表中的信息查看上一次重新引导后,系统配置是否发生更改。如果有更改,最新安装产品的服务标签(例如,Oracle Solaris 10 9/10 OS)将发送到 Oracle 产品注册系统并用已记录的支持凭证注册,如果未曾提供支持凭证,则匿名注册。数据通过使用“超文本安全传输协议”(HTTPS) 连接发送。如果重新引导过程中,没有发现系统配置更改,则不执行任何注册。

虽然在缺省情况下自动注册特性已启用,但您也可选择禁用该特性。有关信息,请参见 如何禁用自动注册 SMF 服务


注 –

自动注册 SMF 服务 在全局区域运行。


除自动注册 SMF 服务外,自动注册过程包括其他一些组件,这些组件在运行中相互配合,对系统资产的自动注册有一定影响。下图显示了这些组件及其之间的相互关系。

图形显示了组成 Oracle Solaris 自动注册的组件以及这些组件相互配合的方式。

自动注册包括下列组件:

regadm 命令入门

以下信息将帮助您了解如何使用 regadm 命令管理自动注册的入门知识。

何时使用 regadm 命令行界面

在以下情况中,您可能需要使用 regadm 命令:

使用 regadm 命令的要求

以下是使用regadm 命令的要求:

管理自动注册 SMF 服务

自动注册特性由 SMF 服务管理。缺省情况下将启用该服务。您可使用 regadm disable 命令手动禁用该项服务。以下步骤描述如何管理自动注册 SMF 服务。


注 –

自动注册 SMF 服务在全局区域运行。


表 17–1 管理自动注册 SMF 服务(任务图)

任务 

说明 

参考 

显示自动注册 SMF 服务状态。 

可以使用 regadm 命令查看确认自动注册 SMF 服务是否正在运行。注意:缺省情况下启用服务。

如何确认是否启用了自动注册 SMF 服务

禁用自动注册 SMF 服务。 

如果您不想注册,或想推迟注册,可使用 regadm 命令选择禁用自动注册 SMF 服务。

如何禁用自动注册 SMF 服务

启用自动注册 SMF 服务。 

如果您之前禁用了自动注册 SMF 服务,必须在注册系统前启用该项服务。 

如何启用自动注册 SMF 服务

Procedure如何确认是否启用了自动注册 SMF 服务

  1. 成为超级用户或同等角色。

    角色包含授权和具有一定权限的命令。有关角色的更多信息,请参见《系统管理指南:安全性服务》中的“配置 RBAC(任务列表)”

  2. 显示自动注册服务的当前状态。


    # regadm status
    Solaris Auto-Registration is currently enabled

Procedure如何禁用自动注册 SMF 服务

“自动注册”特性在缺省情况下已启用。您可使用 regadm disable 命令手动禁用该项服务。

  1. 成为超级用户或同等角色。

  2. 显示自动注册服务的当前状态。


    # regadm status
    Solaris Auto-Registration is currently enabled
  3. 禁用自动注册服务。


    # regadm disable
    
  4. 验证是否已禁用该项服务。


    # regadm status
    Solaris Auto-Registration is currently disabled

Procedure如何启用自动注册 SMF 服务

  1. 成为超级用户或同等角色。

  2. 显示自动注册服务的当前状态。


    # regadm status
    Solaris Auto-Registration is currently disabled
  3. 启用自动注册服务。


    # regadm enable
    
  4. 验证是否已启用该项服务。


    # regadm status
    Solaris Auto-Registration is currently enabled

使用 regadm 命令配置自动注册特性

可使用 regadm 命令配置自动注册和查看具体配置信息。注意:一些配置任务(例如,验证)必须在系统注册执行。有关更多信息,请参见 注册前要求执行的任务

表 17–2 配置自动注册属性(任务图)

任务 

说明 

参考 

显示当前自动注册配置。 

使用 regadm list 命令显示当前自动注册配置。使用该命令可显示用户帐户凭证和网络连通性信息。

显示当前自动注册配置

清除当前自动注册配置。 

使用 regadm clear 命令重置当前自动注册配置。注意:本过程中已清除全部属性。

如何清除当前自动注册配置

配置 HTTP 代理和端口设置。 

使用 regadm set 命令配置网络连通性信息。

如何配置 HTTP 代理和端口设置。

配置 HTTP 代理验证设置。 

也可按照您站点的策略和要求,使用 regadm set 命令配置 HTTP 代理验证设置。

如何配置 HTTP 代理验证设置

通过指定命名的支持凭证使用 My Oracle Support 验证一个指定用户或帐户。 

如果您想要将已注册系统与指定用户或帐户相关联,可使用 regadm auth 命令。

如何通过指定命名的支持凭证验证用户

注册前要求执行的任务

使用 regadm 命令注册系统的过程包括在注册收集信息和执行某些任务。以下是任务流程:

  1. 如有需要,按照站点策略配置 HTTP 代理信息。

  2. 如有需要,按照站点策略配置 HTTP 代理验证信息。

    有关如何配置 HTTP 代理设置的信息,请参见 配置自动注册属性

  3. 选择注册方法。

    您可采用两种方法中的一种进行注册,即指定命名的支持凭证或匿名注册:

显示当前自动注册配置

要显示当前已经过验证的用户名和网络连通性信息,请使用 regadm list 命令,如下所示:


# regadm list

如果您需要重置所有属性设置来进行配置,请使用 regadm clear 命令。有关信息,请参见 如何清除当前自动注册配置

以下是自动注册多种配置的一些示例。


示例 17–1 已验证的用户(无代理)


# regadm list
        My Oracle Support username      user@example.com
        HTTP Proxy                      <not configured>
        HTTP proxy port                 <not configured>
        HTTP proxy user                 <not configured>
        HTTP proxy password             <not configured>


示例 17–2 已验证的用户(无需验证的开放代理)


# regadm list
        My Oracle Support username      user@example.com
        HTTP Proxy                      webproxy.example.com
        HTTP proxy port                 8080
        HTTP proxy user                 <not configured>
        HTTP proxy password             <not configured>


示例 17–3 已验证的用户(要求验证的代理)


# regadm list
        My Oracle Support username      user@example.com
        HTTP Proxy                      webproxy.example.com
        HTTP proxy port                 8080
        HTTP proxy user                 webuser
        HTTP proxy password             ******

Procedure如何清除当前自动注册配置

清除当前配置后,所有自动注册属性即被设置为缺省设置。此操作的效果与出厂设置基本一样。

  1. 成为超级用户或同等角色。

  2. 列出当前自动注册配置。


    # regadm list
    
  3. 清除当前自动注册配置。


    # regadm clear
    
  4. 验证当前配置是否已清除。


    # regadm list
    

    当前输出项显示所有属性值的缺省设置。缺省属性值是 not configured


示例 17–4 清除当前自动注册配置

以下示例中,使用了 regadm clear 命令清除当前自动注册配置的属性值。


# regadm list
        My Oracle Support username      user@example.com
        HTTP Proxy                      webproxy.example.com
        HTTP proxy port                 8080
        HTTP proxy user                 webuser
        HTTP proxy password             ******
# regadm clear
# regadm list
        My Oracle Support username      <not configured>
        HTTP Proxy                      <not configured>
        HTTP proxy port                 <not configured>
        HTTP proxy user                 <not configured>
        HTTP proxy password             <not configured>

配置自动注册属性

下列自动注册属性可使用 regadm 命令进行配置:

使用 regadm clear 命令可更改之前配置的 HTTP 代理和端口设置或重置到直接网络连接。有关说明,请参见 如何清除当前自动注册配置

Procedure如何配置 HTTP 代理和端口设置。

如果您之前使用直接网络连接注册了系统,或正在执行一个新注册,则可能需要在注册系统前配置 HTTP 代理和端口设置。

  1. 成为超级用户或同等角色。

  2. 设置 HTTP 代理。


    # regadm set -n http_proxy -v webproxy-host
    

    Web 代理可以是一个 IP 地址、非完全限定主机名或完全限定主机名。

  3. 设置 HTTP 端口。


    # regadm set -n http_port -v port-number
    

Procedure如何配置 HTTP 代理验证设置

即使您的站点执行 HTTP 代理验证,也必须配置 HTTP 代理验证设置(用户名和口令)。在文本文件中口令必须单列一行进行指定,然后才能传送给 regadm 命令。以下步骤介绍如何在使用中保护口令文件。此文件应在运行 regadm 命令后立即删除。

regadm 命令在两种情况下接收口令文件:

  1. 成为超级用户或同等角色。

  2. 设置 HTTP 代理用户名。


    # regadm set -n http_proxy_user -v webuser
    

    其中 webuser 是站点提供值,用于验证具有 HTTP 代理服务器的用户。

  3. 创建临时口令文件。


    # touch pwfile
    
  4. 确保文件的权限安全。


    # chmod 600 pwfile
    
  5. 使用文本编辑器编辑临时口令文件以插入含有口令信息的单行条目。

  6. 设置 HTTP 口令验证信息。


    # regadm set -n http_proxy_pw -v pwfile
    

    其中 pwfile 是步骤 3 中您创建的口令文件。

  7. 删除口令文件。


    # rm pwfile
    

示例 17–5 配置 HTTP 代理验证设置。

以下示例说明,如何为要求验证 HTTP 用户名和口令的站点配置 HTTP 验证属性。


# regadm set -n http_proxy_user -v webuser
# touch myhttppasswd
# chmod 600 myhttppasswd
# vi myhttppasswd
.
.
.

# regadm set -n http_proxy_pw -v myhttppasswd
# rm myhttppasswd


示例 17–6 从“HTTP 代理网络配置”切换到“直接连接”

要将网络连通性切换到直接连接,您必须将所有 HTTP 代理设置为 null 值 (not configured),如以下示例所示:


# regadm set -n http_proxy ""
# regadm set -n http_proxy_port ""
# regadm set -n http_proxy_user ""
# regadm set -n http_proxy_pw ""
# regadm list
        My Oracle Support username      <not configured>
        HTTP Proxy                      <not configured>
        HTTP proxy port                 <not configured>
        HTTP proxy user                 <not configured>
        HTTP proxy password             <not configured>

通过指定命名的支持凭证验证用户

注册系统产品前,必须通过指定有效的 My Oracle Support 凭证或 Sun 联机帐户凭证验证用户或帐户。如果未提供任何支持凭证,系统将使用匿名 My Oracle Support 帐户注册。您可使用 regadm 命令和 auth 子命令,自行进行 Oracle 产品注册系统交互式或非交互式验证。


注 –

必须在注册使用 regadm register 命令进行验证。


regadm auth 命令使用 -u- p 选项,如下所示:


# regadm auth -u username -p pwfile

-u 选项指定有效用户名。-p 选项指定包含用户帐户口令信息的文件。

口令文件是一个单行文件,创建后要向其添加凭证并发送至 regadm 命令。口令文件的内容为保密内容。出于安全原因,在信息发送到 regadm 命令并且验证成功后,要立即删除口令文件。


注 –

验证成功后,即使重新引导仍然持续有效,且仅需提供一次。您可以在安装前后或安装过程中使用 regadm auth 命令验证。系统上从不保存口令。验证成功后仅保留不透明令牌 (opaque token)。


Procedure如何通过指定命名的支持凭证验证用户

可使用 regadm auth 命令交互式或非交互式验证 My Oracle Support 用户。以下步骤描述如何非交互式使用命令。随后的示例说明如何在两种模式中运行命令。

  1. 成为超级用户或同等角色。

  2. 创建临时口令文件:


    # touch pwfile
    
  3. 确保文件的权限安全:


    # chmod 600 pwfile
    
  4. 使用文本编辑器编辑刚创建的临时口令文件。插入包含您口令信息的单行条目。

  5. 通过指定命名的支持凭证验证 My Oracle Support:


    # regadm auth -u user@example.com -p pwfile
    

    其中,user@example.com 是 My Oracle Support 或 Sun 联机帐户用户名,pwfile 是您在步骤 2 中创建的口令文件。

    会显示一条消息,表明验证成功或失败。

  6. 按以下方式继续:

  7. 删除临时口令文件:


    # rm pwfile
    

示例 17–7 使用“命名的支持凭证”验证用户(非交互式)


# touch mospwfile
# chmod 600 mospwfile
# vi mospwfile
.
.
.
# regadm auth -u jdoe@mycompany.com -p mospwfile
Authenticating "jdoe@mycompany.com" with My Oracle Support
Authentication sucessful

You can now register this system with My Oracle Support
via "regadm register"
# rm mospwfile


示例 17–8 使用“命名的支持凭证”验证用户(交互式)


# regadm auth
Enter your My Oracle Support username: jdoe@mycompany.com
Enter password:
Enter password again:
Authenticating "jdoe@mycompany.com" with My Oracle Support
Authentication successful

You can now register this system with My Oracle Support
via "regadm register"

使用 regadm 命令注册系统

任务 

说明 

参考 

1.(可选)执行产品注册模拟测试。 

在实际注册前,使用 regadm register 命令和 -d 选项显示待注册产品的有关服务标签信息。该命令的输出结果所显示的数据,将在实际注册过程中传送到 My Oracle Support。

如何显示未注册产品的有关注册信息

2. 执行产品注册。 

使用 regadm register 命令独立于安装或升级直接注册系统。

如何使用 regadm 命令注册系统

Procedure如何显示未注册产品的有关注册信息

使用 regadm register 命令的测试功能允许您显示未注册产品的有关服务标签信息。此功能对于系统管理员非常实用,可在实际注册前查看发送到 My Oracle Support 的具体信息内容。服务标签支持对系统上所安装产品的自动搜索。当使用 register -d 命令选项时,仅显示将发送到 Oracle 产品注册系统上的服务标签数据。


注 –

要使用测试命令选项,您所处的系统必须具备网络连通性。


  1. 成为超级用户或同等角色。

  2. 键入 regadm register 命令的测试命令选项,如下所示:


    # regadm register -d
    

    该命令的输出结果以 XML 文件格式显示。


示例 17–9 显示未注册产品的有关注册信息

下例显示运行 regadm register 命令和 -d 选项的输出结果。简略起见,命令的输出结果已截断。


# regadm register -d
Registering with My Oracle Support using username user@example.com
<?xml version="1.0"?>
<st1:request>
	<agent>
	<agent_urn>urn:st:5eabd994-12d0-6c6c-bf6e-a2cca89a0287</agent_urn>
	<agent_version>1.1.5.</agent_version>
	<registry_version>1.1.5</registry_version>
	<system_info>
		<system>SunOS</system>
		<host>hs-t1000-1</host>
		<release>5.10</release>
		<architecture>sparc</architecture>
		<platform>SUNW,Sun-Fire-T1000::Generic_141444-09</platform>
		.
		.
		.
	<system_info>
	</agent>
</st1:request>

<?xml version="1.0"?>
<st1:request>
	<service_tag>
		<instance_urn>urn:st:fd96de223-e190-6501-ff8d-dd76f1b708f5</instance_urn>
		<product_name>Solaris 10 Operating System</product_name>
.
.
.
	

Procedure如何使用 regadm 命令注册系统

可使用 regadm register 命令通过 My Oracle Support 来注册服务标签注册表中的每个产品。通过使用当前验证凭证完成注册。如果不提供任何凭证,则使用匿名 My Oracle Support 帐户执行匿名注册。

开始之前

有关前提条件的说明,请务必查看 注册前要求执行的任务

同时也考虑以下信息:

  1. 成为超级用户或同等角色。

  2. 列出当前自动注册配置。


    # regadm list
    

    如果 regadm list 命令的输出不显示任何已配置的自动注册属性(用户名),则注册将匿名执行。否则,注册将与所显示的用户名相关联。如果您打算匿名注册系统,但现在选择提供支持凭证,则在操作前,请参见 如何通过指定命名的支持凭证验证用户

    如果 regadm list 命令的输出结果不显示任何 HTTP 代理或端口信息,可通过使用直接网络连接执行注册。否则,使用现有 HTTP 属性设置。如果您需要为网络连通性重新配置自动注册属性,操作前,请参见 如何配置 HTTP 代理和端口设置。

  3. 注册系统。


    # regadm register
    

    注 –

    regadm register 命令的输出有多种,这取决于您系统上的自动注册特性如何配置。



示例 17–10 匿名注册您的系统

以下示例显示系统匿名注册,在注册前没有配置任何命名的支持凭证。同时也使用直接网络连接注册。


# regadm list
        My Oracle Support username      <not configured>
        HTTP Proxy                      <not configured>
        HTTP proxy port                 <not configured>
        HTTP proxy user                 <not configured>
        HTTP proxy password             <not configured>
# regadm register
Registered Solaris 10 Operating System
Registration Successful


示例 17–11 通过指定命名的支持凭证注册系统

下例显示注册前已配置支持凭证和 HTTP 代理以及端口信息的系统注册。


# regadm list
        My Oracle Support username      user@example.com
        HTTP Proxy                      webproxy.example.com
        HTTP proxy port                 8080
        HTTP proxy user                 <not configured>
        HTTP proxy password             <not configured>
# regadm register
Registering with My Oracle Support using username user@example.com
Registered Solaris 10 Operating System
Registration successful

获得有关当前已注册产品的信息

要获得当前已通过自动注册特性注册产品的服务标签信息,请转至 https://inventory.sun.com/inventory/data.jsp

要访问已注册产品的服务标签信息,您必须首先使用 My Oracle Support 或 Sun 联机帐户凭证登录。


注 –

注意:清单 Web 站点提供有关搜索和注册方法的信息,这些方法与自动注册新特性无关。可自愿选择使用其他这些注册方法,并不强制注册。如果您已安装 Oracle Solaris 10 9/10,自动注册会在安装或升级后的首次重新引导时显示。


有关如何使用服务标签管理系统资产的一般信息,请转至 http://wikis.sun.com/display/ServiceTag/Home

自动注册问题故障排除

可通过执行基本故障排除策略解决在尝试验证或注册系统时可能遇到的较为常见的错误。以下可能是使用 regadm 命令时需要进行故障排除的问题:

验证失败

如果您自行使用 regadm auth 命令尝试验证 My Oracle Support,但验证失败,则在您键入用户名和口令后将显示以下信息:


Authentication failed

要解决该问题,请验证是否使用了正确的帐户凭证(My Oracle Support 用户名和口令或 Sun 联机帐户用户名和口令)。要验证您的帐户设置,请转至 https://reg.sun.com/accounthelp

常见问题解答以及有关如何获取 My Oracle Support 初始访问权限的信息,请转至 http://www.oracle.com/us/support/044753.html#SS6

无法发送 HTTP 代理口令

出于安全原因,HTTP 代理口令必须位于文件中,而不能在命令行上指定。如果口令未在文件中指定,regadm 命令将无法定位口令。结果会在您尝试设置口令时,显示以下信息:


# regadm set -n http_proxy_pw -v secret1
Cannot find file 'secret1'

有关设置 HTTP 代理口令的说明,请参见如何配置 HTTP 代理验证设置

HTTP 通信错误

如果您的 HTTP 配置有问题,可能会显示以下错误信息:


HTTP Communications error with Oracle Support Center

Please check your HTTP settings and retry your request.

显示该错误信息的原因可能有多种。要解决该问题,请执行以下步骤:

  1. 通过键入以下命令,验证您的 HTTP 配置是否正确:


    # regadm list
    
  2. 如果您的 HTTP 配置正确,请检查以下信息:

    • 您的系统是否可直接或通过 HTTP 代理访问公共 Internet?如果不能,则您无法使用 regadm 命令管理自动注册特性。

    • 您的站点是否要求 HTTP 代理?如果要求,请确保 HTTP 代理主机和端口已正确配置。有关说明,请参见 如何配置 HTTP 代理和端口设置。

    • 您的站点是否要求已验证的代理访问?如果要求,请检验代理用户名和口令已正确配置和键入。有关说明,请参见 如何配置 HTTP 代理验证设置

  3. 确保您的 HTTP 代理主机设置可解析至另一个已启动并运行的有效 Web 代理主机,并且该主机名可解析。

    例如,如果您配置的 HTTP 代理主机为 webproxy.example.com ,该主机应可解析并能应答从 ping 实用程序发出的请求,如下所示:


    # getent hosts webproxy.example.com
    192.168.1.1 webproxy.example.com
    # ping webproxy.example.com
    webproxy.example.com is alive

    有关更多信息,请参见 getent(1M)ping(1M) 手册页。

  4. 如果执行以上故障排除步骤无效,请与站点管理员检验您的设置。