linux启动与服务控制
实验背景:
公司新构建了一台RHEL 5文件服务器,因默认启动的服务较多,系统运行缓慢。现需要对系统服务进行适当优化,减少一些不必要的自启动服务,并设置系统在开机后直接进入字符模式。
实验思路:
1.将服务器默认的运行级别改为3,以减少对硬件资源的占用。
2.使用ntsysv工具减少自启服务,提高开机启动速度。
3.使用chkconfig调整个别服务在不同运行级别的自启状态。
实验实施:
一、独立服务 /etc/init.d下
1.#runlevel // 查看当前的运行级别
#init 3//切换到运行级别3(字符模式)
#runlevel//再次确认当前运行级别
5 3 //5代表上一次运行级别,3代表当前
2. 修改启动配置文件
#vim /etc/inittab//修改init启动配置
.. ..
id:3:initdefault://将默认的5改为3
3.使用chkconfig工具控制单个服务的自启状态
#chkconfig --list //列出所有服务
#chkconfig --list bluetooth//查看单个服务的自启状态
#chkconfig --level 35 bluetooth off//调整自启状态
#chkconfig --list bluetooth//确认调整结果
#chkconfig --leve2345 bluetooth on//重新调整状态
#chkconfig --list bluetooth//确认调整结果
4.使用ntsysv工具减少自启服务
#ntsysv //直接调整当前级别的服务启动状态
或
#ntsysv--level 234//调整的是指定234级别的服务启动状态
操作时按上下箭头键来选择不同的系统服务,按空格键更改自启动状态(“[*]”表示启 动,“[ ]”表示关闭)。如果想知道某个服务的简要描述,按F1 键可以获取帮助。
5.查看当前占用的内存大小
#free -m//-m指定以M为单位查看
6.执行reboot重启RHEL5系统,再次查看占用内存的大小,服务停止后内存释放
7.控制系统服务的运行状态
#service bluetooth status
或
#/etc/init.d/bluetooth status//两者的效果一样
如果要想重新启用的话用命令:
#service bluetooth restart
关闭用:
#service bluetooth stop
二、外部服务 /etc/xinetd.d下
以telnet服务为例(安装与状态转换):
#rpm -qi telnet-server//查看telnet服务是否安装
#yum -y install telnet-server//先安装
#rpm -ql telnet-server //先查找所安装的服务名字
确定叫server
#rpm -ql telnet-several |grep xinetd //确定是否是外部服务
#rpm -qi xinetd//查看xinetd服务是否安装
#chkconfig telnet on//chkconfig 启用服务
#chkconfig telnet off//chkconfig禁用服务
或者编辑/etc/xinetd.d/rsync 文件,把disable的值改为no,也可以启用该服务!
附上linux引导过程:
开机加电自检→MBR引导→GRUB菜单→内核(kernel)→init进程→配置/etc/inittab
/etc/inittab的配置包括2部分
→ 一个是执行脚本/etc/rc.d/rc.sysinit
→ 另一个是脚本/etc/rc.d/rc
配置完成后启动mingetty进程
另:linux系统中第一个进程是/sbin/inti程序,进程id始终为1。
linux默认气种运行级别:
0:关机
1:单用户模式
2:字符界面的多用户模式(不支持网络)
3:字符界面的完整多用户模式
4:未分配使用
5:图形界面的多用户模式
6:重新启动