常规任务
SMF是Solaris中一项特别显著的更改,因为它影响了管理模型。因此,尽管我们鼓励您阅读有关 SMF 功能的详细信息(请参见以下“详细信息”部分),但您可能还是希望从学习如何执行一些常规系统管理任务开始。
◆启用和禁用服务
在Solaris 10之前的版本中,没有一个很好的方法来永久禁用Solaris中的服务。常用方法是将相应的rc脚本重命名为不再执行的名称,但在下一次系统升级后此更改将会失效。此外,基于inetd的服务是通过一种完全不同的方法(即编辑配置文件)启用和禁用的。在SMF下,可以使用svcadm(1M)命令配置这两种类型的服务,并且在计算机升级后这些更改将持续有效。以下是对启用和禁用某些服务的方式的比较:
旧方法:mv /etc/rc2.d/S75cron /etc/rc2.d/x.S75cron
SMF 方法:svcadm disable system/cron:default
旧方法:编辑 /etc/inet/inetd.conf,将 finger 行取消注释
SMF 方法:svcadm enable network/finger:default
在上述示例中,svcadm 的最后一个参数是服务的 FMRI。
请注意,svcadm仅用于SMF服务,由rc脚本控制的传统服务与在早期发行版中的工作方式相同。
◆停止、启动和重新启动服务
过去,服务已由引导时运行的rc脚本启动,并通过 start 参数运行。一些rc脚本提供了stop选项,少数rc脚本还允许使用restart。在 SMF 中,这些任务都是通过svcadm(1M)命令完成的:
旧方法:/etc/init.d/sshd stop
SMF 方法:svcadm disable -t network/ssh:default
旧方法:/etc/init.d/sshd start
SMF 方法:svcadm enable -t network/ssh:default
旧方法:/etc/init.d/sshd stop; /etc/init.d/sshd start
SMF 方法:svcadm restart network/ssh:default
旧方法:kill -HUP `cat /var/run/sshd.pid`
SMF 方法:svcadm refresh network/ssh:default
svcadm enable 和 svcadm disable 的 "-t" 选项表示所请求的操作应该是临时的 (temporary),它不会影响此服务是否会在系统下一次引导时启动。这与上述“启用和禁用服务”示例形成了对比。
与启用和禁用服务一样,不应该使用 svcadm 控制由 rc 脚本控制的服务;这些服务将始终按早期发行版中的方式工作。
◆观察引导过程
如“显著的更改”部分所述,在缺省情况下,引导过程与早期的 Solaris 发行版相比要精简得多。这样就减少了不能提供有价值信息的“无用消息”,这些“无用消息”可能会导致引导期间发生的任何实际问题不容易被发现。
已添加一些新的引导选项,以控制引导的详细程度。您可能会发现一个特别有用的选项 "-m verbose",该选项在每个服务尝试启动时打印一行信息。这与基于 Unix 和与 Unix 相似的某些其他操作系统的缺省引导模式相似。详细的引导过程如下所示:
ok boot -m verbose
Rebooting with command: boot -m verbose
Boot device: /pci@1c,600000/scsi@2/disk@0,0:aFile and args: -m verbose
SunOS Release 5.10 Version Generic 64-bit
Copyright 1983-2004 Sun Microsystems, Inc. All rights reserved.
Use is subject to license terms.
[ network/pfil:default starting (pfil) ]
[ network/loopback:default starting (Loopback network interface) ]
[ system/filesystem/root:default starting (Root filesystem mount) ]
Oct 18 13:53:02/13: system start time was Mon Oct 18 13:52:57 2004
[ network/physical:default starting (Physical network interfaces) ]
[ system/filesystem/usr:default starting (/usr and / mounted read/write) ]
( more service messages elided )
[ system/filesystem/local:default starting (Local filesystem mounts) ]
[ network/ntp:default starting (network time protocol (NTP)) ]
[ system/utmp:default starting (utmpx monitoring) ]
[ system/filesystem/local:default starting (Local filesystem mounts) ]
[ system/console-login:default starting (Console login) ]
demobox console login: checking ufs filesystems
/dev/rdsk/c0t0d0s7: is logging.
Oct 18 13:53:14/50: system/system-log:default starting
Oct 18 13:53:14/51: network/inetd:default starting
Oct 18 13:53:14/52: system/cron:default starting
( more service messages elided )