AIX 开机启动网络服务配置
aix7 administrator
An administrator notices that the ntp group subsystem is not starting up at boot time. What will
cause this issue? [D]
C. The following line is commented out of the /etc/inittab file:
xntpd: 23456789: respawn:/usr/sbin/xntpd > /dev/console 2>&1 #Start ntp daemon
D. The /etc/rc.tcpip file has the following line commented out:
start /usr/sbin/xntpd "$src_running"
在AIX系统启动的最后阶段(这个阶段激活了rootvg文件系统,挂载了rootvg中的文件系统,并在最后调用/etc/inittab文件),最后调用的一个脚本是/etc/inittab,该文件的内容(节选)如下:
nit:2:initdefault: brc::sysinit:/sbin/rc.boot 3 >/dev/console 2>&1 # Phase 3 of system boot powerfail::powerfail:/etc/rc.powerfail 2>&1 | alog -tboot > /dev/console # Power Failure Detection powermig:2:wait:/etc/rc.powermig transition >/dev/null 2>&1 # powermig startup mkatmpvc:2:once:/usr/sbin/mkatmpvc >/dev/console 2>&1 atmsvcd:2:once:/usr/sbin/atmsvcd >/dev/console 2>&1 tunables:23456789:wait:/usr/sbin/tunrestore -R > /dev/console 2>&1 # Set tunables securityboot:2:bootwait:/etc/rc.security.boot > /dev/console 2>&1 mlsboot:2:bootwait:/etc/rc.mls.boot >/dev/console 2>&1 rc:23456789:wait:/etc/rc 2>&1 | alog -tboot > /dev/console # Multi-User checks mlsnet:2:wait:/etc/rc.mls.net > /dev/console 2>&1 powermig2:2:wait:/etc/rc.powermig recover >/dev/null 2>&1 # powermig recover powermt:2:wait:/usr/sbin/powermt load >/dev/null 2>&1 # powermt load fbcheck:23456789:wait:/usr/sbin/fbcheck 2>&1 | alog -tboot > /dev/console # run /etc/firstboot mls:2:wait:/etc/rc.mls >/dev/console 2>&1 srcmstr:23456789:respawn:/usr/sbin/srcmstr # System Resource Controller rctcpip:23456789:wait:/etc/rc.tcpip > /dev/console 2>&1 # Start TCP/IP daemons nim:2:wait:/usr/bin/startsrc -g nim >/dev/console 2>&1 rcemcp_mond:2:wait:/etc/rc.emcp_mond start > /dev/console 2>&1 adsmsmext:2:wait:/etc/rc.jfs2hsm > /dev/console 2>&1 # TSM SpaceMan filepath:2:wait:/etc/rc.filepath > /dev/console 2>&1 # Filepath startup aso:23456789:once:/usr/bin/startsrc -s aso sniinst:2:wait:/var/adm/sni/sniprei > /dev/console 2>&1 rcitm1:2:wait:/etc/rc.itm1 > /dev/console 2>&1 cron:23456789:respawn:/usr/sbin/cron piobe:2:wait:/usr/lib/lpd/pioinit_cp >/dev/null 2>&1 # pb cleanup qdaemon:23456789:wait:/usr/bin/startsrc -sqdaemon writesrv:23456789:wait:/usr/bin/startsrc -swritesrv uprintfd:23456789:respawn:/usr/sbin/uprintfd shdaemon:2:off:/usr/sbin/shdaemon >/dev/console 2>&1 # High availability daemon
可以看到,其中的“srcmstr:23456789:respawn:/usr/sbin/srcmstr”标明了AIX中资源控制器SRC的启动情况。在随后的一行“rctcpip:23456789:wait:/etc/rc.tcpip”中,会启动AIX中的网络相关服务。
/etc/rc.tcpip是一个 shell 脚本,该脚本在执行过程中会使用SRC 命令,以服务的方式启动AIX网络服务所依托的AIX后台守护程序(daemons)。该脚本内容如下所示(节选):
start /usr/lib/sendmail "$src_running" "-bd -q${qpi}" # Start up Portmapper start /usr/sbin/portmap "$src_running" # Start up socket-based daemons start /usr/sbin/inetd "$src_running" # Start up Domain Name daemon #start /usr/sbin/named "$src_running" # Start up time daemon #start /usr/sbin/timed "$src_running" # Start up Network Time Protocol (NTP) daemon #start /usr/sbin/xntpd "$src_running" # Start up rwhod daemon (a time waster) #start /usr/sbin/rwhod "$src_running" # Start up the Simple Network Management Protocol (SNMP) daemon start /usr/sbin/snmpd "$src_running"
在/etc/rc.tcpip的开始部分会定义start函数,start函数(注意其中的关键行“startsrc -s $cmd -a "$3" &”)用来启动指定的TCP/IP相关服务,后面对这个函数进行调用,每个调用即是一个服务的启动任务,例如“start /usr/lib/sendmail "$src_running" "-bd -q${qpi}"”行,用来启动sendmail服务。
从/etc/rc.tcpip中可以看到,被启动的服务(守护进程)是TCP/IP所专有的,常用服务包括:gated 、inetd、named、routed、timed、snmpd、xntpd……
除此之外,还有若干服务是基本操作系统服务,如portmap、sendmail、syslogd等,它们在默认情况下都会被启动。
另外要注意格式,/etc/rc.tcpip中的大多数TCP/IP相关服务是被禁用的,也就是说该服务对应的启动命令是被注释掉的(前面标注 # 号的行为注释行)。
如果从/etc/inittab中删除 rc.tcpip行,则在AIX启动过程中将不会有任何网络的相关服务启动,甚至连CDE桌面环境都不能启动,因为CDE桌面环境将输出到某个IP地址上,在没有TCP/IP的情况下图形环境将会被挂起。另外,如果没有TCP/IP服务的支持,一些网络工具(如telnet、ftp)也就不能用了。