初始化系统的运行级别-Linux-漫谈传统的 (初始化有什么用)

教程大全 2025-07-09 17:58:06 浏览

了解运行级别是如何配置的,如何改变系统运行级别以及修改对应状态下运行的服务。

Linux 系统中,运行级别run level是指运维的级别,用于描述一种表明什么服务是可用的系统运行状态。

运行级别 1 是严格限制的,仅仅用于系统维护;该级别下,网络连接将不可操作,但是管理员可以通过控制台连接登录系统。

其他运行级别的系统允许任何人登录和使用,但是不同级别中可使用的服务不同。本文将探索如何配置运行级别,如何交互式改变系统运行级别以及修改该状态下可用的服务。

Linux 系统的默认运行状态是一个在系统开机时使用的运行级别(除非有其他的指示),它通常是在 /etc/inittab 文件中进行配置的,该文件内容通常如下:

id:3:initdefault

包括 Debian 系统在内的一些系统,默认运行级别为 2,而不是上述文件中的 3,甚至都没有 /etc/inittab 文件。

运行级别在默认情况下是如何被配置,其配置依赖于你所运行的 Linux 操作系统的具体发行版本。 例如,在某些系统中, 运行级别 2 是多用户模式,运行级别 3 是多用户模式并支持 NFS (网络文件系统)。 在另外一些系统,运行级别 2 – 5 基本相同,运行级别 1 是单用户模式。例如,Debian 系统的所用运行级别如下:

0 = 停机1 = 单用户(维护模式)2 = 多用户模式3-5 = 同 2 一样6 = 重启

在 Linux 系统上,运行级别 3 用于共享文件系统给其它系统,可以方便地只通过改变系统的运行级别来启动和停止文件系统共享。系统从运行级别 2 改变到 3 系统将允许文件系统共享,反之从运行级别 3 改变到 2 则系统不支持文件系统共享。

在某个运行级别中,系统运行哪些进程依赖于目录 /etc/rc?.d 目录的内容,其中可以是 2、 3、 4 或 5 (对应于相应的运行级别)。

在以下示例中(Ubuntu 系统),由于这些目录的配置是相同的,我们将看见上述 4 个级别对应的目录中的内容是一致的。

/etc/rc2.d$ lsREADMES20smartmontoolsS50sanedS99grub-commonS20KerneloopsS20speech-dispatcherS70dns-cleanS99ondemandS20rsyncS20sysstatS70pppd-dnsS99rc.local/etc/rc2.d$ cd ../rc3.d/etc/rc3.d$ lsREADMES20smartmontoolsS50sanedS99grub-commonS20kerneloopsS20speech-dispatcherS70dns-cleanS99ondemandS20rsyncS20sysstatS70pppd-dnsS99rc.local/etc/rc3.d$ cd ../rc4.d/etc/rc4.d$ lsREADMES20smartmontoolsS50sanedS99grub-commonS20kerneloopsS20speech-dispatcherS70dns-cleanS99ondemandS20rsyncS20sysstatS70pppd-dnsS99rc.local/etc/rc4.d$ cd ../rc5.d/etc/rc5.d$ lsREADMES20smartmontoolsS50sanedS99grub-commonS20kerneloopsS20speech-dispatcherS70dns-cleanS99ondemandS20rsyncS20sysstatS70pppd-dnsS99rc.local

这些都是什么文件?它们都是指向 /etc/init.d 目录下用于启动服务的脚本符号连接。 这些文件的文件名是至关重要的, 因为它们决定了这些脚本文件的执行顺序,例如, S20 脚本是在 S50 脚本前面运行的。

$ ls -ltotal 4-rw-r--r-- 1 root root 677 Feb 162016 READMElrwxrwxrwx 1 root root20 Aug 30 14:40 S20kerneloops -> ../init.d/kerneloopslrwxrwxrwx 1 root root15 Aug 30 14:40 S20rsync -> ../init.d/rsynclrwxrwxrwx 1 root root23 Aug 30 16:10 S20smartmontools -> ../init.d/smartmontoolslrwxrwxrwx 1 root root27 Aug 30 14:40 S20speech-dispatcher -> ../init.d/speech-dispatcherlrwxrwxrwx 1 root root17 Aug 31 14:12 S20sysstat -> ../init.d/sysstatlrwxrwxrwx 1 root root15 Aug 30 14:40 S50saned -> ../init.d/sanedlrwxrwxrwx 1 root root19 Aug 30 14:40 S70dns-clean -> ../init.d/dns-cleanlrwxrwxrwx 1 root root18 Aug 30 14:40 S70pppd-dns -> ../init.d/pppd-dnslrwxrwxrwx 1 root root21 Aug 30 14:40 S99grub-common -> ../init.d/grub-commonlrwxrwxrwx 1 root root18 Aug 30 14:40 S99ondemand -> ../init.d/ondemandlrwxrwxrwx 1 root root18 Aug 30 14:40 S99rc.local -> ../init.d/rc.local

如你所想,目录 /etc/rc1.d 因运行级别 1 的特殊而不同。它包含的符号链接指向非常不同的一套脚本。 同样也要注意到其中一些脚本以开头命名,而另一些与其它运行级别脚本一样以开头命名。这是因为当系统进入单用户模式时, 一些服务需要 停止 。 然而这些 K 开头的符号链接指向了其它级别 S 开头的符号链接的同一文件时, K(kill)表示这个脚本将以指示其停止的参数执行,而不是以启动的参数执行。

/etc/rc1.d$ ls -ltotal 4lrwxrwxrwx 1 root root20 Aug 30 14:40 K20kerneloops -> ../init.d/kerneloopslrwxrwxrwx 1 root root15 Aug 30 14:40 K20rsync -> ../init.d/rsynclrwxrwxrwx 1 root root15 Aug 30 14:40 K20saned -> ../init.d/sanedlrwxrwxrwx 1 root root23 Aug 30 16:10 K20smartmontools -> ../init.d/smartmontoolslrwxrwxrwx 1 root root27 Aug 30 14:40 K20speech-dispatcher -> ../init.d/speech-dispatcher-rw-r--r-- 1 root root 369 Mar 122014 READMElrwxrwxrwx 1 root root19 Aug 30 14:40 S30killprocs -> ../init.d/killprocslrwxrwxrwx 1 root root19 Aug 30 14:40 S70dns-clean -> ../init.d/dns-cleanlrwxrwxrwx 1 root root18 Aug 30 14:40 S70pppd-dns -> ../init.d/pppd-dnslrwxrwxrwx 1 root root16 Aug 30 14:40 S90single -> ../init.d/single

你可以改变系统的默认运行级别,尽管这很少被用到。例如,通过修改前文中提到的 /etc/inittab 文件,你能够配置 Debian 系统的默认运行级别为 3 (而不是 2),以下是该文件示例:

id:3:initdefault:

一旦你修改完成并重启系统,命令将显示如下:

$ runlevelN 3

另外一种可选方式,使用命令,你也能改变系统运行级别(且无需重启立即生效),命令的输出为:

$ runlevel2 3

当然,除非你修改了系统默认级别的 /etc/rc?.d 目录下的符号链接,使得系统默认运行在一个修改的运行级别之下,否则很少需要通过创建或修改 /etc/inittab 文件改变系统的运行级别。

在 Linux 系统中如何使用运行级别?

为了扼要重述在系统中如何使用运行级别,下面有几个关于运行级别的快速问答问题:

如何查询系统当前的运行级别?

使用命令。

如何查看特定运行级别所关联的服务进程?

查看与该运行级别关联的运行级别开始目录(例如, /etc/rc2.d 对应于运行级别 2)。

如何查看系统的默认运行级别?

首先,查看 /etc/inittab 文件是否存在。如果不存在,就执行命令查询,你一般就已经处在该运行级别。

如何改变系统运行级别?

用命令(例如)临时改变运行级别,通过修改或创建 /etc/inittab 文件永久改变其运行级别。

初始化有用 能改变特定运行级别下运行的服务么?

当然,通过改变对应的 /etc/rc?.d 目录下的符号连接即可。

还有一些其他的什么需要考虑?

当改变系统运行级别时,你应该特别小心,确保不影响到系统上正在运行的服务或者正在使用的用户。

(题图:Vincent Desjardins (CC BY 2.0))



东芝1668复印机出现小扳手

按C+8看下故障代码多少.故障代码大意如下. C01 主电机运转异常 C04 PFP 主电机运转异常 C05 ADU主电机运转异常 C11 ADU侧电机运转异常 C14 下纸盘运转异常 C15 PFP上纸盘运转异常 C16 PFP中纸盘运转异常 C17 PFP下纸盘运转异常 C18 LCF盘运转异常 C21 托架初始化错误 C22 镜头初始化错误 C23 反光镜初始化错误 C26 暴光灯损坏 C33 容易设置故障 C35 显影材料在转印/分离调整状态下 C41 热敏电阻,加热器断路 C43 加热器高温 C44 加热器高温 C45 加热器低温 C72 定位传感器故障 C73 EEROM初始化错误 C74 出纸传感器故障 C81 输纸电机故障 以下问题可按0+8不动开机输入89,按复印件确定,再输入0,按插入键,再按0+9或者关机开机即可.<----->C41 热敏电阻,加热器断路 C43 加热器高温 C44 加热器高温 C45 加热器低温

为什么深度学习特征提取出来每列数据都差不多

1:初始化权重有问题,一般初始化为-1至1之间。 2:图片特征太少,应该减少你的卷积核数量。

bootfrozen什么意思

开机就还原,软件冰点还原的一项操作

本文版权声明本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请联系本站客服,一经查实,本站将立刻删除。

发表评论

热门推荐