Linux系统启动过程

请注意,本文编写于 689 天前,最后修改于 689 天前,其中某些信息可能已经过时。

Linux系统启动/关闭

Linux的引导过程和一些详细内容,网上的一些大佬分析的很明白了,这个我也不熟悉不好进行解释。像是Linux菜鸟教程,非常好用的一个网站。

主要这个部分我只了解启动等级这部分。

Linux启动等级分成7个级别

运行级别含义
0这个级别是,系统停机状态,级别0,默认启动级别不能设置为0.不然就无法启动。开机即关机能开起来有鬼了。一般我的用法是init0,用于关机。
1级别1,因为linux是多用户多任务系统,所以支持多个用户同时在一个系统做事,但是进入了这个级别后就是单用户界面了,而且权限是ROOT权限。并且禁止远程登录控制。一般用来维护
2多用户状态,但是没有NFS。
3完全的多用户状态,有NFS,登录后就直接进入命令行模式。
4保留,暂未使用
5图形化控制界面
6重启,和0一样,不能设置成默认启动级别,不然就是无限重启。

常用关机指令

sync这是同步内存数据到硬盘。不管是关机还是重启,最好先敲一下。防止出现问题。

poweroff
shutdown -h now
halt
init 0

常用的就是这4种

但是一些指令有额外的参数可以控制关机这个动作。

例如shutdown有着许多参数可以控制关机的时间,达到定时或者延迟关机的功能

可以man一下shutdown看到额外参数

一般就是定时

shutdown -h 10 #10分钟后关机
shutdown -h -t 10 #10秒后关机
shutdown -h 12:00 #12点关机

等等,具体用法man查看一下帮助文档大概就会了。


常用重启指令

shutdown -r now
reboot
init 6

这几种,同理,shutdown能也能定时重启,只需要把-h替换成-r即可。


修改系统默认启动级别

这有两种方法。一种是通过修改启动引导需要执行的文件内的内容来达到修改默认启动级别的效果。

另一种则是直接通过指令进行修改。

通过修改文件来控制默认启动等级

控制启动引导,可以在/etc/inittab 内进行修改

我们这里是RHEL,和普通的linux可能不同,但是也就是改了个名而已。

之前的runlevel被用target进行替代了。

可以看到里面有两个,分别代表了

# multi-user.target: analogous to runlevel 3
# graphical.target: analogous to runlevel 5

因为这是RHEL他的inittab文件不一样。

如果是普通的linux,会找到一行代码,id:xxxx:initdefault,这里id后的数字就是默认启动等级,用vim修改这个数字成对应等级即可。一定避免修改成0和6不然不能开机

现在说RHEL如何修改。

一条命令即可,比原来修改简单很多。

systemctl get-default (查看当前系统开机默认等级)
systemctl se-default multi-user.target (修改成runlevel3)
上面已经可以得知
multi-user.target  -  runlevel 3
graphical.target   -   runlevel 5

根据自己linux系统的情况来选择对应的方法进行设置。

参考资料:https://www.runoob.com/linux/linux-system-boot.html

召唤看板娘