本部分包含疑难解答和参考信息。
本章包含您在安装 Solaris 10 软件时可能遇到的特定错误消息和一般问题的列表。本章还说明了如何解决这些问题。首先使用以下章节列表确定安装过程中出现问题的地方。
“可引导介质”这一短语指的是 Solaris 安装程序和 JumpStart 安装方法。
Unknown client “host_name”(未知的客户机 "host_name")
原因:add_install_client 命令中的 host_name 参数不是名称服务中的主机。
描述:le0: No carrier - transceiver cable problem(le0:无载体-收发器电缆问题)
原因:系统未连接到网络。
解决方法:如果这是非联网的系统,请忽略该消息。如果这是联网系统,请确保安全地连接了以太网电缆。
The file just loaded does not appear to be executable(刚装入的文件不是可执行文件)
原因:系统无法找到合适的引导介质。
解决方法:验证是否已经正确地设置系统,以使用安装服务器通过网络来安装 Solaris 10 软件。下面是可执行的检查示例。
如果已将 Solaris Operating System DVD 或 Solaris Software CD 的映像复制到安装服务器,请确保在设置系统时为其指定了正确的平台组。
如果要使用 DVD 或 CD 介质,请确保已在安装服务器上挂载了 Solaris Operating System DVD 或 Solaris Software - 1 CD,并且可以对其进行访问。
boot: cannot open <filename>(引导:无法打开 <filename>)(仅限于基于 SPARC 的系统)
原因:通过显式地设置 boot -file 来覆写该位置时,将发生此错误。
filename 是一个变量,指代受影响文件的名称。
请按照以下说明操作:
将 PROM 中的 boot -file 重置为“ ”(空白)。
确保将 diag-switch 设置为 off 和 true。
Can't boot from file/device(无法从 file/device 引导)
原因:安装介质找不到可引导介质。
解决方法:确保满足以下条件:
正确地安装 DVD-ROM 或 CD-ROM 驱动器,并将其打开。
将 Solaris Operating System DVD 或 Solaris Software - 1 CD 放入到驱动器中。
光盘未损坏或未弄脏。
WARNING: clock gained xxx days -- CHECK AND RESET DATE!(警告:时钟快 xxx 天-检查并重置日期!)(仅限于基于 SPARC 的系统)
描述:这是提示性消息。
解决方法:忽略此消息,并继续进行安装。
Not a UFS file system(不是 UFS 文件系统)(仅限于基于 x86 的系统)
原因:安装 Solaris 10 软件时(通过 Solaris 安装程序或自定义 JumpStart),未选中任何引导盘。现在您必须使用 Solaris 10 3/05 Device Configuration Assistant 软盘或编辑 BIOS 来引导系统。
解决方法:请按照以下说明操作:
对于 Solaris 10 3/05 发行版,将 Solaris 10 3/05 Device Configuration Assistant 软盘插入到系统的引导软盘驱动器中(通常是驱动器 A)。有关访问 Solaris 10 3/05 Device Configuration Assistant 软盘的信息,请参见《Solaris 10 安装指南:基于网络的安装》中的“Solaris 10 3/05 for x86: 将引导软件复制到软盘”。
从 Solaris 10 1/06 发行版开始,请选择 BIOS 进行引导。有关说明,请参见 BIOS 文档。
系统不引导。
描述:在最初设置自定义 JumpStart 服务器时,您可能会遇到并不返回错误消息的引导问题。要验证有关系统以及系统引导方式的信息,请运行带有 -v 选项的引导命令。当您使用 -v 选项时,引导命令将在屏幕上显示详细调试信息。
如果未给出此标志,这些消息仍然会打印出来,但输出将被重定向到系统日志文件。有关更多信息,请参见 syslogd(1M)。
对于基于 SPARC 的系统,请在 ok 提示符下键入以下命令。
ok boot net -v - install |
对于基于 x86 的系统,当安装程序提示您“选择安装类型”时,键入以下命令。
b - -v install |
在带有 Toshiba SD-M1401 DVD-ROM 的系统上,从 DVD 介质引导失败
描述:如果系统的 Toshiba SD-M1401 DVD-ROM 的固件修订版为 1007,则无法从 Solaris Operating System DVD 引导系统。
解决方法:应用修补程序 111649-03 或更高版本以更新 Toshiba SD-M1401 DVD-ROM 驱动器的固件。修补程序 111649-03 在 sunsolve.sun.com 上提供。
插入无内存 PC 卡时,系统挂起或发出警告音。(仅限于基于 x86 的系统)
原因:无内存 PC 卡不能与其他设备使用相同的内存资源。
解决方法:要修正这个问题,请查看您的 PC 卡说明并检查地址范围。
在预引导阶段,Solaris 10 3/05 Device Configuration Assistant 软盘没有检测到系统的 IDE BIOS 主驱动器。(仅限于基于 x86 的系统)
解决方法:请按照以下说明操作:
如果使用旧驱动器,它们可能不受支持。查看您的硬件制造商文档。
确保排线和电源电缆连接正确。查看制造商文档。
如果仅有一个驱动器连接到控制器,请通过设置跳线将其指定为主驱动器。一些驱动器在作为单个主驱动器和作为与从属驱动器一起工作的主驱动器时具有不同的跳线设置。将驱动器连接到电缆末端的连接器,以减少当未使用的连接器在电缆末端摇晃时出现的信号响应。
如果两个驱动器都连接到控制器,请通过设置跳线将一个驱动器指定为主驱动器(或作为带有从属驱动器运行的主驱动器),并通过设置跳线将第二个驱动器设置为从属驱动器。
如果一个驱动器是硬盘且第二个驱动器是 CD-ROM 驱动器,请通过设置跳线将其中一个驱动器指定为从属驱动器。可以将任一物理驱动器指定为从属驱动器。
如果单个控制器连接两个驱动器仍出现问题,请一次连接一个驱动器以验证它们是否能正常工作。通过设置跳线将驱动器设置为主驱动器或单个主驱动器,并使用 IDE 排线电缆末端的驱动器连接器连接该驱动器。验证每个驱动器都可以正常工作,然后将驱动器跳线设置回一个主驱动器和一个从属驱动器的配置。
如果驱动器是磁盘驱动器,请使用 BIOS 设置实用程序以确保驱动器类型(表明柱面数、磁头数和扇区数)设置正确。某些 BIOS 软件可能具有自动检测驱动器类型的功能。
如果驱动器是 CD-ROM,请使用 BIOS 设置屏幕将驱动器类型设置为 CD-ROM 驱动器,前提是 BIOS 软件提供此功能。
对许多系统而言,如果安装了 MS-DOS CD-ROM 驱动程序,则 IDE CD-ROM 驱动器将只能被 MS-DOS 识别。尝试另一个驱动器。
在预引导过程中,Solaris 10 3/05 Device Configuration Assistant 软盘未找到系统的 IDE 磁盘或 CD-ROM 驱动器。(仅限于基于 x86 的系统)
解决方法:请按照以下说明操作:
对于 Solaris 10 3/05 发行版,如果磁盘在 BIOS 中被禁用,请使用 Solaris 10 3/05 Device Configuration Assistant 软盘从硬盘引导。有关访问 Solaris 10 3/05 Device Configuration Assistant 的信息,请参见《Solaris 10 安装指南:基于网络的安装》中的“Solaris 10 3/05 for x86: 将引导软件复制到软盘”。
如果系统没有磁盘,则可能是一个无盘客户机。
在显示系统提示符之前,系统挂起。(仅限于基于 x86 的系统)
解决方法:系统中有不支持的硬件。查看您的硬件制造商文档。
WARNING: getfile: RPC failed: error 5 (RPC Timed out).(警告:getfile:RPC 失败:错误 5(RPC 超时)。)
描述:当网络上有两个或更多个服务器响应安装客户机的引导请求时,将发生此错误。安装客户机与错误的引导服务器连接,安装挂起。以下特定原因可能导致发生该错误:
原因:原因 1:/etc/bootparams 文件可能位于不同的服务器上,这些服务器均含有此安装客户机的项。
解决方法:原因 1:确保网络上的服务器没有多个用于该安装客户机的 /etc/bootparams 项。如果它们有多个项,请删除所有安装服务器和引导服务器(安装客户机要使用的服务器除外)上 /etc/bootparams 文件中的重复客户机项。
原因:原因 2:可能存在多个用于该安装客户机的 /tftpboot 或 /rplboot 目录项。
解决方法:原因 2:确保网络上的服务器没有多个用于该安装客户机的 /tftpboot 或 /rplboot 目录项。如果它们有多个项,请删除所有安装服务器和引导服务器(安装客户机要使用的服务器除外)上 /tftpboot 或 /rplboot 目录中的重复客户机项。
原因:原因 3:服务器上的 /etc/bootparams 文件中可能存在一个安装客户机项,并且另一个 /etc/bootparams 文件中可能存在使所有系统能够访问配置文件服务器的项。这样的项与以下内容类似:
* install_config=profile_server:path
类似于 NIS 或 NIS+ bootparams 表中的前一个项的行也可引起该错误。
解决方法:原因 3:如果通配符项位于名称服务 bootparams 图或表(例如 * install_config=)中,请将其删除然后添加到引导服务器上的 /etc/bootparams 文件中。
No network boot server. Unable to install the system. See installation instructions.(没有网络引导服务器。无法安装系统。请参见安装说明。)(仅限于基于 SPARC 的系统)
原因:此错误发生在您试图从网络安装的系统上。系统设置不正确。
解决方法:确保正确地将系统设置为从网络安装。请参见《Solaris 10 安装指南:基于网络的安装》中的“使用 CD 映像添加要从网络安装的系统”。
prom_panic: Could not mount file system(prom_panic:无法挂载文件系统)(仅限于基于 SPARC 的系统)
原因:当您从网络安装 Solaris,但引导软件无法找到以下内容时将发生此错误:
Solaris Operating System DVD(此 DVD 或安装服务器上 DVD 映像的副本)
Solaris Software - 1 CD 映像(Solaris Software - 1 CD 或安装服务器上的 CD 映像的副本)
确保安装并挂载了安装软件。
如果从安装服务器的 DVD-ROM 或 CD-ROM 驱动器安装 Solaris,请确保 Solaris Operating System DVD 或 Solaris Software - 1 CD 已插入 CD-ROM 驱动器中,已挂载并已在 /etc/dfs/dfstab 文件中共享。
如果从安装服务器磁盘上的 Solaris Operating System DVD 映像或 Solaris Software - 1 CD 映像的副本进行安装,确保在 /etc/dfs/dfstab 文件中共享该副本的目录路径。
Timeout waiting for ARP/RARP packet...(等待 ARP/RARP 包时发生超时...)(仅限于基于 SPARC 的系统)
原因:原因 1:客户机试图从网络引导,但它找不到知道该客户机的系统。
解决方法:原因 1:验证系统的主机名是否在 NIS 或 NIS+ 名称服务中。此外,还要验证引导服务器的 /etc/nsswitch.conf 文件中的 bootparams 搜索顺序。
例如,/etc/nsswitch.conf 文件中的下列行指示 JumpStart 或 Solaris 安装程序首先在 NIS 映射中查找 bootparams 信息。如果此程序未找到任何信息,则安装程序将在引导服务器的 /etc/bootparams 文件中查找。
bootparams: nis files原因:
原因 2:客户机的以太网地址不正确。
解决方法:原因 2:验证安装服务器的 /etc/ethers 文件中的客户机以太网地址是否正确。
原因:原因 3:在自定义 JumpStart 安装中,add_install_client 命令指定将指定的服务器作为安装服务器的平台组。如果在使用 add_install_client 时使用了错误的体系结构值,则会发生此问题。例如,要安装的计算机是 sun4u,但您却改用了 i86pc。
解决方法:原因 3:使用正确的体系结构值,重新运行 add_install_client。
ip: joining multicasts failed on tr0 - will use link layer broadcasts for multicast(ip:在 tr0 上连接多路广播失败-多路广播将使用链路层广播)(仅限于基于 x86 的系统)
原因:当使用令牌环卡引导系统时会显示此错误消息。以太网多址广播和令牌环多址广播的工作方式不同。由于向驱动器提供了无效的多址广播地址,因此驱动器返回此错误消息。
解决方法:忽略此错误消息。如果不能使用多址广播,IP 将改用链路层广播,不会造成安装失败。
Requesting Internet address for Ethernet_Address(请求 Ethernet_Address 的 Internet 地址)(仅限于基于 x86 的系统)
原因:客户机试图从网络引导,但它找不到知道该客户机的系统。
解决方法:验证系统的主机名是否列在名称服务中。如果系统主机名列在 NIS 或 NIS+ 名称服务中,并且系统继续显示此错误消息,请尝试重新引导系统。
RPC: Timed out No bootparams (whoami) server responding; still trying...(RPC:超时,无引导参数 (whoami) 服务器响应;继续尝试...)(仅限于基于 x86 的系统)
原因:客户机试图从网络引导,但它无法找到具有安装服务器上的 /etc/bootparams 文件项的系统。
解决方法:在安装服务器上使用 add_install_client。使用该命令向 /etc/bootparams 文件中添加适当的项,使客户机可以从网络引导。
Still trying to find a RPL server...(继续尝试查找 RPL 服务器...)(仅限于基于 x86 的系统)
原因:系统试图从网络引导,但服务器没有设置为引导此系统。
解决方法:在安装服务器上,为要安装的系统执行 add_install_client。add_install_client 命令建立一个 /rplboot 目录,其中包含需要的网络引导程序。
CLIENT MAC ADDR: FF FF FF FF FF FF(仅存在于使用 DHCP 执行的网络安装)
原因:DHCP 服务器未正确配置。如果未在 DHCP 管理器软件中正确定义选项或宏,可能会发生这种错误。
解决方法:在 DHCP 管理器软件中,验证是否正确定义了选项和宏。确认定义了“路由器”选项,并且对于用来进行网络安装的子网,“路由器”选项的值是正确的。
客户机的另一个系统上可能存在 /etc/bootparams 或 /etc/ethers 项。
解决方法:在名称服务器上,为要安装的系统更新 /etc/bootparams 项。该项应符合以下语法:
install_system root=boot_server:path install=install_server:path
此外,确保安装客户机的子网中只有一个 bootparams 项。
系统没有从网络引导(仅限于使用 DHCP 执行的网络安装)。
原因:DHCP 服务器未正确配置。如果未在 DHCP 服务器上将系统配置为安装客户机,则可能发生这种错误。
解决方法:在 DHCP 管理器软件中,验证是否为客户机系统定义了安装选项和宏。有关更多信息,请参见《Solaris 10 安装指南:基于网络的安装》中的“使用 DHCP 服务预配置系统配置信息(任务)”。
Initial installation fails(初始安装失败)
解决方法:如果 Solaris 安装失败,则您必须重新启动安装。要重新启动安装,请从 Solaris Operating System DVD、Solaris Software - 1 CD 或网络引导系统。
不能在安装部分 Solaris 软件之后卸载该软件,必须从备份中恢复系统或重新开始 Solaris 安装过程。
/cdrom/10/SUNWxxxx/reloc.cpio: Broken pipe(/cdrom/10/SUNW xxxx/reloc.cpio:中断的管道)
描述:此错误消息是提示性消息,不影响安装。在没有读取进程的管道上写入时会出现此情况。
解决方法:忽略此消息,并继续进行安装。
WARNING: CHANGE DEFAULT BOOT DEVICE(警告:更改缺省引导设备)(仅限于基于 x86 的系统)
原因:这是提示性消息。系统 BIOS 中设置的缺省引导设备可能被设置成需要使用 Solaris 10 3/05 Device Configuration Assistant 软盘来引导系统。
解决方法:继续安装,如有必要,在将 Solaris 软件安装到无需 Solaris 10 3/05 Device Configuration Assistant 软盘的设备后,请更改在 BIOS 中指定的系统的缺省引导设备。
IDE 磁盘驱动器不像其他 Solaris 软件所支持的驱动器那样可以自动映射出坏块。在 IDE 磁盘上安装 Solaris 之前,您可能需要执行磁盘表面分析。要在 IDE 磁盘上进行表面分析,请执行以下过程。
引导到安装介质。
启动 format(1M) 程序。
# format |
指定要在其上执行表面分析的 IDE 磁盘驱动器。
# cxdy |
是控制器编号
是设备编号
确定是否存在 fdisk 分区。
如果已存在 Solaris fdisk 分区,请继续步骤 5。
如果没有 Solaris fdisk 分区,请使用 fdisk 命令在磁盘上创建一个 Solaris 分区。
format> fdisk |
要开始表面分析,请键入:
format> analyze |
要确定当前设置,请键入:
analyze> config |
(可选)要更改设置,请键入:
analyze> setup |
要查找坏块,请键入:
analyze> type_of_surface_analysis |
是读、写或者比较
如果 format 发现坏块,则将重新映射这些坏块。
要退出分析,请键入:
analyze> quit |
确定是否要指定重映射的块。
如果不指定,请转到步骤 11。
如果需要,请键入:
format> repair |
要退出格式化程序,请键入:
quit |
在多用户模式下重新启动介质。
No upgradable disks(没有可升级磁盘)
原因:/etc/vfstab 文件中的交换项导致升级失败。
解决方法:注释掉 /etc/vfstab 文件中的下列行:
未升级磁盘上的所有交换文件和片
不再存在的交换文件
任何未使用的交换片
usr/bin/bzcat not found(未找到 usr/bin/bzcat)
原因:Solaris Live Upgrade 因需要修补程序簇而失败。
解决方法:安装 Solaris Live Upgrade 需要修补程序。请访问 http://sunsolve.sun.com,以确保具有最近更新的修补程序列表。在 SunSolve Web 站点上搜索信息文档 72099。
Upgradeable Solaris root devices were found, however, no suitable partitions to hold the Solaris install software were found. Upgrading using the Solaris Installer is not possible. It might be possible to upgrade using the Solaris Software 1 CDROM.(找到可升级的 Solaris 根设备,但没有找到合适的用于保存 Solaris 安装软件的分区。无法使用 Solaris 安装程序升级。可以使用 Solaris Software 1 CDROM 进行升级。)(仅限于基于 x86 的系统)
原因:由于没有足够空间,因此无法使用 Solaris Software - 1 CD 升级。
解决方法:要进行升级,可以创建大于或等于 512 MB 的交换片,或者使用另一种升级方法,例如,通过 Solaris Operating System DVD 上的 Solaris 安装程序、网络安装映像或 JumpStart。
即使存在一个可在系统上升级的 Solaris 软件版本,也不显示升级选项。
原因:原因 1:/var/sadm 目录是符号链接,或是从另一个文件系统挂载的。
解决方法:原因 1:将 /var/sadm 目录移动到根 (/) 或 /var 文件系统中。
原因:原因 2:缺少 /var/sadm/softinfo/INST_RELEASE 文件。
解决方法:原因 2:使用以下模板创建新的 INST_RELEASE 文件:
OS=Solaris VERSION=x REV=0
是系统上的 Solaris 软件的版本
原因 3:/var/sadm/softinfo 中缺少 SUNWusr。
解决方法:解决方案 3:需要执行初始安装。Solaris 软件是不可升级的。
无法关闭或初始化 md 驱动程序
解决方法:请按照以下说明操作:
如果该文件系统不是 RAID-1 卷,请在 vsftab 文件中注释掉。
如果该文件系统是 RAID-1 卷,请中断镜像并重新安装。有关取消镜像的信息,请参见《Solaris Volume Manager Administration Guide》中的“Removing RAID-1 Volumes (Unmirroring)”。
因 Solaris 安装程序无法挂载文件系统而导致升级失败。
原因:在升级期间,该脚本会在要升级的根 (/) 文件系统中,尝试挂载系统的 /etc/vfstab 文件中列出的所有文件系统。如果安装脚本无法挂载文件系统,则它将失败并退出。
解决方法:确保系统的 /etc/vfstab 文件中的所有文件系统都可进行挂载。在 /etc/vfstab 文件中注释掉任何无法挂载或可能引起问题的文件系统,以便 Solaris 安装程序在升级过程中不会尝试挂载它们。不能注释掉那些包含要升级软件的基于系统的文件系统(例如 /usr)。
升级失败
描述:系统没有足够的升级空间。
原因:有关空间问题,请参阅通过重新分配磁盘空间进行升级,查明是否能在不使用自动布局重新分配空间的情况下解决此问题。
升级 RAID-1 卷根 (/) 文件系统时的问题。
解决方法:如果在使用作为根 (/) 文件系统的 Solaris 卷管理器 RAID-1 卷进行升级时遇到问题,请参见《Solaris Volume Manager Administration Guide》中的第 25 章 “Troubleshooting Solaris Volume Manager (Tasks)”。
升级失败,系统无法进行软引导。失败是由于您无法控制的原因(例如断电或网络连接失败)造成的。
从 Solaris Operating System DVD、Solaris Software - 1 CD 或网络重新引导系统。
选择安装的升级选项。
Solaris 安装程序确定系统是否已经部分升级并继续进行升级。
从 Solaris 10 1/06 发行版开始,当在基于 x86 的系统上使用 Solaris Live Upgrade 和 GRUB 引导装载器时,会发生以下错误。
错误:介质产品工具安装目录 path-to-installation-directory 不存在。
错误:介质目录不包含操作系统升级映像。
描述:当使用 luupgrade 命令升级新的引导环境时可以看到这些错误消息。
原因:使用的是旧版本的 Solaris Live Upgrade。您在系统上安装的 Solaris Live Upgrade 软件包与介质以及介质上的软件包发行版不兼容。
解决方法:确保所使用的 Solaris Live Upgrade 软件包的版本始终为将要升级到的版本。
示例:在以下示例中,错误消息表示系统上的 Solaris Live Upgrade 软件包与介质上的软件包的版本不同。
# luupgrade -u -n s10u1 -s /mnt Validating the contents of the media </mnt>. The media is a standard Solaris media. ERROR: The media product tools installation directory </mnt/Solaris_10/Tools/Boot/usr/sbin/install.d/install_config> does not exist. ERROR: The media </mnt> does not contain an operating system upgrade image. |
错误:找不到或不可执行:</sbin/biosdev>。
错误:Solaris Live Upgrade 所需的一个或多个修补程序未安装。
原因:Solaris Live Upgrade 所需的一个或多个修补程序未安装在系统上。请注意该错误消息没有捕捉到所有缺少的修补程序。
解决方法:使用 Solaris Live Upgrade 之前,始终安装所有必需的修补程序。请访问 http://sunsolve.sun.com,以确保具有最近更新的修补程序列表。在 SunSolve Web 站点上搜索信息文档 72099。
错误:设备映射命令 </sbin/biosdev> 失败。请重新引导,然后重试。
原因:原因 1:由于以前的管理任务,Solaris Live Upgrade 无法映射设备。
解决方法:原因 1:重新引导系统,然后使用 Solaris Live Upgrade 重试
原因:原因 2:如果重新引导系统后出现相同的错误消息,表明您有两个或多个相同的磁盘。设备映射命令无法区分这些磁盘。
解决方法:原因 2:在这些磁盘中的某一个磁盘上创建一个新的伪 fdisk 分区。请参见 fdisk(1M) 手册页。然后重新引导系统。
无法删除包含 GRUB 菜单的引导环境
原因:Solaris Live Upgrade 强加了一条限制,即如果引导环境包含 GRUB 菜单,则无法删除该引导环境。
解决方法:使用 lumake(1M) 或 luupgrade(1M) 命令重新使用该引导环境。
无意中重新创建了包含 GRUB 菜单的文件系统。但是,磁盘具有和以前相同的片。例如,磁盘没有重新分片。
原因:包含 GRUB 菜单的文件系统对保持系统的可引导性非常重要。Solaris Live Upgrade 命令不会破坏 GRUB 菜单。但是,如果使用 Solaris Live Upgrade 命令之外的命令无意中重新创建或破坏了包含 GRUB 菜单的文件系统,恢复软件会尝试重新安装 GRUB 菜单。在下一次重新引导时恢复软件会将 GRUB 菜单放回到相同的文件系统中。例如,您可能在文件系统上使用了 newfs 或 mkfs 命令,并无意中破坏了 GRUB 菜单。要正确恢复 GRUB 菜单,片必须符合以下条件:
包含一个可挂载的文件系统
保留片以前所驻留的同一 Solaris Live Upgrade 引导环境的一部分
重新引导系统之前,对片进行一些必要的更正操作。
解决方法:重新引导系统。会自动安装 GRUB 菜单的副本。
GRUB 菜单的 menu.lst 文件被无意中删除。
解决方法:重新引导系统。会自动安装 GRUB 菜单的副本。
如果在升级并运行 Veritas VxVM 的同时使用 Solaris Live Upgrade,除非您使用以下过程进行升级,否则系统在重新引导时将发出警告音。如果软件包不符合 Solaris 高级打包指南,将出现问题。
创建非活动的引导环境。请参见《Solaris 10 安装指南:Solaris Live Upgrade 和升级规划》中的“创建新的引导环境”。
在升级非活动的引导环境之前,必须禁用非活动的引导环境中的现有 Veritas 软件。
挂载非活动的引导环境。
# lumount inactive_boot_environment_name mount_point |
例如:
# lumount solaris8 /mnt |
转到包含 vfstab 的目录,例如:
# cd /mnt/etc |
生成非活动引导环境的 vfstab 文件的副本,例如:
# cp vfstab vfstab.501 |
在复制的 vfstab 中注释掉所有 Veritas 文件系统项,例如:
# sed '/vx\/dsk/s/^/#/g' < vfstab > vfstab.novxfs |
将每行的第一个字符更改为 #,这使该行成为注释行。请注意,该注释行不同于系统文件注释行。
复制更改后的 vfstab 文件,例如:
# cp vfstab.novxfs vfstab |
转到非活动引导环境的系统文件所在的目录,例如:
# cd /mnt/etc |
生成非活动的引导环境的系统文件副本,例如:
# cp system system.501 |
注释掉所有包含 drv/vx 的 "forceload:" 项。
# sed '/forceload: drv\/vx/s/^/*/' <system> system.novxfs |
将每行的第一个字符更改为 *,这使该行成为注释行。请注意,该注释行不同于 vfstab 文件注释行。
创建 Veritas install-db 文件,例如:
# touch vx/reconfig.d/state.d/install-db |
卸载非活动的引导环境。
# luumount inactive_boot_environment_name |
升级非活动的引导环境。请参见《Solaris 10 安装指南:Solaris Live Upgrade 和升级规划》中的第 9 章 “使用 Solaris Live Upgrade 进行升级(任务)”。
激活非活动的引导环境。请参见《Solaris 10 安装指南:Solaris Live Upgrade 和升级规划》中的“激活引导环境”。
关闭系统。
# init 0 |
在单用户模式下引导非活动的引导环境:
OK boot -s |
将显示若干个包含 "vxvm" 或 "VXVM" 的消息和错误消息,可以忽略这些消息。非活动的引导环境成为活动的引导环境。
升级 Veritas。
恢复初始的 vfstab 和系统文件:
# cp /etc/vfstab.original /etc/vfstab # cp /etc/system.original /etc/system |
重新引导系统。
# init 6 |
如果在当前不包含服务分区或诊断分区的系统上安装 Solaris 10 OS,则在缺省情况下,安装程序不会创建服务分区。如果要在同一个磁盘上包含服务分区和 Solaris 分区,则必须在安装 Solaris 10 OS 之前重新创建服务分区。
如果您将 Solaris 8 2/02 OS 安装在具有服务分区的系统上,则安装程序可能不会保留服务分区。如果您没有手动编辑 fdisk 引导分区布局以保留服务分区,安装程序会在安装过程中删除服务分区。
如果安装 Solaris 8 2/02 OS 时未特别地保留服务分区,则不能重新创建服务分区并升级到 Solaris 10 OS。
如果要使包含 Solaris 分区的磁盘包含服务分区,请选择以下解决方法之一。
要通过网络安装映像安装软件或通过网络从 Solaris Operating System DVD 进行安装,请执行以下步骤。
删除磁盘中的内容。
安装前,使用诊断 CD 为系统创建服务分区。
有关如何创建服务分区的信息,请参见您的硬件文档。
通过网络引导系统。
将显示“自定义 fdisk 分区”屏幕。
要装入缺省引导磁盘分区布局,请单击“缺省”。
安装程序将保留服务分区并创建 Solaris 分区。
要使用 Solaris 安装程序通过 Solaris Software - 1 CD 进行安装,或通过引导服务器上的网络安装映像进行安装,请执行以下步骤。
删除磁盘中的内容。
安装前,使用诊断 CD 为系统创建服务分区。
有关如何创建服务分区的信息,请参见您的硬件文档。
安装程序将提示您选择创建 Solaris 分区的方法。
引导系统。
选择“将剩余磁盘空间用于 Solaris 分区”选项。
安装程序将保留服务分区并创建 Solaris 分区。
完成安装。
本附录适用于安装或删除软件包(特别是第三方软件包)的系统管理员。遵循这些打包要求可实现以下目的:
避免修改当前运行的系统,以便使用 Solaris Live Upgrade 进行升级,并创建和维护非全局区域和无盘客户机
在使用安装程序(如自定义 JumpStart)时,禁止软件包进行交互式自动安装
本章包含以下几节:
遵守本节中的要求可确保当前运行的 OS 不被更改。
为了成功地安装操作系统,软件包必须能识别和正确找出备用根 (/) 文件系统,如 Solaris Live Upgrade 非活动引导环境。
软件包可以在其 pkgmap 文件(软件包映射)中包括绝对路径。如果这些文件存在,则将相对于 pkgadd 命令的 -R 选项来写它们。还可以将同时包含绝对和相对(可重定位)路径的软件包安装到备用根 (/) 文件系统上。 $PKG_INSTALL_ROOT 可放在绝对和可重定位文件之前,这样在使用 pkgadd 安装时,可正确解析所有路径。
使用 pkgadd -R 选项安装或使用 pkgrm -R 选项删除的软件包不得更改当前正在运行的系统。此功能由自定义 JumpStart、Solaris Live Upgrade、非全局区域和无盘客户机使用。
使用 pkgadd 命令 -R 选项安装的或使用 pkgrm 命令 -R 选项删除的软件包中包括的任何过程脚本均不得更改当前正在运行的系统。您所提供的任何安装脚本都必须引用前缀为 $PKG_INSTALL_ROOT 变量的目录或文件。软件包必须对所有带有 $PKG_INSTALL_ROOT 前缀的目录和文件进行写操作。软件包不得删除不带 $PKG_INSTALL_ROOT 前缀的目录。
表 B–1 提供了脚本语法的示例。
表 B–1 安装脚本语法示例
$PKG_INSTALL_ROOT 表示您要向其添加软件包的计算机的根 (/) 文件系统的位置。该位置被设置为 pkgadd 命令的 -R 参数。例如,如果调用以下命令,则在软件包安装过程中 $PKG_INSTALL_ROOT 将成为 /a。
# pkgadd -R /a SUNWvxvm |
$BASEDIR 指向安装可重定位的软件包对象的可重定位基目录。在此仅安装可重定位的对象。不可重定位的对象(即那些在 pkgmap 文件中具有绝对路径的对象)的安装实际上始终相对于未激活的引导环境,而不是相对于 $BASEDIR。如果一个软件包没有可重定位的对象,则该软件包被称为绝对软件包(或不可重定位的软件包),系统将不定义 $BASEDIR,因而不可用于软件包过程脚本。
例如,假定一个软件包的 pkgmap 文件包含以下两项:
1 f none sbin/ls 0555 root sys 3541 12322 1002918510 1 f none /sbin/ls2 0555 root sys 3541 12322 2342423332 |
pkginfo 文件对 $BASEDIR 进行了说明:
BASEDIR=/opt |
如果使用以下命令安装软件包,则 ls 安装在 /a/opt/sbin/ls 中,而 ls2 安装为 /a/sbin/ls2。
# pkgadd -R /a SUNWtest |
软件包过程脚本必须独立于当前正在运行的 OS,以防止修改 OS。过程脚本定义在软件包安装和删除过程中的特定时刻所发生的操作。可以使用以下预定义的名称创建四个过程脚本:preinstall、postinstall、preremove 和 postremove。
表 B–2 创建脚本的指南
指南 |
影响 Solaris Live Upgrade |
影响非全局区 |
---|---|---|
脚本必须在 Bourne shell (/bin/sh) 中编写。Bourne shell 是 pkgadd 命令用来执行过程脚本的解释程序。 |
X |
X |
脚本不得启动或停止任何进程,或者依赖于某些命令(例如 ps 或 truss)的输出,因为这些进程或命令都与操作系统有关,并且会报告关于当前正在运行的系统的信息。 |
X |
X |
脚本可自由使用其他标准 UNIX 命令,例如 expr、cp 和 ls 以及其他有助于编写 shell 脚本的命令。 |
X |
X |
脚本调用的任何命令必须在所有支持的发行版中可用,因为软件包必须在所有这些发行版上运行。 所以,不能使用在 Solaris 8 发行版之后添加或删除的命令。 要验证在 Solaris 8、9 或 10 发行版中是否支持特定命令或选项,请参见 http://docs.sun.com 上的 Solaris Reference Manual AnswerBook 特定版本。 |
X |
软件包不得执行由软件包本身提供的命令。这是为了维护无盘客户机的兼容性,同时避免运行那些可能需要尚未安装的共享库的命令。
所有软件包都必须通过 pkgchk 验证。在创建软件包之后以及安装它之前,必须使用以下命令对其进行检查。
# pkgchk -d dir_name pkg_name |
指定该软件包所驻留的目录的名称
指定该软件包的名称
创建软件包后,必须通过使用 pkgadd 的 -R dir_name 选项将该软件包安装到备用根 (/) 文件系统位置,以便对该软件包进行测试。安装软件包后,必须使用 pkgchk 命令检查软件包的正确性,如本例所示。
# pkgadd -d . -R /a SUNWvxvm # pkgchk -R /a SUNWvxvm |
不应显示任何错误。
如果软件包位于 /export/SUNWvxvm,则可以发出以下命令。
# pkgchk -d /export SUNWvxvm |
不应显示任何错误。
在创建、修改和删除文件时,其他命令可检查软件包。以下是一些命令示例。
例如,dircmp 或 fssnap 命令可用于检验软件包是否运行正常。
同时,ps 命令可用于测试守护进程的适合性,方法是确保守护进程未被该软件包停止或启动。
truss、pkgadd -v 和 pkgrm 命令可测试运行时软件包安装的适应性,但可能不会在所有情况下都有效。在以下示例中,truss 命令除去了所有只读的非 $TEMPDIR 访问,而对于没有位于指定的非活动引导环境中的那些路径,该命令仅显示对它们的非只读访问。
# TEMPDIR=/a; export TEMPDIR # truss -t open /usr/sbin/pkgadd -R ${TEMPDIR} SUNWvxvm \ 2>&1 > /dev/null | grep -v O_RDONLY | grep -v \ 'open("'${TEMPDIR} |
使用下列标准的 Solaris 实用程序时,必须在无用户输入信息提示的情况下,添加或删除软件包。
自定义 JumpStart 程序
Solaris Live Upgrade
Solaris 安装程序
Solaris Zone
要测试软件包以确保该软件包能在无用户交互的情况下安装,可使用 pkgadd 命令的 -a 选项创建一个新管理文件。-a 选项将定义一个安装管理文件,该文件用来替代缺省的管理文件。使用缺省文件时可能会导致提示用户输入更多信息。您可以创建一个管理文件,该文件指示 pkgadd 应绕过这些检查并安装软件包,无需用户确认。有关详细信息,请参见手册页 admin(4) 或 pkgadd(1M)。
以下示例说明了 pkgadd 命令如何使用管理文件。
如果未提供任何管理文件,则 pkgadd 将使用 /var/sadm/install/admin/default。使用此文件可能会导致发生用户交互。
# pkgadd |
如果在命令行上提供了一个相对管理文件,则 pkgadd 将在 /var/sadm/install/admin 中查找文件名并使用该文件。在本示例中,相对管理文件名为 nocheck,因此 pkgadd 将查找 /var/sadm/install/admin/nocheck。
# pkgadd -a nocheck |
如果提供了绝对文件,则 pkgadd 将使用该文件。在此示例中,pkgadd 在 /tmp 中查找 nocheck 管理文件。
# pkgadd -a /tmp/nocheck |
以下是一个安装管理文件示例,该安装管理文件几乎不需要与 pkgadd 实用程序进行用户交互。除非软件包需要的空间大于系统的可用空间,否则 pkgadd 实用程序将使用此文件并安装软件包,而不会提示用户输入更多的信息。
mail= instance=overwrite partial=nocheck runlevel=nocheck idepend=nocheck space=ask setuid=nocheck confiict=nocheck action=nocheck basedir=default
下列参考提供有关打包要求和特定命令语法的背景信息。
有关打包要求和术语定义的详细信息 |
《Application Packaging Developer’s Guide》中的第 6 章 “Advanced Techniques for Creating Packages” |
有关添加和删除软件包以及安装管理文件的基本信息 |
《System Administration Guide: Basic Administration》中的第 16 章 “Managing Software(Overview)” |
有关本附录中引用的特定命令的详细信息,请参见以下手册页 |
dircmp(1)、fssnap(1M)、ps(1) 或 truss(1) pkgadd(1M)、pkgchk(1M) 或 pkgrm(1M) |
有关 Solaris Live Upgrade 的概述 |
《Solaris 10 安装指南:Solaris Live Upgrade 和升级规划》中的第 6 章 “Solaris Live Upgrade(概述)” |
有关自定义 JumpStart 的概述 | |
有关 Solaris Zone 的概述 |