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:重新启动