温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Linux的运行级别与目标怎么设置

发布时间:2022-01-27 15:43:31 来源:亿速云 阅读:112 作者:iii 栏目:开发技术

这篇“Linux的运行级别与目标怎么设置”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Linux的运行级别与目标怎么设置”文章吧。

Linux的运行级别与目标怎么设置

运行级别 Run Level

大家都知道 Windows 有安全模式,它是Windows的最小模式,和普通模式相比,安全模式可以让用户更好地进行系统检测以及错误修复。Linux 的运行级别是个类似的机制,不同的运行级别有不同的作用:

Linux的运行级别与目标怎么设置

我们通常用到的是级别 3 和 5,一般服务器不需要安装图形界面,并且需要支持用户远程连接,所以运行级别会选择 3;个人电脑一般需要 GUI,所以会选择运行级别 5。

想查看当前系统的运行级别可以使用命令用到命令

#runlevel

N 5

上面的结果表示当前的运行级别是 5。在不同级别间切换可以使用命令

#init [运行级别]

比如当前运行在级别 3,是多用户字符界面,想要启动 GUI 图形界面,只需要输入 init 5

虽然运行级别可以实时切换,如果想修改系统启动时默认的运行级别,在 CentOS 5 和 6 中也可以修改 /etc/inittab 文件来进行配置。

系统初始化进程 systemd vs. init

在 CentOS 7 之前,系统的初始化进程是 init,它的 PID 是 1,初始化进程就是系统第一个被执行的程序,所有其他进程都是它的子进程,所以我们切换运行级别用到的命令是 init,系统启动默认运行级别的配置文件是 /etc/inittab。

从 CentOS 7 开始,系统初始化进程采用了全新的 systemd。从它的名字可以看出,它是一个服务,由系统自动在后台运行。和 init 相比,systemd 有一些明显的优势:

1) systemd 在系统启动时使用了并发的启动机制,而 init 是按顺序依次启动每项服务。实际上很多服务之间没有依赖关系,不需要依次等待。在 Linux 早期,计算机的CPU是单核的,一次只能处理一项任务,所以 init 的设计有它的合理性。但随着硬件技术发展,现在的服务器CPU大多是多核心的,可以同时处理多项任务,systemd 可以并发启动那些不相关的服务,所以系统启动速度得到了极大的提升。

2) systemd 是按需启动服务,而 init 是将所有后台服务统统启动,全部完成后才允许用户登录。init 的这种方式会使得系统启动比较慢,另外也会占用比较多的系统资源。systemd 采用的方式是只有某个服务被请求时才会启动它,使用完成后会动态将该服务关闭,所以不管是启动速度,还是系统资源的使用, systemd 都有很大的优势。

systemd 有两个核心的概念,单元(unit)和 目标(target)。systemd 进程对系统的管理就是通过一个个的单元来实现的。比如服务,每一个服务都有一个对应的单元,而且每个单元都有一个配置文件,配置文件通常以 .service 作为文件名后缀,像 sshd 服务,它的配置文件就是 /usr/lib/systemd/system/sshd.service

Linux的运行级别与目标怎么设置

有一类比较重要的单元叫目标单元(target unit),或者简称目标(target),它们的配置文件名后缀为 .target。在 systemd 中,我们用 target 来模拟实现系统不同的运行级别。

通过目标(Target)来实现运行级别

上面提到,CentOS 7 将系统初始化进程从 init 改为了 systemd,init 的运行级别(runlevels)也改成了用目标(target)来实现,不同的运行级别和目标之间是什么对应关系呢,我们用下面这张图来做了一个总结:

Linux的运行级别与目标怎么设置

常用的运行级别是 3 (多用户字符模式)和 5(多用户图形界面模式),它们分别对应的目标就是 multi-user.target 和 graphical.target。设置和切换不同的运行级别,CentOS 7 还是向前支持 init 命令,但是更建议我们使用 systemd 的管理工具 systemctl 来完成。

1) 查看当前系统默认运行,可以使用 systemctl get-default 命令

#systemctl get-default

multi-user.target

2) 切换不同运行级别,以管理员身份使用 systemctl [目标名称] 命令

#systemctl isolate graphical.target  切换到图形界面

3) 设置系统启动默认运行级别

在 CentOS 5 和 6 中,系统启动默认的运行级别可以在 /etc/inittab 文件中进行配置,但在 CentOS 7 中,我们打开这个配置文件看一下:

Linux的运行级别与目标怎么设置

从配置文件内容可以看到,“在这里做任何的配置对系统都是没有作用的,systemd 用目标来取代运行级别。默认有两个主要的目标,multi-user.target 相当于运行级别 3,graphical.target 相当于运行级别 5。使用 systemctl get-default 来看当前使用目标,使用 systemctl set-default Target.target 来设置系统默认目标”。

所以我们用下面的命令来试一下,将系统启动目标设置为 graphical

#systemctl set-default graphical.target

设置成功后,重启电脑,发现果然进入了 GUI 图形界面模式。

以上就是关于“Linux的运行级别与目标怎么设置”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注亿速云行业资讯频道。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI