首页 > 其他分享 >掌握这些,轻松管理BusyBox:inittab文件的配置和作用解析

掌握这些,轻松管理BusyBox:inittab文件的配置和作用解析

时间:2023-12-04 13:56:44浏览次数:22  
标签:BusyBox 启动 inittab init 进程 解析 级别

BusyBox 是一个轻量级的开源工具箱,其中包含了许多标准的 Unix 工具,例如 shlscpsedawkgrep 等,同时它也支持大多数关键的系统功能,例如自启动、进程管理、启动脚本等等。而 inittab 文件则是 BusyBox 中的一个重要文件,掌握了 inittab 文件的作用及如何配置有助于更好地管理 BusyBox 系统。

BusyBox 启动过程

在了解 inittab 文件的相关内容前,我们先来了解 BusyBox 在启动时的过程。

当我们启动 BusyBox 时,系统会首先进入内核态,这个过程经常称为“引导 boot 过程”。在引导过程中,在系统加载时会先执行一些基本的硬件和内核配置、并在文件系统下搜索可引导的镜像和错误修复等等。接下来,系统会调用 init 程序来完成系统初始化。

init 是一个非常基础的程序,其主要功能是负责从系统引导之后启动一些必要的进程,以便让系统进入可用状态。在 BusyBox 中,init 进程基于编译时确定的 运行级别(也称为系统执行级别)来启动其他应用程序。BusyBox支持多达7个运行级别,包括:

  • 运行级别 0:关闭(或关机)系统
  • 运行级别 1:单用户模式
  • 运行级别 2-5:多用户模式
  • 运行级别 6:重启系统

当 init 进程启动时,它首先会获取用户指定的运行级别或者会默认地进入运行级别 5(图形模式)。接下来,我们将通过 inittab 文件来配置在不同运行级别下所需启动的进程和服务等。

inittab 文件在启动过程中起到的作用

inittab 文件位于 /etc/inittab 或 /etc/rc.d/inittab 路径下,可以认为是系统中的一个配置文件,其中定义了在不同运行级别下需要执行的程序。在 BusyBox 系统中,inittab 文件的作用是告知 init 进程在不同的运行级别下要执行哪些操作。它能确定在不同的运行级别下,系统应该以何种方式启动不同的进程和服务等。根据 inittab 文件中的配置,init 进程将启动不同的进程,以完成通过 inittab 文件定义的启动顺序。

inittab 文件由以下四个字段组成:

id:runlevels:action:process 
  • id 字段:表示进程的唯一标识符。
  • runlevels 字段:表示进程可以在哪些运行级别下运行。
  • action 字段:表示进程在进入该运行级别后要执行的操作,比如启动程序等。
  • process 字段:表示要启动的进程或要执行的命令。

举例说明:

::sysinit:/etc/init.d/rcS 
::shutdown:/sbin/swapoff -a 
::ctrlaltdel:/sbin/reboot 
::respawn:/sbin/getty 38400 tty1 

在上面的示例中,::sysinit 表示该命令在所有的运行级别下执行,::ctrlaltdel 表示该命令在按下 Ctrl+Alt+Del 时执行,::shutdown 表示该命令在系统关闭时执行,::respawn 表示该命令在进程崩溃后重启。

使用这些特定符号,inittab 文件定义了在哪个运行级别下会执行哪些操作,并对系统启动过程进行了管理。

总结

通过对 inittab 文件的介绍,BusBox 的启动过程与 init 进程的作用可以更加深入的了解。通过配置 inittab 文件,我们可以控制哪些进程和服务在不同的运行级别下启动,并以何种方式启动和管理这些进程。当然,我们也可以通过配置 init.d 文件夹来管理并启动其他进程和服务。同时,了解这些知识还可以帮助我们更好地管理和维护 BusyBox 系统。

标签:BusyBox,启动,inittab,init,进程,解析,级别
From: https://www.cnblogs.com/jobyan/p/17874748.html

相关文章

  • 机器学习-ROC曲线:技术解析与实战应用
    本文全面探讨了ROC曲线(ReceiverOperatingCharacteristicCurve)的重要性和应用,从其历史背景、数学基础到Python实现以及关键评价指标。文章旨在提供一个深刻而全面的视角,以帮助您更好地理解和应用ROC曲线在模型评估中的作用。关注TechLead,分享AI全维度知识。作者拥有10+年互......
  • crash扩展 —— trace解析
    下面是trace扩展的项目地址:https://github.com/fujitsu/crash-trace如果已经编译安装过crash,可以直接编译,然后使用extend工具加载.加载模块crash>extend/mnt/crash-trace/trace.so/mnt/crash-trace/trace.so:sharedobjectloadedcrash>extendSHAREDOBJECT......
  • Spring实践之自定义命名空间并解析
    自定义一个命名空间1、新建一个空项目,在resources/META-INF目录下新建一个spring.handlers文件,内容如下:http\://open.harvey.com/schema/dog=com.harvey.open.annotation.spring.DogNamespaceHandler文件内容为一个键值对。key为自定义命名空间:http://open.harvey.com/sc......
  • OEL 5.5配置DNS正反方向解析
    文档课题:OEL5.5配置DNS正反方向解析.系统:OEL5.564位1、安装bind包[root@dns~]#mount/dev/cdrom/mntmount:blockdevice/dev/cdromiswrite-protected,mountingread-only[root@dns~]#df-hFilesystemSizeUsedAvailUse%Mountedon/dev/sda3......
  • sms-pdu TP-User-Data的解析
    gsm文档[[23038-i00.docx]]sms内容--7bit和ucs2编码方式在3GTS23.040中,9.2.2PDUTyperepertoireatSM-TL中,有介绍六种类型的SMS,其中五种都有TP-User-Data的域,这部分的呈现也就是我们看到的SMS内容在3GTS23.038中,4SMSDataCodingScheme中,会记录内容的三种编码方式7......
  • 精通C#要点:解析委托、匿名方法与事件
    文章目录委托(Delegate)委托的特性声明委托实例化委托委托的多播(MulticastingofaDelegate)委托的用途匿名方法委托实际应用场景事件(Event)声明事件事件实例1事件实例2事件实例3委托和事件的区别总结 委托(Delegate)委托是对具有特定参数列表和返回类型的方法的......
  • 基于xml的Spring是如何解析@Component,@Service等注解的
    SpringFramework2.0开始,引入可扩展的XML编程机制,该机制要求XMLSchema命名空间需要与Handler建立映射关系。该关系配置在相对于classpath下的/META-INF/spring.handlers中。如上图所示 ContextNamespaceHandler对应<context:...>分析的入口。ContextNamespaceHandler 这......
  • 05.app常见bug解析
    一、功能bug内容显示错误功能错误界面显示错乱界面显示后台信息(sql语句、html)推送信息错误二、性能bug加载速度慢应用程序第一次启动速度慢进入到某一个界面加载速度慢启动某一个有动画效果的界面,动画执行过程加载度慢并且有卡顿响应某一个用户事件时,长时间无响应(ANR)......
  • Spring是如何解析自定义的xml标签
    SpringSPISpring借鉴了JavaSPI思想来解析各种标签,我们称之为SpringSPI。SpringSPI沿用了JavaSPI的设计思想,但在实现上和JavaSPI及DubboSPI也存在差异,Spring通过spring.handlers和spring.factories两种方式实现SPI机制,可以在不修改Spring源码的前提下,做到对Spring框架的扩......
  • 跑腿小程序开发解析:技术架构、接口设计和前沿趋势
    随着生活节奏的加快和个人需求的增加,跑腿小程序成为了人们生活中不可或缺的一部分。从技术角度来看,一个高效、安全、以及用户友好的跑腿小程序是由多个关键要素构成的,包括技术架构、接口设计和前沿趋势。技术架构1.前端技术选型选择合适的前端框架如ReactNative、Flutter、Vue.j......