news 2026/7/18 21:35:19

28、Linux系统初始化程序:System V init与systemd详解

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
28、Linux系统初始化程序:System V init与systemd详解

Linux系统初始化程序:System V init与systemd详解

1. 引言

在Linux系统中,初始化程序(init)是系统启动过程中的关键组件,它负责启动和管理系统中的各种服务和进程。本文将详细介绍两种常见的初始化程序:System V init和systemd,并结合Yocto Project和Buildroot的相关配置进行说明。

2. System V init

System V init是一种传统的初始化程序,在Buildroot和Yocto Project中都是可选的。在这两个项目中,init脚本都去除了任何Bash shell的特定内容,因此它们可以与BusyBox的ash shell一起使用。不过,Buildroot通过用System V init替换BusyBox init程序,并添加模仿BusyBox行为的inittab文件,来实现这一功能。需要注意的是,Buildroot除了切换到级别0或6会停止或重启系统外,并没有实现完整的运行级别。

2.1 inittab文件

init程序首先会读取/etc/inittab文件,该文件包含定义每个运行级别下要执行的操作的条目。其格式是BusyBox inittab的扩展版本,这并不奇怪,因为BusyBox最初就是从System V借鉴而来的。

inittab中每行的格式如下:

id:runlevels:action:process

各字段含义如下:
-id

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/18 9:21:52

29、Linux系统启动与电源管理全解析

Linux系统启动与电源管理全解析 1. 系统启动:init程序 在Linux系统中,服务添加依赖关系时,无需不断编辑目标单元文件。目标可以有一个名为 <target_name>.target.wants 的目录,其中可以包含指向服务的链接。这与将依赖单元添加到目标的 [Wants] 列表中完全相同…

作者头像 李华
网站建设 2026/7/18 8:49:51

32、深入理解进程与线程

深入理解进程与线程 1. 共享内存通信 当程序首次运行时,会创建内存段。初始状态下,消息区域为空,但经过一次循环后,它会包含该进程的 PID。例如,首次运行程序后,消息区域包含 PID 为 271 的进程信息。之后,在另一个终端运行同一程序的第二个实例: # ./shared-mem-d…

作者头像 李华
网站建设 2026/7/17 16:27:20

45、基于IP地址十六进制表示创建软件密钥及任意进制转换脚本

基于IP地址十六进制表示创建软件密钥及任意进制转换脚本 在这个技术分享中,我们将探讨两个实用的shell脚本:一个用于基于机器的IP地址创建软件许可证密钥,另一个用于在任意支持的数字进制之间进行转换。 基于IP地址创建软件许可证密钥 脚本概述 我们要创建一个shell脚本…

作者头像 李华
网站建设 2026/7/16 17:40:26

43、Samba与不同操作系统的连接及OS/2系统的使用配置

Samba与不同操作系统的连接及OS/2系统的使用配置 在网络环境中,Samba服务器可以为多种操作系统提供服务。下面将详细介绍Samba与Windows 3.11以及OS/2系统的连接和使用情况。 Samba与Windows 3.11 Windows 3.11及更早版本严格来说并非操作系统,而是运行在DOS之上的图形化环…

作者头像 李华