Linux 启动级别介绍及修改CentOS、Ubuntu的默认启动级别

在虚拟机上安装CentOS、Ubuntu版本的Linux系统后,默认启动的都是图形化界面。CentOS系统默认的启动级别是5,也就是图形化模式;而Ubuntu系统的2〜5级别都相同,都是图形化模式。
以下是整理Linux 启动级别的相关知识:

1. Linux系统中的运行级别
1.1 7种运行级别

运行级别(Runlevel)指的是Unix或者Linux等类Unix操作系统的运行模式,不同的运行模式下系统的功能也有所有不同。Linux 系统下通常分为7种运行级别,分别是从0到6。各级别介绍如下:
0 - 停机模式。在这种模式下,系统处于停机状态,系统默认运行级别不能设为0,否则将不能正常启动
这个运行级别主要用于关闭任务,在/etc/rc0.d目录下的各个连接命令都是此级别的命令,在关闭系统时,这些命令将被逐个执行。它们会杀掉所有进程、关闭虚拟内存和交换文件、卸载文件系统和交换分区。
1 - 单用户模式。在这种运行模下,系统处于单用户工作状态,登录用户具有root权限,文件系统被加载但是网络却没有被加载,因此也无法远程登陆。
这个运行级别,只允一个用户从本地计算机上登录,/etc/rc1.d目录下的所有文件与此运行级别相关连,这个运行级别一般用于系统管理与维护。
2 - 多用户模式。用户可以通过网络进行登录,但没有NFS(Network File System),即网络文件系统。/etc/rc2.d目录下所有文件与此级别相连。
3 - 完全多用户模式。用户可以通过网络进行登录,且有NFS,用户登陆后会进入控制台命令行模式。这也是缺省的运行模式,在这种运行级别下所有网络服务程序会一起运行。/etc/rc2.d录下的文件与此级别相连
4 - 自定义模式。这是一种系统未使用的保留模式,/etc/rc4.d目录与此级别相连。这一级别是用户自定义的运行级别,用户可以根自己的需要进行一些自定义设置。如果想要运行这一级别的话,必须在rc3.d目录下放入连接文件,就像其他rc*.d目录下的文件,并指明是启动还是终止进程。
5 - 图形化模式。在 Linux 下运行X Window就是使用这一运行级别,用户登录后将进入图形化的GUI界面。在这一级别下除了DNS的named与级别3不同,其余的都相同。
6 - 重启模式。系统正常关闭并重启,默认运行级别不能设为5,否则系统将不能正常启动。/etc/rc6.d目录与此级别相连。在这一运行级别下,不会关闭电源,/etc/rc6.d目录下的连接与rc0.d目录下的连接基本相同;不同之处在于,虽然它们都执行halt(关闭)命令,但是给halt传递的参数不同,所级别6会重新启动系统而0会关闭系统。
注意:以上适用于CentOS等发行版,而对于Ubuntu等debian系的Linux来说,2~5都是多用户图形模式,几个运行模式没有区别。

1.2 不同运行级别的实现原理

如上所述,Linux系统的每一个运行级别,都对应一个目录。
在/etc/init.d目录下有许多脚本程序,我们将这些程序称之为服务(Service)。
而/etc目录下,还有rc0.d~rc6.d共7个目录。在这些目录下都是一些软链接文件,这些链接文件都指向了init.d目录下的service脚本文件。而这些软连接的命名规则为:K+nn+服务名或S+nn+服务名,其中nn为两位数字。
系统启动时,会根据当前运行级别进入对应的rc*.d目录,然后按照文件名顺序检索目录下的链接文件,并会做以下处理:
对于以K开头的文件,系统将终止对应的服务
对于以S开头的文件,系统将启动对应的服务
注意:/etc/init.d存在于Ubuntu等发行版中,而CentOS等发行版中位于/etc/rc.d/init.d目录下,但通过/etc/init.d软连接进行关联。同样的,rc*.d等目录,在Ubuntu等系统中位于/etc/目录下,而在CentOS等系统中位于/etc/rc.d目录下,但在/etc下都有对应的软连接。

2. Linux运行级别的修改
2.1 运行级别相关命令

查看系统当前运行级别:runlevel
$ runlevel
N 3
切换系统运行级别:init N。如,切换到3多用户命令模式:
init 3
常用的init命令还有:init 0结束所有进程后关闭计算机、init 6重启系统

2.2 修改系统默认运行级别

Linux 会根据运行级别的不同执行不同程序,虽然Ubuntu和CenosOS等不同发行版中都有运行级别的概念,但运行机不同,因此修改默认启动级别的方式也有所有不同。
CentOS默认运行级别的修改
CentOS等Linux系统中使用一种叫System V的机制来启动运行级别,在该机制下,通过/etc/inittab配置系统启动进程。因此,也可以通过该文件来配置默认的启动级别:
$ sudo vi /etc/inittab
找到如下行:
id:5:initdefault:
并修改为:
id:3:initdefault:
注意:以上方法适用于CentOS 7之前的系统,在CentOS 7中/etc/inittab文件已不再使用:

$ cat /etc/inittab 
# inittab is no longer used when using systemd.
#
# ADDING CONFIGURATION HERE WILL HAVE NO EFFECT ON YOUR SYSTEM.
#
# Ctrl-Alt-Delete is handled by /usr/lib/systemd/system/ctrl-alt-del.target
#
# systemd uses 'targets' instead of runlevels. By default, there are two main targets:
#
# multi-user.target: analogous to runlevel 3
# graphical.target: analogous to runlevel 5
#
# To view current default target, run:
# systemctl get-default
#
# To set a default target, run:
# systemctl set-default TARGET.target

根据该文件提示,查看当前启动模式:
$ systemctl get-default
graphical.target
修改默认启动级别:
systemctl set-default multi-user.target
输入密码完成修改。重启后,系统默认将以级别3启动。
Ubuntu默认运行级别的修改
笔者使用的Ubuntu系统版本为16.04,Ubuntu系统同样可以识/etc/inittab文件,但由于系统的2~5运行级别没有任何,所以修改/etc/inittab文件不能生效。Ubuntu默认运行级别可以通过以下方式修改:
编辑/etc/default/grub文件:
sudo vi /etc/default/grub
将GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"的一行注释掉:

# GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
将GRUB_CMDLINE_LINUX=""的一行修改为:
GRUB_CMDLINE_LINUX="text"
去掉#GRUB_TERMINAL=console一行的注释,即修改为:
GRUB_TERMINAL=console
sudo update-grub
sudo systemctl set-default multi-user.target
重启系统:
reboot
如果修改没有问题,系统默认会以命令行模式启动。
在命令行模式下,可以通过如下命令切换回桌面模式:
sudo systemctl start lightdm 
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Linux UbuntuCentOS是两种不同的Linux操作系统。它们的区别在于: 1. 发行商:Ubuntu由Canonical Ltd.开发和维护,而CentOS由Red Hat公司开发和维护。 2. 目标用户:Ubuntu主要面向桌面用户和初学者,而CentOS主要面向服务器和企业用户。 3. 软件包管理:Ubuntu使用apt-get和dpkg作为软件包管理工具,而CentOS使用yum和rpm。 4. 更新周期:Ubuntu每6个月发布一个新版本,每个版本提供9个月的支持。CentOS每2年发布一个新版本,每个版本提供10年的支持。 5. 默认桌面环境:Ubuntu默认使用Unity桌面环境,而CentOS默认使用GNOME桌面环境。 总的来说,Ubuntu更适合桌面用户和初学者,而CentOS更适合服务器和企业用户。 ### 回答2: Linux是一个自由和开放源代码的操作系统内核,它于1991年由Linus Torvalds创建。Linux是一种Unix操作系统,它可以在PC、服务器、移动设备和其他嵌入式设备中运行。目前,有许多不同的Linux发行版,其中包括UbuntuCentOSUbuntu是一种基于Debian的Linux发行版,它由Canonical Ltd.开发。Ubuntu以易于使用和基础设施的强大功能而闻名,许多开发者和企业使用它来构建Web服务器和云平台。其桌面界面被认为是非常友好和易于使用的,并且有一个巨大的第三方软件库,使得安装和维护软件变得容易。 CentOS是以企业级应用为目标的Linux发行版,它基于Red Hat Enterprise Linux(RHEL)的代码库。虽然RHEL是一个商业版本,但CentOS是免费的且源代码也是公开的。它具有非常稳定和可靠的软件包,以及针对企业级应用的安全性和稳定性功能。它也可以作为Web服务器和云平台使用。 虽然UbuntuCentOS都是Linux发行版,但它们之间还是有一些区别。首先,它们的软件包管理系统不同:Ubuntu使用dpkg和apt-get,而CentOS使用yum。此外,Ubuntu有更快的版本发布周期并且更新更频繁,而CentOS更注重稳定性和安全性,因此更新周期更长。最后,Ubuntu更适合桌面环境和个人用户,而CentOS更适合企业级应用。 总的来说,选择Ubuntu还是CentOS取决于用户的需求和偏好。如果需要一个稳定的、安全的服务器,那么CentOS可能是更好的选择;如果需要一个易于使用和更新、大量可用软件的桌面环境,那么Ubuntu可能更适合。 ### 回答3: Linux操作系统是一种自由、开放源码的操作系统,许多发行版选择外壳以自己定致, 两种最流行的Linux发行版是UbuntuCentOS。虽然它们都是Linux,但它们之间还是有许多不同的地方。 首先,UbuntuCentOS的使用场景不同。Ubuntu通常用于桌面以及个人电脑使用,因为它具有一个易于使用的界面,能够适应用户的需求。而CentOS通常用于服务器环境中,因为它有较强的稳定性,在企业级应用中广泛使用。 其次,UbuntuCentOS的更新方式不同。Ubuntu是一个半年一次的版本更新,这意味着在每次更新时它会抛弃过时的软件包,选择新的,更新他们,这样保证每半年有最新的软件包和更新。而CentOS是基于Red Hat Enterprise Linux (RHEL) 的镜像,不同之处在于它们会更注重于稳定性而不是更新。这就使得CentOS适合作为服务器操作系统。 另外,UbuntuCentOS在支持软件包上面有所不同。 Ubuntu是基于Debian的,所以它使用了.deb包,并且在其上使用APT作为其软件包管理器,这使得软件包的管理非常方便。 而CentOS是基于Red Hat的,所以它使用了.rpm包,并且使用yum作为其软件包管理器。此外, CentOS也有自己的仓库,包含了许多企业级应用并保证了软件包的稳定性。 最后,UbuntuCentOS在用户社区方面有所不同。虽然两个操作系统都有用户社区的支持,但是Ubuntu的用户社区更加庞大,生态更加发达,因此可以更快地获得解答或解决方案。而CentOS的用户社区更加小众,但是他们中的大多数都是经验丰富的专业人员,可以提供更深入的技术支持。 总之,UbuntuCentOS都是优秀的操作系统,有各自不同的特点和适用场景,选择适合自己的操作系统,才能更好地满足你的需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值