5.3. 如何检查并修复被破坏的配置文件 (Oracle Solaris 10)

如果 dtlogin 守护进程无法正确启动 XsunXnewt 服务器,则以下配置文件可能被破坏:

以下过程说明了此问题的更正方法。

注意

此过程显示了一个简化示例的输出。在 BEGIN SUNRAY CONFIGURATIONEND SUNRAY CONFIGURATION 注释之间,输出结果可能长达数十行。

  1. 以 Sun Ray 服务器用户的身份打开一个 shell 窗口,然后将 /usr/dt/config/Xservers 文件与 /etc/dt/config/Xservers 文件进行比较。

    % diff /usr/dt/config/Xservers /etc/dt/config/Xservers

    此命令将已知完好的文件与可能有问题的文件进行比较。输出结果应类似于以下示例。

    106a107,130
    > # BEGIN SUNRAY CONFIGURATION
    > :3 SunRay local@none /etc/opt/SUNWut/basedir/lib/utxsun :3 -nobanner
    .
    .
    > :18 SunRay local@none /etc/opt/SUNWut/basedir/lib/utxsun :18 -nobanner
    > # END SUNRAY CONFIGURATION

    输出结果的第一行包含 106a107,130。其中 106 表示这两个文件的前 106 行相同。a107,130 则表示应该将第二个文件的第 107 行到第 130 行的信息添加到第一个文件中,以使两个文件相同。

    如果输出结果的前三个数字小于 100,则表示 /etc/dt/config/Xservers 文件已损坏。

  2. /usr/dt/config/Xconfig 文件与 /etc/dt/config/Xconfig 文件进行比较。

    % diff /usr/dt/config/Xconfig /etc/dt/config/Xconfig

    输出结果应类似于以下示例。

    156a157,180
    > # BEGIN SUNRAY CONFIGURATION
    > Dtlogin.*_8.environment: SUN_SUNRAY_TOKEN=ZeroAdmin.m1.at88sc1608.6d0400aa
    .
    .
    > Dtlogin.*_9.environment: SUN_SUNRAY_TOKEN=ZeroAdmin.m1.at88sc1608.a10100aa
    > # END SUNRAY CONFIGURATION

    如果输出结果的前三个数字小于 154,则表示 /etc/dt/config/Xconfig 文件已损坏。

  3. 如果其中的某个文件已被破坏,请继续执行此过程以替换配置文件。

  4. 在 Sun Ray 服务器上成为超级用户,然后关闭 Sun Ray Client 服务。

    注意

    替换 Xservers 文件需要关闭所有 Sun Ray Client 服务。一定要通知用户服务即将中断的情况。

    # /opt/SUNWut/sbin/utstop
  5. 用适当的文件替换 Xservers 文件和 Xconfig 文件。

    # /bin/cp -p /usr/dt/config/Xservers /etc/dt/config/Xservers
    # /bin/cp -p /usr/dt/config/Xconfig /etc/dt/config/Xconfig
    注意

    对于无显示服务器,请将 Xservers 文件中的 :0 条目注释掉或删除。

  6. 重新初始化验证策略。

    # /opt/SUNWut/sbin/utstart -c

    以前的 XserversXconfig 文件中的多余行将自动重建。