查看文章 |
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 |
最近读者: