Solaris启动过程详解.docx
- 文档编号:8587590
- 上传时间:2023-01-31
- 格式:DOCX
- 页数:10
- 大小:20.80KB
Solaris启动过程详解.docx
《Solaris启动过程详解.docx》由会员分享,可在线阅读,更多相关《Solaris启动过程详解.docx(10页珍藏版)》请在冰豆网上搜索。
Solaris启动过程详解
Solaris启动过程详解
<1>引导
在Sparc平台下,Solaris系统中有一个类似PCBIOS的芯片程序(EEPROMOpenBoot)负责识别分区、文
件系统和加载内核,在Solaris2.6之后的版本中,默认的内核文件存放在/platform/`arch`/kernel/unix
位置,`arch`指令是指明系统的硬件体系,目前一般是i86pc(IntelIA32)或sun4u(SunUntraSparc)。
在Intel体系中,因为没有eepromfirmware,所以系统提供了一个模拟eeprom的引导程序,来负责
内核的定位和加载,这个程序是工作在实模式下的,系统必须要给他提供一个fat12/16格式的boot分区,
在系统引导完成之后可以在/boot/solaris下找到他的配置文件。
(SolarisIA使用默认内核/kernel/unix)
整个系统启动过程如下:
===========================================================================
init0openboot模式->(引导内核,加载硬件驱动)可以选择从cdrom引导进入维护模式
|
V
init1单用户模式->(加载/分区)登陆进入维护模式,或按Ctrl+D进入多用户模式
|
V
init2网络工作站模式->(连接网络,运行网络工作站服务)运行/etc/rc2脚本连接网络
||
|->->启动S69inet服务,运行部分inetd网络服务
V
init3网络服务器模式->(运行各种网络服务)运行/etc/rc3脚本启动网络服务器
<2>启动
Solaris的启动进程是按照SYSV格式控制的,启动过程分为若干个运行级别(S,1-6),当系统内核
运行完毕,加载好所有的驱动之后,就会把控制权移交给/sbin/init进程(PID:
1),也就是所有进
程的父进程,然后由init读取/etc/inittab,依次执行/etc/rc1(2,3)启动脚本,最终到达inittab
中指定的默认运行级别。
rc脚本会读取/etc/rc*.d中的启动脚本,启动脚本以大写字母S开头,在rc
运行期间就会被执行,S后面的两位数字域决定启动顺序,因为启动进程之间有一定的依赖关系(以K
开头意味着进入这个级别时,服务将会被杀掉,其余字母开头的被忽略)。
虽然同属于SYSV系统引导方式,但是Solaris的引导过程和我们常见的Linux却有很大差别,并且和
传统Unix的init级别也略有不同。
在Linux中,系统运行级别是并行式的,也就是系统加载完内核和
mount/文件系统之后,就会直接跳转到相应的默认运行级别,而不依次执行各个级别的启动脚本。
但
在Solaris中,采取了一种串行化的引导方式,就是依次执行init1/2/3,直到默认运行级别,在每
个级别中的所有启动脚本都会被执行。
所以在这里我以一种和传统Unix划分方式不同的说明方法,
把Solaris的启动级别称为:
1,单用户模式2,网络工作站模式3,网络服务器模式
下面是/etc中所有的启动运行脚本简要说明
===========================================================================
initinittabrc0rc1rc2rc3rc5rc6rcSinit.d
init系统启动超级进程
inittab进程启动配置文件
rc0-rc6各启动级别的启动脚本
rcS单用户模式启动脚本
init.d启动脚本存放目录
rc0.d:
eepromOpenBoot状态,可以进入硬件维护模式,或关闭机器。
rc1.d:
单用户模式,可以对系统进行软件维护。
S01MOUNTFSYS+加载文件系统
S10lu=当运行liveupdate后清理系统
rc2.d:
多用户模式,启动网络工作站服务。
(最后会启动dtlogin允许图形界面工作站)
S01MOUNTFSYS
S05RMTMPFILES+清空/tmp文件系统
/tmp是系统缓存文件目录,和swap分区共享空间,如果分区满的话会
对系统性能造成很大影响
S10lu=
S20sysetup+设置系统初始参数
设置hostname等
S21perf=性能记账服务(无效)
开启accton记账服务,默认无效
S+配置基本网络参数
设置系统ip地址等
S40llc2+启动ClassIIlogicallinkcontroldriver
逻辑链路控制程序驱动
S42ncakmod=启动SolarisNetworkCacheandAccelerator(NCA)
NCA网络缓存加速驱动,可以提高HTTPServer吞吐率
S47pppd-启动拨号访问服务器进程
串行线拨号访问服务器
S69inet=启动inetd进程
Internet服务超级进程,配置文件/etc/inetd.conf,启动一系列
服务,如telnet/ftp等
s70uucp-启动uucp
uucp服务,无用
S71rpc+启动rpcbind服务
rpcbind(RPCPortmap服务),如果需要CDE的话,这个进程是必需的
S71sysid.sys+配置一些系统参数
S71ldap.client-启动LDAP客户端
S72directory-启动目录服务
S72inetsvc+启动inetserver,包含named/nis
启动名字解析服务,包含named和nis两部分
s72slpd-启动slpd
打印服务系统的一部分
S72autoinstall=启动自动安装守护进程
当放入sun兼容的媒体介质时,会自动启动安装脚本
S73cachefs.daemon-启动cachefsd
NFS缓存服务,可以提高NFS吞吐率
S73nfs.client=启动nfs客户端
NFS客户端程序
S74syslog+启动syslog
系统日志守护进程,必需
s74autofs-启动automountfsd
当使用NFS时,这个进程会自动加载或卸载无用的用户网络文件系统
配置文件/etc/auto_home和auto_master
但是当没有使用nfs时,这个进程会对系统管理造成一些负面影响
s74xntpd-启动网络时间同步服务
S75cron+启动crontab服务
系统任务自动调度守护进程
S75savecore+
S76nscd+启动nscd,名字服务缓存
DNS名字缓存服务
S80kdmconfig=启动kdmconfig
如果系统启动时X-Window配置文件丢失,这个进程会启动X-Window配置
S80spc-启动lpd打印守护进程
打印服务系统的一部分
s80lp-启动lpd打印调度守护进程
打印服务系统的一部分
S85lmgrd+启动flexlmlicense服务器
SolarisLicense管理服务器
S85power+启动电源守护进程
S88utmpd+启动utmpd
s88sendmail-启动sendmail
S89PRESERVE=
保留,无效
S90wbem=启动wbem,基于web的管理界面
WBEM,Solaris系统管理界面服务器,可以使用/usr/sadm/bin/smc
启动客户端程序连接管理
S93cacheos.finish-
S94ncalogd=启动SolarisNetworkCacheandAcceleratorLOGd
NCA进程日志
S95IIim+启动输入法守护进程
Solaris国际化支持的一部分,启动东亚语言输入法
S95svm.sync+启动devfsadm,devfs同步进程
监控系统硬件,使/dev与/devices设备文件同步
S99audit+启动BSM审计进程
SolarisBaseSecurieyModula,启动SolarisC2安全审计
默认未启动
S99dtlogin=启动CDE登录进程
SolarisCDE图形界面启动进程
rc3.d:
多用户模式,启动网络服务器模式
S15nfs.server-启动nfs服务器
NFS网络文件服务器
S13kdc.master-启动Kerberos服务器
S14kdc-启动Kerberos服务器
Kerberos认证服务器
S16boot.server-启动bootp服务器
boot网络启动服务
S34dhcp=启动dhcp
DHCP服务器
S50apache-启动apache服务器
S76snmpdx-启动snmp服务器
启动SNMP服务,允许远程网络管理
S77dmi-启动snmp-dmi服务
SNMP子服务
S89sshd+启动sshd服务器
SSH服务器
S80mipagent-启动MobileIP代理
S90samba-启动samba服务器
SambaCIFS网络文件服务器
*在上面的启动脚本说明中,第二个域说明服务的必要性,个人的经验总结。
+代表必须服务,系统正常运行必须
=代表可选服务,由用户环境决定
-代表无效,不必要,或不安全的服务
<3>进程
下面是系统启动后的默认进程情况,因为Solaris是一个系统环境相对较稳定的系统,所以每次启动
之后,系统的基本进程和服务情况应该都差不多的,下面是常见的进程和服务说明。
===========================================================================
#ps-el
FSUIDPIDPPIDCPRINIADDRSZWCHANTTYTIMECMD
19T00000SYfec287cc0?
0:
01+sched
*系统进程调度
8S01004020de7a9808319de95ce16?
0:
00+init
*init进程
19S02000SYde7a91080fec4d4b8?
0:
00+pageout
*内存换页进程
19S03020SYde7a8a080fecea0bc?
0:
06+fsflush
*文件系统同步进程
8S0372104020de7a8308448de955d68?
0:
00+sac
*sac监控进程,和ttymon一起提供终端登陆功能
8S038135504020de7a7c081581de9c80a8?
0:
01=dtlogin
*CDE登陆进程
8S0187104020de7a7508649de955ee8?
0:
00+cron
*crontab任务调度守护进程
8S063104020de7a6e08680de95c456?
0:
00+sysevent
*?
?
8S077104020de7a6708730deb1ccb6?
0:
02=picld
*?
?
8S0129104020de7a6008542de5f083a?
0:
00+rpcbind
*rpc监控总进程,=portmat
8S0178104020de7a1810930deb1c496?
0:
00+syslogd
*syslog系统日志守护进程
8S0152104020de7a1110489de5f077a?
0:
00=inetd
*internet服务超级守护进程
8S0195104020de7a0a10673debedcd6?
0:
00=nscd
*名字服务缓存进程
8S1161104020de7a0310613de5f097a?
0:
00-statd
*rpc.statd,NFS文件服务状态同步子进程
8S0231104020de79fc10338de79fc7c?
0:
00=htt
*httd,输入法进程
8S0163104020de79f510540de5f067a?
0:
00-lockd
*rpc.lockd,NFS文件服务锁状态子进程
8S0208104020de79ee10339debd34d6?
0:
00+powerd
*电源管理服务,类似PC的APM
8S022522404020de79e710434de5f05fa?
0:
00-smcboot
*?
?
MobileIP服务?
8S0215104020de79e010275de5f04ba?
0:
00+utmpd
*utmp登陆用户监控进程
8S0364104020de79ca18945dee6aea6?
0:
00-snmpXdmi
*snmp服务子进程
8S023423104020de79c318805decce876?
0:
00=htt_serv
*输入法服务器
8S0362104020de79bc18815dedb0f82?
0:
00-dmispd
*?
?
8S0334104020de79b518538fed1e2de?
0:
00+auditd
*BSM审计守护进程
8S040039804020ded93a3873ded93aa4pts/20:
01sh
*sh...
8S039738114020ded933382502dedb0b42?
0:
02dtgreet
*CDE服务子进程
8R039837915020ded92c381409?
0:
02+sshd
*ssh服务器
8S038235504020ded92538583dedb0e42?
?
0:
00+fbconsol
*framebuffer显示输出驱动
8S037837204020ded91738447ded62216?
0:
00+ttymon
*tty监控服务,和sac一起提供终端登陆功能,类似于其他Unix中的getty
8S037635204020ded91038649deeecbce?
0:
01-mibiisa
*snmp服务子进程
8S037735514020ded908404467dedb0d42?
0:
12=Xsun
*SolarisX服务器
8S0380104020ded90140786ded62bd6?
0:
01+devfsadm
*/dev(devfs)同步进程
8S0355104020ded8fa401245dedb0cc2?
0:
00=dtlogin
*CDE登录守护进程
<4>inetd
inetd进程启动了一系列的系统服务,而在Solaris中因为有很多RPC服务也在inetd中启动,因此
inetd显得特别复杂,而其中的服务大多数都是不必要的(全部都可以关闭)
===========================================================================
#systatstreamtcpnowaitroot/usr/bin/psps-ef
#系统进程监控服务,允许远程察看进程
#netstatstreamtcpnowaitroot/usr/bin/netstatnetstat-finet
#网络状态监控服务,允许远程察看网络状态
#timestreamtcp6nowaitrootinternal
#timedgramudp6waitrootinternal
#网络时间服务,允许远程察看系统时间
#echostreamtcp6nowaitrootinternal
#echodgramudp6waitrootinternal
#网络测试服务,回显字符串
#discardstreamtcp6nowaitrootinternal
#discarddgramudp6waitrootinternal
#网络测试服务,丢弃输入
#daytimestreamtcp6nowaitrootinternal
#daytimedgramudp6waitrootinternal
#网络测试服务,显示时间
#chargenstreamtcp6nowaitrootinternal
#chargendgramudp6waitrootinternal
#网络测试服务,回应随机字符串
#RPC类服务
#
#100232/10tlirpc/udpwaitroot/usr/sbin/sadmindsadmind
#远程系统管理服务
#100083/1tlirpc/tcpwaitroot/usr/dt/bin/rpc.ttdbserverdrpc.ttdbserverd
#CDEtooltalk服务
#100221/1tlirpc/tcpwaitroot/usr/openwin/bin/kcms_serverkcms_server
#SunKCMSProfile服务
#fsstreamtcpwaitnobody/usr/openwin/lib/fs.autofs
#X-Window字体服务器
#100235/1tlirpc/ticotsordwaitroot/usr/lib/fs/cachefs/cachefsdcachefsd
#NFS缓存服务
#dtspcstreamtcpnowaitroot/usr/dt/bin/dtspcd/usr/dt/bin/dtspcd
#CDEdtspc服务
#100068/2-5dgramrpc/udpwaitroot/usr/dt/bin/rpc.cmsdrpc.cmsd
#CDEcmsd服务
#100229/1tlirpc/tcpwaitroot/usr/sbin/rpc.metadrpc.metad
#100230/1tlirpc/tcpwaitroot/usr/sbin/rpc.metamhdrpc.metamhd
#100242/1tlirpc/tcpwaitroot/usr/sbin/rpc.metameddrpc.metamedd
#SLVMMediator系列服务,无用
#printerstreamtcp6nowaitroot/usr/lib/print/in.lpdin.lpd
#打印机守护进程
#shellstreamtcpnowaitroot/usr/sbin/in.rshdin.rshd
#shellstreamtcp6nowaitroot/usr/sbin/in.rshdin.rshd
#R远程登录系列服务,rsh
#loginstreamtcp6nowaitroot/usr/sbin/in.rlogindin.rlogind
#R远程登录系列服务,rlogin
#execstreamtcpnowaitroot/usr/sbin/in.rexecdin.rexecd
#execstreamtcp6nowaitroot/usr/sbin/in.rexecdin.rexecd
#R远程登录系列服务,rexec
#comsatdgramudpwaitroot/usr/sbin/satsat
#邮件通知服务
#talkdgramudpwaitroot/usr/sbin/in.talkdin.talkd
#本地通讯服务进程,talk
#fingerstreamtcp6nowaitnobody/usr/sbin/in.fingerdin.fingerd
#finger守护进程,允许远程查询登陆用户信息
#rstatd/2-4tlirpc/datagram_vwaitroot/usr/lib/netsvc/rstat/rpc.rstatdrpc.rstatd
#rpc远程状态查询
#rusersd/2-3tlirpc/datagram_v,circuit_vwaitroot/usr/lib/netsvc/rusers/rpc.rusersdrpc.rusersd
#rpc远程用户查询,类似rusers和finger
#walld/1tlirpc/datagram_vwaitroot/usr/lib/netsvc/rwall/rpc.rwalldrpc.rwalld
#rpc广播发送,类似wall
#sprayd/1tlirpc/datagram_vwaitroot/usr/lib/netsvc/spray/rpc.spraydrpc.sprayd
#rpc网络吞吐量测试程序
#100234/1tlirpc/ticotsordwaitroot/usr/lib/gss/gssdgssd
#GSS声音服务守护进程
#tftpdgramudp6waitroot/usr/sbin/in.tftpdin.tftpd-s/tftpboot
#tftp服务器
#namedgramudpwaitroot/usr/sbin/in.tnamedin.tnamed
#named,DNS服务器
#telnetstreamtcp6nowaitroot/usr/sbin/in.telnetdin.telnetd
#telnet服务器
#100155/1tlirpc/ticotsordwaitroot/usr/lib/smedia/rpc.smserv
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Solaris 启动 过程 详解