百度空间 | 百度首页 
 
查看文章
 
svcs 笔记
2009-10-30 22:33
还可以使用svcs -p 查看服务和进程之间的关系
使用svcs -x 来解释服务没有运行的原因,这便于调试和询问有关服务的问题。此
外,由于每个服务都有单独的持久性日志文件,因此该过程进一步得到了简化。

SMF 清单是一个XML 文件,其中包含与服务或服务实例相关的一整套属性。这些文件
存储在/var/svc/manifest 中。不应当使用清单来修改服务的属性。服务配置系统信息
库是配置信息的授权来源。要将清单中的信息引入到系统信息库中,必须运行svccfg
import 或者允许服务在系统引导过程中导入信息。

SMF 配置文件是一个XML 文件,其中列出了一组服务实例以及每个服务是应当处于启
用状态还是禁用状态。下面是随Solaris 发行版提供的一些配置文件:
■ /var/svc/profile/generic_open.xml-此配置文件可启用早期Solaris 发行版在缺省
情况下启动的标准服务。
■ /var/svc/profile/generic_limited_net.xml-此配置文件可禁用早期Solaris 发行版
在缺省情况下启动的许多Internet 服务。将启用network/ssh 服务,以提供网络连通
性。
■ /var/svc/profile/ns_*.xml-这些配置文件可启用与配置为在系统上运行的名称服
务相关联的服务。
■ /var/svc/profile/platform_*.xml-这些配置文件可启用与特定硬件平台相关联的
服务。

本示例显示系统的当前运行级以及以前的运行级的相关信息。
$ who -r
. run-level 3 Dec 13 10:10 3 0 S


显示服务相关项。
% svcs -D FMRI

以下示例显示包括许多合同的服务的状态。
% svcs -l network/login:rlogin

以下命令列出由inetd 控制的服务,其中包括每个服务的FMRI、运行状态以及服务是
处于启用还是禁用状态。
% inetadm

▼ 如何恢复处于维护状态的服务
确定依赖该服务的任何进程是否已停止。
通常,当某个服务实例处于维护状态时,与该实例相关的所有进程均已停止。但是,
您应当在继续操作之前确保这一点。以下命令将列出与某个服务实例相关的所有进程
以及这些进程的PID(进程标识符)。
# svcs -p FMRI
如有必要,请修复服务配置。
有关错误的列表,请查看/var/svc/log 中相应的服务日志文件。
恢复此服务。
# svcadm clear FMRI

▼ 如何更改服务的环境变量
# svccfg -s system/cron:default setenv UMEM_DEBUG default
# svccfg -s system/cron:default setenv LD_PRELOAD libumem.so
刷新和重新启动该服务。
# svcadm refresh system/cron
# svcadm restart system/cron
检验是否已进行更改。
# pargs -e ‘pgrep -f /usr/sbin/cron‘

▼ 如何更改由inetd 控制的服务的属
列出指定服务的属性。
以下命令显示由FMRI 标识的服务的所有属性。
# inetadm -l FMRI
更改该服务的属性
# inetadm -m FMRI property-name=value

▼ 如何使用运行控制脚本来停止或启动传统服务
停止系统服务。
# /etc/init.d/filename stop
重新启动系统服务。
# /etc/init.d/filename start
检验服务是否已停止或启动。
# pgrep -f service

如何添加运行控制脚本
如果要添加用来启动和停止服务的运行控制脚本,请将该脚本复制到/etc/init.d 目录
中。然后,在要从其中启动和停止服务的rcn .d 目录中创建链接。
有关命名运行控制脚本的更多信息,请参见每个/etc/rc n.d 目录中的README 文件。以
下过程介绍如何添加运行控制脚本。
向/etc/init.d 目录中添加脚本。
# cp filename /etc/init.d
# chmod 0744 /etc/init.d/filename
# chown root:sys /etc/init.d/filename
创建指向相应rc n.d 目录的链接。
# cd /etc/init.d
# ln filename /etc/rc2.d/Snnfilename
# ln filename /etc/rcn.d/Knnfilename
检验脚本在指定的目录中是否具有链接。
# ls /etc/init.d/*filename /etc/rc2.d/*filename /etc/rcn.d/*filename

浏览“Solaris 产品注册”。
% prodreg browse

▼ 如何卸载软件(prodreg)
可以使用prodreg 命令的uninstall 子命令来从系统中删除软件。在使用prodreg
uninstall 命令卸载软件时,会同时删除指定的软件以及与该软件相关的所有子组件。
在删除软件之前,检验其他软件是否依赖要卸载的软件。
查看有关要卸载的软件的信息。
# prodreg browse -u name-UUID
卸载该软件。
# prodreg uninstall -u name-UUID
检查要卸载的软件的相关性。
# prodreg info -u name-UUID

将软件包添加到假脱机目录中
为方便起见,可以将经常安装的软件包复制到假脱机目录中。如果将软件包复制到缺
省的假脱机目录(/var/spool/pkg) 中,那么,在使用pkgadd 命令时无需指定软件包的
源位置(-d device-name 参数)。缺省情况下,pkgadd 命令会检查在命令行上指定的软
件包是否存在于/var/spool/pkg 目录中。请注意,将软件包复制到假脱机目录中不同
于在系统上安装软件包。

将软件包添加到假脱机目录中。
# pkgadd -d device-name -s spooldir pkgid ...   



检查已安装软件包的文件属性
以下示例说明如何检查软件包的文件属性。
# pkgchk -a SUNWbash
检查已安装软件包的状态。
■ 要检查文件的属性和内容,请键入以下命令:
# pkgchk -a| -c -v pkgid ...

如何检查已安装对象的完整性( pkgchk -p, pkgchk
-P)
以下过程介绍如何使用pkgchk 命令检查已安装对象的完整性。使用新的-P 选项,可以
指定部分路径。添加此选项有助于将文件映射到软件包。将该选项与-l 选项一起使
用,可以列出包含部分路径的所有文件的信息。使用-p 选项,可以通过指定全路径来
检查已安装对象的完整性。
要通过指定一个或多个全路径名来检验已安装对象的完整性,请键入以下命令:
# pkgchk -lp path-name
■ 要使用部分路径名(可以是一个或多个)来检验已安装对象的完整性,请键入以下
命令:
# pkgchk -lP partial-path-name



类别:Opensource | 添加到搜藏 | 浏览() | 评论 (0)
 
最近读者:
 
网友评论:
发表评论:
姓 名:
网址或邮箱: (选填)
内 容:
验证码: 请点击后输入四位验证码,字母不区分大小写
      

     

©2009 Baidu