在安装了区域的Solaris 系统上添加软件包
第24 章• 在安装了区域的Solaris 系统上添加和删除软件包和修补程序(任务) 287
在非全局区域(此过程中为my-zone)中,运行后跟软件包位置和软件包名称的pkgadd -d
命令。
如果从CD-ROM 安装软件包,请键入:
my-zone# pkgadd -d /cdrom/cdrom0/directory package_name
如果从已将软件包复制到其中的某个目录安装软件包,请键入:
my-zone# pkgadd -d disk1/image package_name
其中,disk1 为软件包的复制位置。
在安装了区域的Solaris 系统上检查软件包信息
您可以使用pkginfo 命令查询全局区域和非全局区域的软件包数据库。有关此命令的更多信
息,请参见pkginfo(1) 手册页。
如何仅在全局区域中检查软件包信息
要仅检查全局区域的软件包数据库,请使用后跟软件包名称的pkginfo。
global% pkginfo package_name
在全局区域中使用pkginfo 命令
global% pkginfo SUNWcsr SUNWcsu
system SUNWcsr Core Solaris, (Root)
system SUNWcsu Core Solaris, (Usr)
如何仅在指定的非全局区域中检查软件包信息
要在特定的非全局区域中检查软件包数据库,请登录到此非全局区域,并使用后跟软件包
名称的pkginfo。
my-zone% pkginfo package_name
在非全局区域中使用pkginfo 命令
my-zone% pkginfo SUNWcsr SUNWcsu
system SUNWcsr Core Solaris, (Root)
system SUNWcsu Core Solaris, (Usr)
2
◗
示例24–1
◗
示例24–2
在安装了区域的Solaris 系统上检查软件包信息
288 系统管理指南:Solaris Containers-资源管理和Solaris Zones • 2006 年7 月
从安装了区域的Solaris 系统中删除软件包
您可以使用pkgrm(1M) 手册页中所述的pkgrm 系统实用程序执行以下任务:
从全局区域和所有非全局区域中删除软件包
仅从指定的非全局区域中删除软件包
要删除软件包,SUNW_PKG_ALLZONES 和SUNW_PKG_HOLLOW 软件包参数设置必须匹配正确的值
(true 或false)。否则,不会获得所需的结果。有关这些软件包参数设置的影响的更多信
息,请参见第271 页中的“关于软件包和区域”。有关如何检查这些软件包参数设置的更
多信息,请参见第291 页中的“在安装了区域的系统上检查软件包参数设置”。
如何从全局区域和所有非全局区域中删除软件包
要执行此过程,您必须是全局区域中的全局管理员。
成为超级用户或承担主管理员角色。
有关如何创建该角色并将其指定给用户,请参见《System Administration Guide: Basic
Administration》中的“Using the Solaris Management ToolsWith RBAC (Task Map)”。
在全局区域中,运行后跟软件包名称的pkgrm 命令。
global# pkgrm package_name
如何仅从指定的非全局区域中删除软件包
要仅从指定的非全局区域中删除软件包,必须将SUNW_PKG_ALLZONES 软件包参数设置为
false。
要执行此过程,您必须是非全局区域中的区域管理员。
以区域管理员的身份登录到非全局区域。
在非全局区域(此过程中为my-zone)中,运行后跟软件包名称的pkgrm 命令。
my-zone# pkgrm package_name
将修补程序应用于安装了区域的Solaris 系统
您可以使用patchadd(1M) 手册页中所述的patchadd 系统实用程序执行以下任务:
仅将修补程序应用于全局区域
将修补程序应用于全局区域和所有非全局区域
仅将修补程序应用于指定的非全局区域
1
2
1
2
将修补程序应用于安装了区域的Solaris 系统
第24 章• 在安装了区域的Solaris 系统上添加和删除软件包和修补程序(任务) 289
如何仅将修补程序应用于全局区域
注– 如果要修补使用带有-G 选项的pkgadd 命令添加的软件包,则必须使用带有-G 选项的
patchadd 命令进行修补。
要执行此过程,您必须是全局区域中的全局管理员。
成为超级用户或承担主管理员角色。
有关如何创建该角色并将其指定给用户,请参见《System Administration Guide: Basic
Administration》中的“Using the Solaris Management ToolsWith RBAC (Task Map)”。
执行后跟-G 选项和修补程序ID 的patchadd 命令。
global# patchadd -G patch_id
如何将修补程序应用于全局区域和所有非全局区域
要执行此过程,您必须是全局区域中的全局管理员。
成为超级用户或承担主管理员角色。
有关如何创建该角色并将其指定给用户,请参见《System Administration Guide: Basic
Administration》中的“Using the Solaris Management ToolsWith RBAC (Task Map)”。
执行后跟修补程序ID 的patchadd 命令。
global# patchadd patch_id
如何仅将修补程序应用于指定的非全局区域
要仅将修补程序应用于指定的非全局区域,必须将修补程序集中所有软件包的
SUNW_PKG_ALLZONES 软件包参数设置为false。
要执行此过程,您必须是非全局区域中的区域管理员。
以区域管理员的身份登录到非全局区域。
在非全局区域(此过程中为my-zone)中,执行后跟修补程序ID 的patchadd 命令。
my-zone# patchadd patch_id
1
2
1
2
1
2
将修补程序应用于安装了区域的Solaris 系统
290 系统管理指南:Solaris Containers-资源管理和Solaris Zones • 2006 年7 月
在安装了区域的系统上删除修补程序
您可以使用patchrm(1M) 手册页中所述的patchrm 系统实用程序执行以下任务:
从全局区域和所有非全局区域中删除修补程序
仅从指定的非全局区域中删除修补程序
如何从全局区域和所有非全局区域中删除修补程序
要执行此过程,您必须是全局区域中的全局管理员。
成为超级用户或承担主管理员角色。
有关如何创建该角色并将其指定给用户,请参见《System Administration Guide: Basic
Administration》中的“Using the Solaris Management ToolsWith RBAC (Task Map)”。
执行后跟修补程序ID 的patchrm 命令。
global# patchrm patch_id
如何仅从指定的非全局区域中删除修补程序
要仅从指定的非全局区域中删除修补程序,必须将修补程序集中所有软件包的
SUNW_PKG_ALLZONES 软件包参数设置为false。
要执行此过程,您必须是非全局区域中的区域管理员。
以区域管理员的身份登录到非全局区域。
在非全局区域(此过程中为my-zone)中,执行后跟修补程序ID 的patchrm 命令。
my-zone# patchrm patch_id
在安装了区域的系统上检查软件包参数设置
在添加或删除软件包之前,您可以使用pkgparam 命令来检查软件包参数设置。此步骤是可
选的。在解决无法按预期方式添加或删除软件包的问题时,也可以执行此检查。有关显示
软件包参数值的信息,请参见pkgparam(1) 手册页。
1
2
1
2
在安装了区域的系统上检查软件包参数设置
第24 章• 在安装了区域的Solaris 系统上添加和删除软件包和修补程序(任务) 291
(可选)如何检查系统上已安装的软件包的设置
要检查已安装在全局区域或非全局区域中的软件包的参数设置,请使用后跟软件包名称和
参数名称的pkgparam。
my-zone% pkgparam package_name SUNW_PKG_ALLZONES
true
my-zone% pkgparam package_name SUNW_PKG_HOLLOW
false
(可选)如何检查CD-ROM 上软件中软件包的设置
要检查CD-ROM 上软件中未安装软件包的参数设置,请使用后跟CD-ROM 路径、软件包名称
以及参数名称的pkgparam -d。
my-zone% pkgparam -d /cdrom/cdrom0/directory package_name SUNW_PKG_ALLZONES
true
my-zone% pkgparam -d /cdrom/cdrom0/directory package_name SUNW_PKG_HOLLOW
false
◗
◗
在安装了区域的系统上检查软件包参数设置
292 系统管理指南:Solaris Containers-资源管理和Solaris Zones • 2006 年7 月
Solaris Zones 管理(概述)
本章介绍以下常规区域管理主题:
第293 页中的“本章新增内容”
第294 页中的“全局区域可见性和访问权限”
第294 页中的“区域中的进程ID 可见性”
第294 页中的“区域中的系统可查看性”
第295 页中的“非全局区域节点名称”
第295 页中的“文件系统和非全局区域”
第300 页中的“非全局区域中的网络”
第302 页中的“非全局区域中的设备使用”
第304 页中的“在非全局区域中运行应用程序”
第304 页中的“在非全局区域中使用的资源控制”
第305 页中的“安装了区域的Solaris 系统上的公平共享调度程序”
第305 页中的“安装了区域的Solaris 系统上的扩展记帐”
第305 页中的“非全局区域中的权限”
第306 页中的“在区域中使用IP 安全体系结构”
第306 页中的“在区域中使用Solaris 审计”
第307 页中的“区域中的核心转储文件”
第310 页中的“在安装了区域的Solaris 系统上使用的命令”
本章新增内容
Solaris 10 1/06:添加了新章节第297 页中的“在区域中卸载文件系统”。
Solaris 10 1/06:添加了有关区域备份和恢复过程的新章节。请参见第307 页中的“关于备
份安装了区域的Solaris 系统”。
Solaris 10 6/06:向第295 页中的“在区域中挂载文件系统”中的表内添加了ZFS 条目。
有关Solaris 10 新增功能的完整列表以及Solaris 发行版的描述,请参见《Solaris 10 What’s
New》。
25 第2 5 章
293
全局区域可见性和访问权限
全局区域既可作为系统的缺省区域,也可作为在系统范围内实施管理控制的区域。这种双
重角色会引起管理问题。由于全局区域内的应用程序有权访问其他区域中的进程和其他系
统对象,因此,管理操作的影响范围会比预期的范围更广。例如,服务关闭脚本通常使用
pkill 来通知退出具有给定名称的进程。在全局区域中运行此脚本时,将通知退出系统中所
有区域内的所有此类进程。
通常需要将整个系统作为考虑范围。例如,要监视系统范围内的资源使用情况,必须查看
整个系统中的进程统计信息。如果仅查看全局区域活动,则会遗漏系统中可能正在共享部
分或全部系统资源的其他区域的相关信息。在没有使用资源管理功能对系统资源(如
CPU)进行严格分区的情况下,此类查看尤为重要。
因此,全局区域中的进程可以查看非全局区域中的进程和其他对象。这样,此类进程便可
查看整个系统范围的内容。控制信号或将信号发送到其他区域中进程的功能由权限
PRIV_PROC_ZONE 加以限制。此权限类似于PRIV_PROC_OWNER,因为它允许进程覆盖对非特权
进程设定的限制。在这种情况下,所谓的限制是指全局区域中的非特权进程无法向其他区
域中的进程发送信号或控制这些进程。即使进程的用户ID 相匹配或者正在运行的进程拥有
PRIV_PROC_OWNER 权限,也会存在上述限制。可以删除其他特权进程的PRIV_PROC_ZONE 权
限,以将操作限制为仅对全局区域有效。
有关使用zoneidlist 匹配进程的信息,请参见pgrep(1) pkill(1) 手册页。
区域中的进程ID 可见性
只有同一区域中的进程才能通过使用进程ID 的系统调用接口(例如kill 和priocntl 命
令)进行查看。有关信息,请参见kill(1) 和priocntl(1) 手册页。
区域中的系统可查看性
对ps 命令进行了以下修改:
-o 选项用于指定输出格式。使用此选项,可以列显进程的区域ID 或运行此进程的区域
名称。
-z zonelist 选项用于仅列出指定区域中的进程。区域可以通过区域名称或区域ID 指定。
此选项仅在全局区域中执行命令时有用。
-Z 选项用于列显与进程关联的区域名称。区域名称在列标题ZONE 下列显。
有关更多信息,请参见ps(1) 手册页。
已将-z zonename 选项添加到以下Solaris 实用程序。可以使用此选项将信息过滤为仅包括指
定的一个或多个区域。
ipcs(请参见ipcs(1) 手册页)
全局区域可见性和访问权限
294 系统管理指南:Solaris Containers-资源管理和Solaris Zones • 2006 年7 月
pgrep(请参见pgrep(1) 手册页)
ptree(请参见proc(1) 手册页)
prstat(请参见prstat(1M) 手册页)
有关对命令所做更改的完整列表,请参见表25–2。
非全局区域节点名称
/etc/nodename 中通过uname -n 返回的节点名称可以由区域管理员设置。节点名称必须是唯
一的。
文件系统和非全局区域
本节介绍有关安装了区域的Solaris 系统上文件系统问题的相关信息。每个区域都有自己的
文件系统分层结构部分,根目录称为区域root。区域中的进程仅可访问区域根目录下的分
层结构部分中的文件。chroot 实用程序可以在区域中使用,但是仅用于将进程限制在区域
内的根路径。有关chroot 的更多信息,请参见chroot(1M)。
-o nosuid 选项
mount 实用程序的-o nosuid 选项具有以下功能:
在使用nosetuid 选项挂载的文件系统上,setuid 二进制命令中的进程无法使用setuid
二进制命令权限运行,而是使用执行此二进制命令的用户权限运行。
例如,如果用户执行属于root 的setuid 二进制命令,则进程使用此用户的权限运行。
不允许打开文件系统中的特定设备项。此行为相当于指定nodevices 选项。
所有可使用mount 实用程序(如mount(1M) 手册页中所述)挂载的Solaris 文件系统均可使用
特定文件系统的选项。在本指南中,这些文件系统在第295 页中的“在区域中挂载文件系
统”中列出。同时也对挂载功能进行了说明。有关-o nosuid 选项的更多信息,请参
见《System Administration Guide: Network Services》中的“访问网络文件系统(参考)”。
在区域中挂载文件系统
下表介绍用于在非全局区域中挂载文件系统的选项。其他挂载方法过程在第225 页中的“
配置、检验并提交区域”和第324 页中的“在正在运行的非全局区域中挂载文件系统”中
介绍。
阅读(464) | 评论(0) | 转发(0) |