当前位置:首页>Linux>linux中的run level

linux中的run level

  • 2026-10-21 13:28:29
linux中的run level
最近在折腾Oracle 19.3基于ASM的单实例测试环境,结果在安装数据库软件之前进行预检查的时候,居然报了个错误,说是系统的run level设置不当。嗯......
感觉也是挺有意思,这阵子各种安装Oracle的测试环境,遇到了不少之前安装时从未遇到过的错误。看来是年关将至,又到了攒人品的时候了。
1 何为init
在Linux启动的过程当中,init是系统启动的第一个用户级进程(PID=1)。其主要任务是:
  • 根据系统配置文件(例如/etc/inittab),确定系统的运行级别。
  • 启动对应的系统服务与进程。
  • 管理系统的关机、重启等操作。
2 何为run level
运行级别,代表着当前系统所处的工作模式。
在不同的运行级别下,系统启用的服务和功能也不同。
3 传统SysV Init定义的运行级别
运行级别
名称
功能描述
0
关机模式(Halt)
关闭系统,相当于shutdown -h now。
1
单用户模式(Single User Mode)
仅允许root用户登录系统,用于系统维护,例如修复文件系统等。
2
多用户模式(无网络)
允许多用户登录,但是不启用网络服务。
3
多用户模式(命令行)
常用的运行模式:多用户+网络+无图形界面
4
保留(自定义)
系统保留,用户可以自定义用途。
5
多用户图形模式(Graphical)
启动图形界面(X Window、GNOME、KDE等)。
6
重启模式(Reboot)
重启系统,相当于reboot。
4 运行级别的查看与设置
[root@loaclhost ~]# runlevelN 5
说明:
  • N:表示上一次的运行级别,首次启动时为N。
  • 5:表示当前的运行级别。
切换运行级别
[root@loaclhost ~]# init 3
设置系统默认的运行级别:
[root@loaclhost ~]# vi /etc/inittab# inittab is no longer used.## 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.targetid:3:initdefault:
注意该文件里面的第一行。
5 systemd
现在的Linux,例如Ubuntu 20.04,或者是CentOS 7+,已经使用systemd代替了之前的SysV init。
systemd不再使用数字来表示运行级别,而是引入了target的概念。
传统的运行级别
systemd对应的target
描述
0
poweroff.target
关机
1
rescure.target
单用户模式
2,3,4
multi-user.target
多用户命令行模式
5
graphical.target
图形界面模式
6
reboot.target
重启
查看当前的运行级别:
[root@loaclhost ~]# systemctl get-defaultgraphical.target
设置默认的运行级别:
[root@loaclhost ~]# systemctl set-default multi-user.targetRemoved /etc/systemd/system/default.target.Created symlink /etc/systemd/system/default.target → /usr/lib/systemd/system/multi-user.target.[root@loaclhost ~]#  systemctl set-default graphical.targetRemoved /etc/systemd/system/default.target.Created symlink /etc/systemd/system/default.target → /usr/lib/systemd/system/graphical.target.
切换运行级别:
[root@loaclhost ~]# systemctl isolate graphical.target
参考链接:https://www.cnblogs.com/migrator/p/19174402。
回到开头的问题,怎么处理呢,很简单。
无视就好。

最新文章

随机文章