Linux设置系统7种运行级别

1、系统运行级别
Linux系统在启动过程中所要运行的服务或程序都是由初始化进程来负责启动的, 但是当我们有不同的工作需求时, 需要启动的服务也会有所区别。 例如, 对于我们熟悉的Windows系统,在正常启动模式下, 所有被设为开机自动运行的服务或程序都会被自动启动, 但如果是进入安全模式, 那么就只会启动系统基本的程序以及微软官方的服务, 其他非必要的程序以及非微软的服务都 将不被运行。 在Linux系统中也采用了类似的机制,它将在系统运行时需要启动的各种服务程序相互组合以构成不同的搭配关系,满足不同的系统需求。传统的init初始化进程将这种服务搭配关系称为 “运行级别 ” (RunLevel),而systemd则称之为 “目标” (Target)。 只不过在Target中包含的是许多相关的Unit, 每个Target其实就是一个Unit组,当启动某个Target的时候,systemd会同时启动其中所有的Unit。
”运行级别” 和 “目标” 所要实现的功能是类似的。在systemd中, 使用5种目标来对应init中的7种运行级别, 从而实现向后兼容。
5种目标分别是:poweroff.target、rescue.target、multi-user.target、graphical.target、reboot.target
Linux设置系统7种运行级别_第1张图片

在这7种运行级别中, 常用的是3和5即“ multi-user.target" 和 “ graphical.target",分别代表了字符模式和图形模式。在选择了相应的运行级别后, 系统在启动时所运行的服务就会有所区别。例如, 将系统默认运行级别设为3, 那么系统启动时将自动进入字符模式, 所有与图形模式相关的服务都不会运行, 我们也就无法执行图形界面下的任何操作。如果将系统默认运行级别设为5则系统启动时将自动进入图形模式, 系统将自动运行与 图形模式相关的各种服务 。

2、切换和设置运行级别
在 CentOS5和CentOS6系统中对运行级别进行管理, 主要是借助于runlevel和 init 命令,CentOS 7也支持runlevel和init命令, 但是更加推荐使用systemctl命令。

    (1)通过执行 “systemctl get-default " 命令可以查看系统的默认运行级别。
    [root@mysqldb ~]# systemctl get-default
    graphical.target


    (2)使用runlevel命令可以查看系统当前所处的运行级别, 在命令的输出结果中分别包含切换前的级别和目前的级别。
    [root@mysqldb ~]# runlevel
    N 5
    显示结果中的“5”,表示系统当前所处的级别是5,显示结果中的“N”, 表示之前未切换过运行级别 , 也就是说, 系统的默认运行级别就是5。

    (3)使用init命令可以临时切换系统的运行级别,init作为一个CentOS5/6时期的命令,需要使用与运行级别相对应的数字(0~6)作为命令参数。例如,将系统运行级别由图形模式(5)切换为字符模式(3), 并确认状态 。
    [root@mysqldb ~]# init 3
    [root@mysqldb ~]# runlevel
    5 3

    (4)在 CentOS 7 系统中,也可以使用 systemctl isolate 命令来临时切换系统的运行级别。例如, 将运行级别切换为 multi-user.target。
    [root@mysqldb ~]# systemctl isolate multi-user.target
    [root@mysqldb ~]# runlevel
    5 3

    (5)如果要改变系统的默认运行级别, 那么可以执行“systemctl set-default TARGET.target”命令,比如将系统的默认运行级别设置为3,即“multi-user.target”,可以执行命令“systemctl set-default multi-user.target”。
    需要注意的是,修改系统的默认运行级别 后,需要将系统重启才可切换到相应的运行级别。
    [root@mysqldb ~]# systemctl set-default multi-user.target
    Removed symlink /etc/systemd/system/default.target.
    Created symlink from /etc/systemd/system/default.target to /usr/lib/systemd/system/multi-user.target.

    (6)另外, 通过查看或修改 “/etc/systemd/system/default.target" 文件也可以确定系统的默认运行级别。
    [root@mysqldb ~]# ll /etc/systemd/system/default.target
    lrwxrwxrwx. 1 root root 41 Aug 12 05:28 /etc/systemd/system/default.target -> /usr/lib/systemd/system/multi-user.target


    (7)将 “/etc/systemd/system/default. target" 指向不同的目标文件,同样可以修改系统的默认运行级别。
    [root@mysqldb ~]# rm -f /etc/systemd/system/default.target
    [root@mysqldb ~]# ln -s /usr/lib/systemd/system/graphical.target /etc/systemd/system/default.target

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