Linux系统的引导过程与服务控制

目录

一、Linux操作系统引导过程

二、Linux系统服务控制

系统初始化进程

三、运行级别切换

*运行级别及切换

Linux系统的运行级别

四、优化开机自动加载服务

五、修复MBR扇区故障


一、Linux操作系统引导过程

主要步骤

  1. 开机自检:        检测硬件设备,找到能够引导系统的设备,如硬盘。
  2. MBR引导:        运行MBR扇区里的主引导程序GRUB。
  3. 启动GRUB菜单: 系统读取grub配置文件(/boot/grub2/grub.cfg),获取内核的设置和位置,并在屏幕显示grub菜单页面。
  4. 加载Li nux内核: 把内核加载到内存,将系统控制权交接给内核。
  5. Init进程初始化:   内核将init进程加载到内存中运行,并把init进程作为系统的第一个进程。
  6. 系统初始化启动内核模块,执行运行级别的启动脚本ls /etc/rc.等。

init进程的文件位于 /sbin/init -> /lib/systemd/systemd  ,init进程PID号固定为 1 ,是系统中其它所有进程的父进程。

二、Linux系统服务控制

系统初始化进程

init进程

  • 由 Linux 内核加载运行 /sbin/init 程序
  • init进程是系统中第一个进程,是所有进程的父进程
  • init进程的PID(进程标记)号永远为1

Systemd

  • Systemd是Linux操作系统的一种init软件
  • CentOS7中采用全新的Systemd启动方式,取代传统的SysVinit
  • CentOS7中运行的第一个init进程是/lib/systemd/systemd
单元类型
单元类型扩展名说明
Service.service描述一个系统服务
Socket.socket描述一个进程间通信的套接字
Device.device描述一个内核识别的设备文件
Mount.mount描述一个文件系统的挂载点
Automount.automount描述一个文件系统的自动挂载点
Swap.swap描述一个内存交换设备或交换文件
Path.path描述一个文件系统中文件或目录
Timer.timer描述一个定时器(用于实现类似cron的调度任务)
Snapshot.snapshot用于保存一个systemd的状态
Scope.scope使用systemd的总线接口以编程的方式创建外部进程
Slice.slice描述居于Cgroup的一组通过层次组织的管理系统进程
Target.target描述-组systemd的单元

系统服务控制

systemctl 控制类型 服务名称

控制类型

  • start:启动
  • stop:停止
  • restart:重新启动
  • reload:重新加载
  • status:查看服务状态

三、运行级别切换

*运行级别及切换

运行级别systemd的target说明切换切换
0power.target关机状态,使用该级别时将会关闭主机init 0 systemctl isolate poweroff.target
1resue.target单用户模式,不需要密码验证即可登录系统,多用于系统维护init 1 systemctl isolate rescue.target
2multi-user.target用户定义/域特定运行级别。默认等同于3
3multi-user.target字符界面的完整多用户模式,大多数服务器主机运行在此级别init 3systemctl isolate multi-user.target
4multi-user.target用户定义/域特定运行级别。默认等同于3
5graphical.target图形界面的多用户模式,提供了图形桌面操作环境init 5systemctl isolate graphical.target
6reboot.target重新启动,使用该级别时将会重启主机init 6systemctl isolate reboot.target

Linux系统的运行级别

查看运行级别

  • runlevel命令:runlevel只能查看切换运行级别与当前运行级别
  • systemctl工具:systemctl时能查看默认的运行级别

临时切换运行级别

  • init命令:Init的命令参数是运行级别所对应的数字
  • systemctl工具:systemctl的命令参数是具体的target

四、优化开机自动加载服务

服务开机自启管理

systemctl enable|disable [--now] 服务名[.service]       # --now选项可实现立即开启|关闭服务
systemctl is-enabled 服务名[.service]
ntsysv    #图形化管理开机自启
chkconfig --add 服务名                             #服务名就是 /etc/init.d/ 目录下的脚本文件名
chkconfig --level 运行级别列表  服务名  on|off     #开启|关闭服务在哪些运行级别下开机自启
chkconfig --list 服务名                            #查看自启状态
runlevel         #查看上一次的运行级别 和 当前的运行级别
systemctl get-default    #查看当前的默认运行级别

systemctl set-default multi-user.target|graphical.target      #设置默认运行级别
等效于 ln -s -f /usr/lib/systemd/system/multi-user.target|graphical.target  /etc/systemd/system/default.target

五、修复MBR扇区故障

如果是 MBR 的GRUB主引导程序被破坏了

  1. 在急救模式下使用备份文件恢复          dd if=备份文件  of=/dev/sda  bs=446  count=1
  2. 在急救模式下重建MBR的GRUB主引导程序   chroot /mnt/sysimage   ->   grub2-install /dev/sda

如果是GRUB配置文件被删了

  1. 在急救模式下重建GRUB配置文件  chroot /mnt/sysimage   ->   grub2-mkconfig -o /boot/grub2/grub.cfg

如果是root密码忘记了

  1. 在急救模式下   先切换系统根环境 chroot /mnt/sysimage   ->  passwd root
  2. 在GRUB菜单按 e 键,修改内容 
    linux16 /vmlinuz-3.10.0-1160.71.1.el7.x86_64 root=UUID=a99fd431-dc10-4233-a655-3c4b8d710624 ro rhgb quiet LANG=zh_CN.UTF-8     #这行后面追加下行配置
    rw single init=/bin/bash           #再按 ctrl + x 重启系统
  3. 再在bash界面输入 passwd root 修改密码  ->  touch /.autorelabel  -->   exec /sbin/init
     

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/551999.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

C++从入门到精通——const与取地址重载

const与取地址重载 前言一、const正常用法const成员函数问题const对象可以调用非const成员函数吗非const对象可以调用const成员函数吗const成员函数内可以调用其它的非const成员函数吗非const成员函数内可以调用其它的const成员函数吗总结 二、取地址及const取地址操作符重载概…

小米汽车SU7隐藏款曝光!新配色和透明车身亮了 coreldraw教程入门零基础 coreldraw下载 coreldraw2024

刘强东说,论营销,没有任何人能比得过小米。 小米SU7发布会24小时,下定量就超过了蔚来汽车2023年四季度的交付量。 ▲雷军发布的小米SU7 24小时订单量 小米SU7发布会后五天,雷军在北京亦庄工厂亲自交付了第一批创世版本小米SU7&a…

黑马点评(四) -- 分布式锁

1 . 分布式锁基本原理和实现方式对比 分布式锁:满足分布式系统或集群模式下多进程可见并且互斥的锁。 分布式锁的核心思想就是让大家都使用同一把锁,只要大家使用的是同一把锁,那么我们就能锁住线程,不让线程进行,让…

gpt4.0人工智能网页版

在最新的AI基准测试中,OpenAI几天前刚刚发布的GPT-4-Turbo-2024-04-09版本,大幅超越了Claude3 Opus,重新夺回了全球第一的AI王座。 GPT-4-Turbo-2024-04-09版本是目前国内外最强的大模型,官网需要20美元每月才能使用,…

【UE5.1】使用MySQL and MariaDB Integration插件——(3)表格形式显示数据

在上一篇(【UE5.1】使用MySQL and MariaDB Integration插件——(2)查询)基础上继续实现以表格形式显示查询到的数据的功能 效果 步骤 1. 在“WBP_Query”中将多行文本框替换未网格面板控件,该控件可以用表格形式布局…

Pytest测试用例中的mark用法(包含代码示例与使用场景详解)

在软件开发中,测试是确保代码质量和功能稳定性的重要环节。Python作为一门流行的编程语言,拥有丰富的测试工具和框架,其中pytest是其中之一。pytest提供了丰富的功能来简化测试用例的编写,其中的mark功能允许我们对测试用例进行标…

理解思维链Chain of Thought(CoT)

Chain of Thought(CoT),即“思维链”,是人工智能领域中的一个概念,特别是在自然语言处理和推理任务中。它指的是一种推理过程,其中模型在生成最终答案之前,先逐步推导出一系列的中间步骤或子目标…

【日常记录】【CSS】SASS循环的使用

文章目录 1、引言2、安装3、举例4、参考链接 1、引言 目前在任何项目框架中,都会有css 预处理器,目前一般使用 sass、less 这俩其中之一,它可以简化css的书写 Sass 是一款强化 CSS 的辅助工具,它在 CSS 语法的基础上增加了变量 (v…

推动企业档案数字化转型的措施

推动企业档案数字化转型的措施有以下几点: 1. 制定数字化转型战略:企业应该制定明确的数字化转型战略,明确企业数字化转型的目标、步骤和时间表,并将档案数字化转型作为其中的重要内容。 2. 投资数字化技术:企业应该投…

代码随想录:二叉树5(层序遍历全解)

目录 102.二叉树的层序遍历 107.二叉树的层序遍历II 199.二叉树的右视图 637.二叉树的层平均值 429.N叉树的层序遍历 501.在每个树行中找最大值 116.填充每个节点的下一个右侧节点指针 117.填充每个节点的下一个右侧节点指针II 104.二叉树的最大深度 111.二叉树的最大…

UE5 HLSL 详细学习笔记

这里的POSITION是变量Position的语义,告诉寄存器,此变量的保存位置,通常语义用于着色器的输入和输出,以冒号“:”的方式进一步说明此变量,COLOR也类似 还有什么语义呢? HLSL核心函数&#xff1a…

CAN的底层驱动

框架图 拆解链路模型 CAN子系统 can_controller Core 包含协议控制器和接收/发送移位寄存器。它可处理所有 ISO 11898-1: 2015 协议功能,并支持 11 位和 29 位标识符。

【数据结构】树与森林(树的存储结构、森林与二叉树的转化、树与森林的遍历)

目录 树和森林树的存储结构一、树的双亲表示法:二、树的孩子表示法方法一:定长结点的多重链表方法二:不定长结点的多重链表方法三:孩子单链表表示法 三、树的二叉链表(孩子-兄弟)存储表示法 森林与二叉树的转换树和森林的遍历先根…

Java中的容器

Java中的容器主要包括以下几类: Collection接口及其子接口/实现类: List 接口及其实现类: ArrayList:基于动态数组实现的列表,支持随机访问,插入和删除元素可能导致大量元素移动。LinkedList:基…

前端常见面试题:HTML+CSS

1. title与h1的区别、b与strong的区别、i与em的区别? title与h1的区别: title标签用于定义整个HTML文档的标题,它显示在浏览器窗口的标题栏或者标签页上。每个HTML文档只应该有一个title标签,它对搜索引擎优化(SEO&a…

C语言结构体与公用体

结构体 概述 有时我们需要将不同类型的数据组合成一个有机的整体,如:一个学生有学号/姓名/性别/年龄/地址等属性这时候可通过结构体实现结构体(struct)可以理解为用户自定义的特殊的复合的“数据类型” 可以理解为其他语言的object类型 结构体变量的定…

项目五:学会如何使用python爬虫解析库(小白小成级)

前言 在上一篇我们学习了re模块的使用方法和了解正则表达式的基本语法规则,那么这一次还继续在学习一下re模块的函数用法,毕竟要想短时间内学会爬虫,基本功一定要扎实。这样面对日益更新的技术我们能够从容应对。 当然忘了可以看一下下面的…

使用SpringBoot将中国地震台网数据保存PostGIS数据库实践

目录 前言 一、数据转换 1、Json转JavaBean 2、JavaBean与数据库字段映射 二、空间数据表设计 1、表结构设计 三、PostGIS数据保存 1、Mapper接口定义 2、Service逻辑层实现 3、数据入库 4、运行实例及结果 总结 前言 在上一篇博客中基于Java的XxlCrawler网络信息爬…

ActiveMQ 07 集群配置

Active MQ 07 集群配置 官方文档 http://activemq.apache.org/clustering 主备集群 http://activemq.apache.org/masterslave.html Master Slave TypeRequirementsProsConsShared File System Master SlaveA shared file system such as a SANRun as many slaves as requ…

leetcode:739.每日温度/496.下一个更大元素

单调栈的应用: 求解当前元素右边比该元素大的第一个元素(左右、大小都可以)。 单调栈的构成: 单调栈里存储数组的下标; 单调栈里的元素递增,求解当前元素右边比该元素大的第一个元素;元素递…