以下过程说明在服务器上创建 Oracle Solaris OS 服务后,如何找到并安装缺失的 ARCH=all 软件包。此过程中提供的示例适用于 Solaris 10 6/06 OS。
找到所有包含 ARCH=all 参数的软件包。
将目录更改为 Oracle Solaris 10 映像介质的 Product 目录。例如:
% cd /net/server/export/Solaris/s10u2/combined.s10s_u2wos/latest/Solaris_10/Product |
列出 pkginfo 文件中包含 ARCH=all 参数的所有软件包。
% grep -w ARCH=all */pkginfo |
如果显示的错误消息指示参数列表太长,则还可以运行以下命令以生成对应的列表:
% find . -name pkginfo -exec grep -w ARCH=all {} /dev/null \; |
请注意,运行此命令需要较长时间才能产生结果。
输出以下类似内容:
./SUNWjdmk-base/pkginfo:ARCH=all ./SUNWjhdev/pkginfo:ARCH=all ./SUNWjhrt/pkginfo:ARCH=all ./SUNWjhdem/pkginfo:ARCH=all ./SUNWjhdoc/pkginfo:ARCH=all ./SUNWmlibk/pkginfo:ARCH=all
通过此列表中提供的信息,可以确定在 /usr 文件系统中安装的软件包以及在根目录 (/) 文件系统中安装的软件包。
检查生成的软件包列表中的 SUNW_PKGTYPE 参数值。
在 pkginfo 文件中,属于 /usr 文件系统的软件包被指定为 SUNW_PKGTYPE=usr。而在 pkginfo 文件中,属于根目录 ( /) 文件系统的软件包被指定为 SUNW_PKGTYPE=root。在前面的输出中,所有的软件包都属于 /usr 文件系统。
成为超级用户或同等角色。
角色包含授权和具有一定权限的命令。有关角色的更多信息,请参见 《系统管理指南:安全性服务》中的“配置 RBAC(任务列表)”。
创建临时的安装管理文件。
必须为根目录 (/) 文件系统中安装的软件包和 /usr 文件系统中安装的软件包分别创建一个单独的安装管理文件。
对于 /usr 文件系统中安装的 ARCH=all 软件包,请创建以下临时安装管理文件:
# cat >/tmp/admin_usr <<EOF mail= instance=unique partial=nocheck runlevel=nocheck idepend=nocheck rdepend=nocheck space=nocheck setuid=nocheck conflict=nocheck action=nocheck basedir=/usr_sparc.all EOF # |
对于根目录 (/) 文件系统(如果存在)中安装的 ARCH=all 软件包,请创建以下临时安装管理文件:
# cat >/tmp/admin_root <<EOF mail= instance=unique partial=nocheck runlevel=nocheck idepend=nocheck rdepend=nocheck space=nocheck setuid=nocheck conflict=nocheck action=nocheck EOF # |
安装缺失的 ARCH=all 软件包。
如果当前目录不是 Oracle Solaris 10 映像介质的“Product”目录,请将目录更改为此目录。例如:
# cd /net/server/export/Solaris/s10u2/combined.s10s_u2wos/latest/Solaris_10/Product |
可以运行 pwd 命令,以确定当前目录。
在 /usr 文件系统中安装缺失的 ARCH=all 软件包。
# pkgadd -R /export/Solaris_10 -a /tmp/admin_usr -d `pwd` [ package-A package-B ...] |
运行 pkgadd 命令时,可以列出多个软件包。
检查 ARCH=all 软件包是否已安装。
# pkginfo -R /export/Solaris_10 [package-A package-B ...] |
在根目录 (/) 文件系统中安装缺失的 ARCH=all 软件包。
请注意,这些软件包可能不存在。
# pkgadd -R /export/root/clone/Solaris_10/sun4u -a /tmp/admin_root -d `pwd` [ package-X package-Y ...] |
检查 ARCH=all 软件包是否已安装。
# pkginfo -R /export/root/clone/Solaris_10/sun4u [ package-X package- ...] |
添加完缺失的 ARCH=all 软件包后,请删除临时安装管理文件。
# rm /tmp/administration-file |
本示例说明如何在 /usr 文件系统中安装缺失的 ARCH=all 软件包 SUNWjdmk-base。
% uname -a SunOS t1fac46 5.10 Generic_118833-02 sun4u sparc SUNW,UltraSPARC-IIi-cEngine % cat /etc/release Solaris 10 6/06 s10s_u2wos_03 SPARC Copyright 2006 Sun Microsystems, Inc. All Rights Reserved. Use is subject to license terms. Assembled 06 February 2006 % cd /net/ventor/export/Solaris/s10u2/combined.s10s_u2wos/latest/Solaris_10/Product % grep -w ARCH=all */pkginfo Arguments too long % find . -name pkginfo -exec grep -w ARCH=all {} /dev/null \; ./SUNWjdmk-base/pkginfo:ARCH=all ./SUNWjhdev/pkginfo:ARCH=all ./SUNWjhrt/pkginfo:ARCH=all ./SUNWjhdem/pkginfo:ARCH=all ./SUNWjhdoc/pkginfo:ARCH=all ./SUNWmlibk/pkginfo:ARCH=all % grep -w SUNW_PKGTYPE=usr ./SUNWjdmk-base/pkginfo ./SUNWjhdev/pkginfo ... ./SUNWjdmk-base/pkginfo:SUNW_PKGTYPE=usr ./SUNWjhdev/pkginfo:SUNW_PKGTYPE=usr ./SUNWjhrt/pkginfo:SUNW_PKGTYPE=usr ./SUNWjhdem/pkginfo:SUNW_PKGTYPE=usr ./SUNWjhdoc/pkginfo:SUNW_PKGTYPE=usr % grep -w SUNW_PKGTYPE=root ./SUNWjdmk-base/pkginfo ./SUNWjhdev/pkginfo ... % su Password: xxxxxx # cat >/tmp/admin_usr <<EOFmail= instance=unique partial=nocheck runlevel=nocheck idepend=nochec> k rdepend=nocheck space=nocheck setuid=nocheck conflict=nocheck action=nocheck basedir=/usr_sparc.all EOF # pwd /net/ventor/export/Solaris/s10u2/combined.s10s_u2wos/latest/Solaris_10/Product # pkginfo -R /export/Solaris_10 SUNWjdmk-base ERROR: information for "SUNWjdmk-base" was not found # pkgadd -R /export/Solaris_10 -a /tmp/admin_usr -d `pwd` SUNWjdmk-base Processing package instance <SUNWjdmk-base> </net/ventor/export/Solaris/s10u2/combined.s10s_u2wos... Java DMK 5.1 minimal subset(all) 5.1,REV=34.20060120 Copyright 2005 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Using </export/Solaris_10/usr_sparc.all> ## Processing package information. ## Processing system information. Installing Java DMK 5.1 minimal subset as <SUNWjdmk-base> ## Installing part 1 of 1. 2438 blocks Installation of <SUNWjdmk-base> was successful. # pkginfo -R /export/Solaris_10 SUNWjdmk-base application SUNWjdmk-base Java DMK 5.1 minimal subset # rm /tmp/admin_usr |