Linux CentOS7系统运行级别

运行级别就是Linux操作系统当前正在运行的功能级别。在早期系统设置中,共设有七个运行级别,编号从0到6。系统可以引导到任何给定的运行级别。

每个运行级别指定不同的系统配置,并允许访问不同的进程组合。默认情况下,Linux会引导至运行级别3或运行级别5。

启动时一次只执行一个运行级别,它不会一个接一个地执行。

在SysVinit系统(centos6版本)中,系统的默认运行级别在系统的/etc/inittab文件中指定。

在systemd系统(centos7版本)中,系统不读取此文件,它使用以下文件/etc/systemd/system/default.target来获取默认的运行级别信息。

本文就如何查看系统当前当前运行级别,如何切换不同运行级别,如何重新配置运行级别作一简单介绍。

一、查看

当我们开机启动系统后,系统通过引导程序,正常运行后,就按配置文件设定的运行级别完成启动工作。

我们可以使用以下5种方法检查系统当前运行级别。

1.runlevel命令

runlevel打印系统的上一个和当前运行级别:

        命令:         runlevel

        输出结果:N 5

        N:“N”表示自系统启动后运行级别尚未更改

        5:“5”表示系统的当前运行级别

下图是设置默认运行级别为3,更改为运行级别为5后,用该命令查看的情况:

        3:表示系统启动时默认运行级别

        5:表示系统的当前运行级别

2.who命令

who打印有关当前登录用户的信息。它将使用“-r”选项打印运行级别信息。

        who -r

Linux CentOS7系统运行级别_第1张图片

这是设置默认运行级别为3,更改为运行级别为5后,用该命令查看的情况:

3.systemctl命令

systemctl用于控制systemd系统和服务管理器。它可以作为sysvinit系统的直接替代品,systemd是内核启动并保持PID 1的第一个进程。systemd使用.service文件而不是bash脚本(SysVinit使用),systemd将所有守护进程排序到他们自己的Linux cgroup中,可以通过浏览/cgroup/systemd文件来查看系统层次结构:

        systemctl get-default

4./etc/inittab文件

如果系统是centos6版本的,系统的/etc/inittab文件中指定运行级别,一般是这样:

        # 0 - halt (Do NOT set initdefault to this)

        # 1 - Single user mode

        # 2 - Multiuser, without NFS (The same as 3, if you do not have networking)

        # 3 - Full multiuser mode

        # 4 - unused

        # 5 - X11

        # 6 - reboot (Do NOT set initdefault to this)

        id:5:initdefault:

但centos7版本中,systemd不读取文件(文件存在,仅有注释)。

在CentOS 7下运行vim /etc/inittab结果如下:

Linux CentOS7系统运行级别_第2张图片

注释内容:

        # multi-user.target类似于runlevel 3;

        # graphical.target类似于runlevel5

获得当前默认运行级别的方式为

        systemctl get-default

设置默认运行级别的方式

        systemctl set-default TARGET.target

设置运行级别命令格式:

        systemctl [command] [unit.target]

设置默认的运行级别为 xxx

则命令为:systemctl set-default xxx

下面列出Centos6 -7两个版本中系统的级别:

init级别

systemctl  target

0

shutdown.target

1

emergency.target

2

rescure.target

3

multi-user.target

4

5

graphical.target

6

备注:以上命令均需要超级管理员权限,如果需要临时切换 直接init+ 需要切换到的数字。

5./etc/systemd/system/default.target文件

系统的默认运行级别在systemd 系统的/etc/systemd/system/default.target文件中指定,它不适用于SysVinit系统(centos6):

        cat /etc/systemd/system/default.target

Linux CentOS7系统运行级别_第3张图片

6.ls –l命令

从上面的几种方法可知,通过runlevel命令或who  –r命令,可以查看系统的默认级别及当前运行级别。

而查看系统的所有运行级别信息,需要用下面的命令。

        ls -l /lib/systemd/system/runlevel*target

Linux CentOS7系统运行级别_第4张图片

三、切换

运行级别的切换,分两种情况。一是临时切换,另外是永久修改。

1.临时切换

我们可以用init x进行运行级别切换。

如在正常运行时,通过  init 0 切换到0运行级别,也就相当于关机

通过  init 6 切换到6运行级别,也就相当于重启

如果当前运行在字符界面(3)级别,通过  init 5 切换到5运行级别,也就相当于切换到图形界面

如果当前运行在图形界面(5)级别,通过  init 3 切换到3运行级别,也就相当于切换到字符界面

当我们root密码忘记时,可以在开机启动界面中,选择运行1级别,切换到单用户模式,可以修改root密码。(具体方法,可参考文章《机房实训小案例(三)》)。

2.永久修改

永久修改就是把3运行级别或5运行级别设为开机默认运行级别。这要利用命令systemctl进行默认运行级别设置。

具体设置如后。

四、配置

开机默认级别设置:

在centos6中,直接在文件/etc/inittab中设置:

        id:5:initdefault:   #默认图形界面

        id:3:initdefault:  #默认字符界面

在centos6中,直接用命令:

        1. systemctl set-default multi-user.target

这条命令是设置成运行等级3,就是开机直接进入多用户命令行,没有图形界面

        2.systemctl set-default graphical.target

这条命令是设置成运行等级5,就是开机直接进入图形界面

设置完成后,我们使用 systemctl get-default 命令查看一下对不对就可以。

小结

不同的运行级有不同的用处,也应该根据自己的不同情形来设置。可利用init命令关机或重启。可利用runlevel查看运行级别。

你可能感兴趣的:(linux,运维,服务器,前端,vim,python)