一、 如何修改服务
1 修改smf服务
以下过程显示如何更改不是由 inetd 服务管理的服务的步骤:
成为超级用户或承担包括 Service Management 权限配置文件的角色。
根据需要对配置文件进行更改。
重新启动服务。
# svcadm restart FMRI
说明:许多服务都有一个或多个用来定义启动或其他配置信息的配置文件。这些文件可以在服务正在运行时进行更改。只有当服务已经启动后,才能检查这些文件的内容。我们看一个例子:
更改NFS 文件系统共享的目录
要更改 NFS 服务共享文件系统,必须在 /etc/dfs/dfstab 文件中定义 NFS 文件系统,然后重新启动 NFS 服务。以下示例显示 dfstab 文件的外观以及如何重新启动服务。
2 查看、修改服务的环境变量# cat /etc/dfs/dfstab
cat /etc/dfs/dfstab
share -F nfs -o rw=engineering -d "home dirs" /export/home2
# svcadm restart svc:/network/nfs/server
Unix(包括Solaris)是一个多用户的操作系统。每个用户登录系统后,都会有一个专用的运行环境。通常每个用户默认的环境都是相同的,这个默认环境实际上就是一组环境变量的定义。用户可以对自己的运行环境进行定制,其方法就是修改相应的系统环境变量。
(1) 使用set命令显示所有本地定义的Shell变量,如图1

图1 用set命令显示所有本地定义的Shell变量
从图1可以看到登录的用户名称(root),终端号(6),SSh ip地址和端口等信息。
(2) 使用env命令显示所有的环境变量
(3) 修改环境变量的步骤# env
HOME=/
LANG=zh_CN.GB18030
LOGNAME=root
MAIL=/var/mail//root
PATH=/usr/sbin:/usr/bin
SHELL=/sbin/sh
SSH_CLIENT=192.168.206.12 1048 22
SSH_CONNECTION=192.168.206.12 1048 192.168.206.129 22
SSH_TTY=/dev/pts/6
TERM=xterm
TZ=PRC
USER=root
以下过程显示如何修改 cron 环境变量以帮助进行调试。cron 系统可处理所有基于时间的命令执行计划,并提供了可用于在特定时间运行命令的两个不同解决方案。
成为超级用户或承担包括 Service Management 权限配置文件的角色。
检验该服务是否正在运行。
命令输出如图2 。# svcs system/cron
STATE STIME FMRI
online 19:06:04 svc:/system/cron:default
 查看修改前的环境变量
使用命令:pargs -e `pgrep -f /usr/sbin/cron`

图2查看修改前的环境变量
设置环境变量。
下面笔者设置的是 UMEM_DEBUG 环境变量。使用命令如下:
命令输出如图3 。# svccfg -s system/cron:default setenv UMEM_DEBUG default
 刷新和重新启动该服务
使用命令如下:
# svcadm refresh system/cron
# svcadm restart system/cron
 检验修改是否生效
使用命令:pargs -e `pgrep -f /usr/sbin/cron`

对比图2和图3 可以看到修改后的环境变量是:
envp[7]: UMEM_DEBUG=default