【自学Linux】Linux运行级别

Linux运行级别

Linux运行级别教程

Linux 可以支持运行级别的设置,运行级别就是操作系统当前正在运行的功能级别,级别是从 0 到 6。Centos7 系统之前的版本是通过 /etc/inittab 文件来定义系统,而 CentOS7 用的是 /lib/systemd/system/runlevel*

多数的桌面的 Linux 系统缺省的 runlevel 是 5,用户登陆时是图形界面,而多数的服务器版本的 Linux 系统缺省的 runlevel 是 3,用户登陆时是字符界面。

runlevel 1 和 2 除了调试之外很少使用,runlevel s 和 S 并不是直接给用户使用,而是用来为 Single user mode 作准备。

Linux运行七个级别

级别 描述
0 停机状态,系统默认运行级别不能设置为 0,否则系统不能正常启动。使用 init 0 命令,可关闭系统。
1 单用户状态,此状态仅 root 用户可登录。用于系统维护,禁止远程登录,相当于 Windows 下的安全模式。
2 多用户状态(无NFS)。没有网络服务。
3 完整的多用户状态(有NFS)。有网络服务,登录后进入控制台命令行模式。
4 系统未使用,保留。
5 登录后进入图形 GUI 模式。
6 重启,系统正常关闭并重启。默认运行级别不能设置为 6,否则系统不能正常启动。

Linux运行级别的原理

  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 开头的文件,系统将启动对应的服务。

在运行模式中加入启动服务

要在某个运行模式中加入一个启动服务:

  1. 首先要新建该服务启动脚本。
  2. 然后把它放置于 /etc/rc.d/init.d 或者 /etc/init.d/ (根据你的 Linux 版本有所不同)目录下。
  3. 要将该启动脚本与运行模式关联起来,你需要这个运行模式的目录下建立一个与 /etc/rc.d/init.d/ 下启动脚本的 symbolic link。
  4. 文件名的前缀通常为 SXX,XX 为数字,这个数字是用来控制该运行模式下服务的启动顺序。脚本的执行顺序是按照数字大小升序执行,就是数字越小越先执行。

下面就是一个在运行模式中加入启动服务具体的例子:

$ cp haicoderservice /etc/rc.d/init.d/
$ ln -s /etc/rc.d/init.d/haicoderservice /etc/rc3.d/S99haicoderservice

这样,下次以 runlevel 3 启动时,haicoderservice 就会自动启动。

查看Linux运行级别

使用 runlevel 命令可以查看当前的运行级别,输入以下命令:

runlevel

运行结果如下:

在这里插入图片描述

上图显示此时的运行级别为 3。

临时切换运行级别

使用 init N 命令可以临时设置当前的运行级别,输入以下命令:

init 3

运行结果如下:

在这里插入图片描述

不过这种方式的设置,在重启系统后,就会失效。

修改系统默认运行级别

利用 init N 命令,仅能临时修改运行级别。若想让运行级别设置在重启服务后仍生效,需修改默认的运行级别设置。则需要到 /etc/inittab 目录下,编辑 inittab 文件的 id:5:initdefault 这一行的数字。

Linux运行总结

Linux 可以支持运行级别的设置,运行级别就是操作系统当前正在运行的功能级别,级别是从 0 到 6。Centos7 系统之前的版本是通过 /etc/inittab 文件来定义系统,而 CentOS7 用的是 /lib/systemd/system/runlevel*

多数的桌面的 Linux 系统缺省的 runlevel 是 5,用户登陆时是图形界面,而多数的服务器版本的 Linux 系统缺省的 runlevel 是 3,用户登陆时是字符界面。

你可能感兴趣的:(Linux教程,linux,服务器,运维)