手机站
网通分站
电信主站
密 码:
用户名:
当前位置 : 主页>网站运营>建站经验>列表

Solaris 10 安装及SVC管理

来源:互联网 作者:west263.com 时间:2008-04-16
西部数码-全国虚拟主机10强!40余项虚拟主机管理功能,全国领先!双线多线虚拟主机南北访问畅通无阻!免费赠送企业邮局,.CN域名,自助建站480元起,免费试用7天,满意再付款! P4主机租用799元/月.月付免压金!


开启内核引导过程的冗余模式,这样会显示出启动过程中的更多信息;这时我发现,这些系统
服务并不是没有启动,而是启动过程中失败了。
再运行一次服务诊断命令:
========================================================================
# svcs -x -v
========================================================================

这下问题全都暴露出来了,原来是因为我新装的系统中没有建立系统DNS解析配置文档/etc/resolv.conf
导致系统dns client服务启动失败,而dns client则是许多服务的依赖前置服务,包括inetd、
sshd、sendmail等几乎任何的网络服务,假如他启动失败则整个服务树中后继的一系列服务都将
无法自动运行!然后inetd则影响则gss-api等一系列服务,而gss-api这个服务又影响了十多个
后继服务。最后因为一个小小的疏漏--没有手工建立/etc/resolv.conf文档,就导致整个Solaris 10
系统中的任何网络服务启动失败。(Solaris 2系列历史上遗留下来的毛病,即安装过程中您能够
指定 DNS服务器 和 默认路由,但他不会自动保存。必须在安装完成系统之后手工建立和设定
/etc/resolv.conf 和 /etc/defaultrouter 两个文档)

发现原因,问题就好解决,首先建立缺少的文档,然后依次按照dependent树启用一系列服务。
========================================================================
# echo "202.96.209.6">/etc/resolv.conf
# svcadm enable -t svc:/network/dns/client
# svcadm enable -t svc:/network/inetd
# sync && reboot
========================================================================


几条小tips:
1. Solaris 10启动过程中不会在控制台上显示太多信息,能够在eeprom或boot模式下输入
boot -m verbose来开启冗余信息模式,对于系统错误诊断有很大帮助。

2. 假如您的系统安装时选择的是中文环境的话,那么安装完成后,在终端(非X-Window)环境
下可能任何的命令提示和输出信息都是乱码,那么能够用如下命令回到英文的环境:
$ LANG=""
$ export LANG
以上为默认的ksh

% setenv LANG zh
以上为csh

$ LANG=""
以上为bash

3. Solaris 10中采用了新的SMF体系来控制系统服务和守护进程,比原来的SVR4 RC要复杂
多了:_< 类似AIX和Windows NT的体系。 很多原来的rc脚本现在都由SMF/SVC来控制。
SMF的基本体系:
管理命令 svcadm(服务状态管理,启动、停止等)
svcs(服务信息和诊断)
svccfg(服务参数配置)
配置文档 在/etc/svc目录下,似乎使用了sqllite数据库格式,因此只能用svccfg命令
管理
启动 在/etc/inittab中,启动smf::sysinit:/lib/svc/bin/svc.startd一行
然后由svc.startd来替代原来init和rc所作的一系列工作
一些启动脚本 在/lib/svc/method目录下,替代了部分/etc/rc*.d中的启动脚本作用
也能够直接手工运行这些脚本来强制启动某个服务(不根据依赖树关系)
关于SMF,也许过几天再写一篇文章来周详讲一下他的体系吧。

4. 一条有用的命令
# svcs -x -v
能够检查当前系统中的服务状况,并自动诊断出服务出错的原因。

5. 一些能够代替以前/etc/rc*.d/S**的命令:
# svcs
查看当前任何的服务状态,能够使用|管道符重定向作更个性化的查找;如
# svcs |grep online 查看当前运行服务
# svcs |grep offline 查看当前停止服务
# svcs |grep inetd 查看inetd服务状态

# svcadmin enable svc:network/finger
启用一个服务,本例是finger,在原来的rc体系中相当于配置/etc/inetd.conf开启finger

#svcadm disable svc:network/ssh
仅用一个服务,本例中是禁用sshd服务,在原来的rc体系中相当于执行了
mv /etc/rc2.d/S55sshd /etc/rc2.d/x.S55sshd

假如要立即停止或启动服务,那么能够使用svcadm的-t参数:
# svcadm disable -t network/ssh
停止sshd服务,相当于 /etc/init.d/sshd stop
# svcadm enable -t network/ssh
启动sshd服务,相当于 /etc/init.d/sshd start
# svcadm restart network/ssh
重启(停止并启动)sshd服务,相当于 /etc/init.d/sshd stop; /etc/init.d/sshd start
# svcadm refresh network/ssh
刷新sshd(重新读取配置文档),相当于 kill -HUP `cat /var/run/sshd.pid`

6. Solaris 10默认安装配置下是不允许root用户远程通过ssh登录的,这样也许不太方便,那么
能够修改 /etc/ssh/sshd_config 文档中 PermitRootLogin no 一行为yes,然后重新
启动sshd服务。

7. 最后,现在大家安装完成Solaris 10之后,可千万不要在忘记手工建立:
/etc/resolv.conf 和 /etc/defaultrouter
了,现在的后果可不像以前仅仅不能解析DNS那么简单:_< 该死的SMF。

解决了网络服务和sshd的问题,再来看看X-Window和Dtlogin吧。

开始安装过程中,系统是能够很好的识别Vmware的虚拟硬件,并且支持到1024x760x24bpp的

文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!