代码改变世界

Linux系统——运行级别

学习之前先了解下Linux系统的运行级别和其原理,博主使用的是Linux系统中的Redhat9.0版本,之后的Linux学习部分会基于这个系统版本。

Linux系统的7个运行级别(runlevel)

运行级别0:系统停机状态,系统默认运行级别不能设为0,否则不能正常启动
运行级别1:单用户工作状态,root权限,用于系统维护,禁止远程登陆
运行级别2:多用户状态(没有NFS)
运行级别3:完全的多用户状态(有NFS),登陆后进入控制台命令行模式
运行级别4:系统未使用,保留
运行级别5:X11控制台,登陆后进入图形GUI模式
运行级别6:系统正常关闭并重启,默认运行级别不能设为6,否则不能正常启动

运行级别的原理:
1。在目录/etc/rc.d/init.d下有许多服务器脚本程序,一般称为服务(service)
2。在/etc/rc.d下有7个名为rcN.d的目录,对应系统的7个运行级别
3。rcN.d目录下都是一些符号链接文件,这些链接文件都指向init.d目录下的service脚本文件,命名规则为K+nn+服务名或S+nn+服务名,其中nn为两位数字。
4。系统会根据指定的运行级别进入对应的rcN.d目录,并按照文件名顺序检索目录下的链接文件
     对于以K开头的文件,系统将终止对应的服务
     对于以S开头的文件,系统将启动对应的服务
5。查看运行级别用:runlevel
6。进入其它运行级别用:init N
7。另外init0为关机,init 6为重启系统
    由于现在的Linux系统安装完后就运行在第5个级别,即系统启动后直接进入图形界面,而不用在字符模式下登录后用startx或者xinit 来起动图形界面。建议在系统安装完成后把系统的默认运行等级设置在第3级,在字符终端登录后,再手工输入startx 命令起动图形界面。可以用如下的方法修改:
用文本编辑器修改 /etc/inittab文件,把

代码:

id:5:initdefault:这一行,修改成

代码:

id:3:initdefault:保存后就reboot重起,系统就默认启动到字符界面。不同运行级别之间的 差别的在于系统默认起动的服务的不同,如运行级别3默认不启动X图形界面服务,而运行级别5 却默认起动。本质上是没有区别的,更无所谓不同级别间功能强弱的问题。用户完全可自给定义不同级别的默认服务。在任何运行级别,用户都可用init 命令来切换到其他运行级别。

具体操作过程:

  1. 虚拟机安装Redhat9.0版本(网上自行搜索教程,要镜像文件可以私信我)
  2. 系统启动后默认进入级别5(图形界面),之后的实验在此级别上展开
  3. 系统运行级的查看,可以通过执行命令方式或查看配置文件方式实现: 

  (1).执行命令方式:用runlevel命令可以查看以前和当前系统的运行级。 在命令行下输入  runlevel  命令,它查看的是/etc/run/utmp 文件,并在标准输出设备上输出以前和当前运行级情况,如下图所示:

N 5表示以前运行级未知,当前运行级为5,也就是当前运行级为自动启动的XFree86系统(图形方式)。

用vi编辑器打开文件etc/inittab

修改系统默认级别具体方法:  用方向键将光标移动到id:5:initdefault:一行,放到5上,Delete——>Insert 3 , 修改后结果id:3:initdefault——>Esc——>Shift——>:wq(保存并退出)——>输入命令reboot,重启后进入级别3(由于切换系统级别时后台会改变一些配置文件,因此过程会稍慢,请耐心等待)

进入系统级别3,登录用户名和密码

注意,这里输入密码是不会显示的,输入密码后直接回车

登录成功以后的界面↓,以后启动电脑后默认都是进的这个界面

  (2).查看配置文件的方式,查看配置文件的方式只能查看系统当前的运行级,系统的配置文件是/etc/inittab: 我们可以通过文件编辑器打开,也可以使用打开文件的命令来查看,在命令行下输入:gedit /etc/inittab,即:(下图引用于:http://blog.csdn.net/u012561176/article/details/44248945

 看到上图红色箭头指向框框处,id:5:initdefault:,这行中的5表示当前默认的系统运行级为5,直接修改为3即可,保存,reboot,同样修改了默认系统级别为3,效果同上.

 系统级别之间的快速互相切换:

演示一个级别3——>5的切换:终端命令行直接输入命令init N(N为数字0-6,不要输入0或者6),这里输入init 5,回车,进入系统级别5的图形界面,打开终端,输入命令runlevel,结果如下图所示,完成3——5的切换,其它级别互相切换同理:

  • 管理系统服务

  在目录/etc/rc.d/init.d下有许多服务器脚本程序,一般称为服务(service);在/etc/rc.d下有7个名为rcN.d的目录,对应系统的7个运行级别.

  1. 终端输入命令chkconfig --list,查看各运行级别服务启动情况

附:Linux系统服务简述和作用:

https://files.cnblogs.com/files/lj-cn/Linux%E7%B3%BB%E7%BB%9F%E6%9C%8D%E5%8A%A1.js

  2.如果需要自启动某些服务,只需输入chkconfig 服务名 on即可,若想关闭,将on改为off
注:在默认情况下,chkconfig会自启动2345这四个级别,如果想自定义可以加上--level选项




  3.下面我们先将random服务的所有启动级别关闭,然后使用--level选项启动自定义级别

附:Linux中设置服务自启动的三种方式

 部分内容引用自该文章,转载请注明出处!

posted @ 2017-06-26 20:54  Tracy21  阅读(14849)  评论(0编辑  收藏  举报