引导过程与服务控制

news2024/11/19 16:30:29

一、开机启动的完整过程

bios加电自检测-------mbr------grub----------加载内核文件------------启动第一个进程

简述:加电后bios程序会自检硬件,硬件无故障,会根据第一启动项去找内核,一般来说,第一启动项是硬盘,找到硬盘后,会根据mbr的指引找到完整的grub程序,再根据grub的配置文件找到内核文件的具体位置,然后将内核文件加载到内存中运行,内存加载好后,会启动第一个程序。

bios作用:检测硬件是否正常,然后根据biso中的启动项设置,去找内核文件

boot:开机启动顺序(你可以把内核文件放在何处?)

1.硬盘

2.移动设备(u盘移动硬盘,光驱)

3.网络启动

mbr(二进制):因为grub程序太大,第一个扇区存不下所有的grub程序,所以分为两部分,指引硬件找到内核文件

grub:根据grub配置文件(grub.cfg)中记录的位置,去找到内核文件(高级语言)

加载内核:把内核运行在内存中

启动进程:启动第一个祖宗进程

centos6:init

centos7:启动systemd

1.1区别

init:串行启动后续的程序,一个一个按顺序启动

systemd:并行启动程序,全部一起启动

1.2systemd

systemd:是系统级的程序,代为管理系统上的程序

systemd:保姆级

yum以及rpm安装的软件可以直接使用systemctl去启动关闭,重启,开机自启等功能;   编译安装,不可以直接使用systemctl命令去管理程序,需要手写一个配置文件

systemd   **unit(单元)--------描述一个软件的作用和基本信息**,systemd方便管理程序,将程序按照特定的功能分成了很多单元;    

服务单元---写配置

systemctl       get-default------查看默认运行级别

systemctl       set-default------设置默认的级别


rpcbind:启动后,会监听111端口

1.3linux操作系统的运行级别

0:关机

1:单用户,类似于windows的急救模式

2:字符界面,少些功能 (nfs)

3:字符界面

4:字符界面,从来没用过

5:图形界面

6:重启

runlevel:查看当前运行级别

实验1:模拟破坏mbr和分区表,然后修复

1:新建一块硬盘

fdisk分区一下

格式化一下:

mkfs.xfs  /dev/sdb1

挂载到mnt下:

mount /dev/sdb1  /mnt/

2:将备份文件备份到新盘

dd   if=/dev/sda         of=/mnt/mbr       count=1     bs=512

进入mnt下:cd  /mnt

3.模拟破坏:

dd  if=/dev/zero        of=/dev/sda   count=1  bs=512

4.reboot-----重启一下

 

5.然后进入急救模式修复:3  2  1

6.mkdir  bak

7.mount  /dev/sdb1   bak

8.dd  if=bak/mbr.bak   of=/dev/sda   count=1  bs=512

9.reboot---重启服务


实验2:修复grub文件及程序

1.cd   /boot/     cd   grub2/

2.模拟破坏 grub.cfg 配置文件

mv   grub.cfg   /opt

3.重启一下---reboot

4.

5.

6

7

8.

9.先切换根,从光盘的根切换到 自己系统的根

chroot    /mnt/sysimage

10.重新安装grub2程序,在sda磁盘

grub2-install    /dev/sda

11.重新生成配置文件

grub2-mkconfig    -o     /boot/grub2/grub.cfg

12.退到光驱的根下----exit

13.重启----reboot

实验3:破解密码

第一种:有光驱

1.

2.

3.

4.

5.

6.切换根目录

chroot    /mnt/sysimage

7.修改密码

passwd

8.最后,exit退出,reboot--重启一下


2.无光驱情况

1.重启

2.

3.进入了grup程序里,输入命令

rd.break

4.挂载

mount  -o   remount,rw           /sysroot

5.切根,修改密码

chroot       /sysroot

passwd

6.刷新一下,打个标记

touch      /.autorelabel

7.exit退出去;reboot重启

实验4:编译安装nginx-systemctl

1.cd  /data/-----切换到data下

2.编辑文件

vim  test.sh

cd  /opt
wget http://nginx.org/download/nginx-1.18.0.tar.gz
tar xf   nginx-1.18.0.tar.gz
cd  nginx-1.18.0
yum -y install gcc pcre-devel openssl-devel zlib-devel openssl  openssl-devel 
#请使用网络源
mkdir /ky35/nginx -p    
./configure   --prefix=/ky35/nginx
make

make  install

ln -s /ky35/nginx/sbin  
#做软链接   可以补全  

3.

bash  test.sh

4.

vim  /usr/lib/systemd/system/nginx.service

[Unit]
Description=The nginx HTTP and reverse proxy server

[Service]
PIDFile=/ky35/nginx/logs/nginx.pid
ExecStart=/ky35/nginx/sbin/nginx
ExecStop=/usr/bin/kill -s TERM $MAINPID
ExecReload=/ky35/nginx/sbin/nginx -s reload


[Install]
WantedBy=multi-user.target
 

5. 要 告诉  systemd  我加入你了

systemctl  daemon-reload-----nginx

6.开启nginx

systemctl  start  nginx

二、服务程序管理

1.介绍

什么是服务程序?

1.一旦运行一直运行,不会退出

2.一般是后台运行,不会影响前台的操作


管理服务程序

开启

关闭

重启

重新加载配置文件

开机自启

开机不自启

2.chkconfig    centos6

service   服务程序     start

service   服务程序     stop

service   服务程序     restart

service   服务程序     reload

service   服务程序     status

在 /etc/init.d/  写一个同名文件的脚本 (必须要有 执行权限)

chkconfig  --level  35  服务程序    on/off     开机自启和关闭

3.chkconfig      centos7

systemctl     start     服务名

systemctl     stop     服务名

systemctl     status     服务名

systemctl     reload     服务名

systemctl     restart     服务名

开机自启

systemctl       enable     服务名

开机自启,并立即启动

systemctl      enable   --now      服务名

开机不自启

systemctl       disable       服务名

开机自启,并立即关闭

systemctl      disable   --now      服务名


如果用yum 安装 以及 rpm 安装,会自动生成一个配置文件,不需要手动加入

systemd会自动加入


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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

初学者快速入门学习日语,PDF文档音频教学资料合集

一、资料描述 本套学习资料是很全面的,共有734份文件,包括PDF,PPT,表格,图片,音频等多种格式,可以作为初级日语的学习教材,也是非常适合初学者入门的,可以帮助大家快速的…

基本算法——深度优先搜索(DFS)和广度优先搜索(BFS)

深度优先搜索和广度优先搜索,都是图形搜索算法,它两相似,又却不同,在应用上也被用到不同的地方。这里拿一起讨论,方便比较。 一、深度优先搜索 深度优先搜索属于图算法的一种,是一个针对图和树的遍历算法&…

西城微科|充气泵方案PCBA和芯片

智能充气泵是一种常见的充气工具,它在我们的日常生活中扮演着重要的角色。它主要用于给车辆、自行车、橡皮艇、游泳圈等充气,方便人们在各种场合使用。它简单方便的操作,快速高效的充气速度,以及便携的设计,让我们能够…

ubuntu系统没有网络图标的解决办法

参考文章:https://blog.csdn.net/qq_56922632/article/details/132309643 1. 执行关闭网络服务的命令,关闭网络服务sudo service NetworkManager stop2. 删除网络的状态文件sudo rm /var/lib/NetworkManager/NetworkManager.state3. 修改网络的配置文件sudo vi /etc…

如何避免LLM的“幻觉”(Hallucination)

生成式大语言模型(LLM)可以针对各种用户的 prompt 生成高度流畅的回复。然而,大模型倾向于产生幻觉或做出非事实陈述,这可能会损害用户的信任。 大语言模型的长而详细的输出看起来很有说服力,但是这些输出很有可能是虚…

Modbus 通信协议 二

Modbus 常用缩写 通用Modbus帧结构 -应用数据单元(ADU) Modbus数据模型 Modbus ADU 和 PDU 的长度 Modbus PDU结构 串行链路上的 Modbus 帧结构 Modbus 地址规则 ASCLL 模式 和 RTU 模式的比较 RTU 模式 RTU 模式位序列 帧格式 帧的标识与鉴别 CRC 循环冗…

linux系统下sql脚本的执行与导出

terminal中执行 执行 mysql -u [username] -p -D [databasename] < [XXX.sql] 导出 mysql -u [username] -p [datbasename] > [XXX.sql] 导出的数据库名自定义。 mysql -u [username] -p [databasename] [tablename] > [xxx.sql] 导出表名自定义 mysql shell 执行 …

众和策略:沪指震荡跌0.21%,煤炭、电力等板块拉升,核电概念活跃

2日早盘&#xff0c;三大股指盘中震荡走低&#xff0c;创业板指跌逾1%&#xff0c;北证50指数逆市拉升&#xff1b;北向资金大幅流出。 到午间收盘&#xff0c;沪指跌0.21%报2968.7点&#xff0c;深成指跌0.91%&#xff0c;创业板指跌1.38%&#xff0c;北证50指数涨1.33%&…

Java学习路线第六篇:互联网生态(1)

这篇则分享Java学习路线第六part&#xff1a;互联网生态 恭喜你已经成功追到第六章节啦&#xff0c;要被自己的努力感动到了吧&#xff0c;而这节将承担起学完互联网生态的使命&#xff0c;本使命为单向契约&#xff0c;你可选择YES或者选择YES。 Linux Linux从入门到精通视…

基于电商场景的高并发RocketMQ实战-促销活动推送至用户完整流程、Spring结合RocketMQ的生产者消费者使用

&#x1f308;&#x1f308;&#x1f308;&#x1f308;&#x1f308;&#x1f308;&#x1f308;&#x1f308; 欢迎关注公众号&#xff08;通过文章导读关注&#xff09;&#xff0c;发送【资料】可领取 深入理解 Redis 系列文章结合电商场景讲解 Redis 使用场景、中间件系列…

【Apache-2.0】springboot-openai-chatgpt超级AI大脑产品架构图

springboot-openai-chatgpt: 一个基于SpringCloud的Chatgpt机器人&#xff0c;已对接GPT-3.5、GPT-4.0、百度文心一言、stable diffusion AI绘图、Midjourney绘图。用户可以在界面上与聊天机器人进行对话&#xff0c;聊天机器人会根据用户的输入自动生成回复。同时也支持画图&a…

【微服务架构】Spring Cloud入门概念讲解

目录 一、单体架构VS微服务架构 1.1 单体应用 单体架构的优点 单体应用的缺点 1.2 微服务“定义” 微服务的特性 微服务的缺点 微服务的适用场景 二、微服务常见概念与核心模块 三、Spring Cloud 工作流程 一、单体架构VS微服务架构 1.1 单体应用 一个归档包&#x…

数据损毁!250 亿美金的 Pinterest,在数据库选型上的翻车经历

原文链接 Pinterest 是一个以图片为主的社交网络&#xff0c;用户可以将图片保存或 "钉 / pin" 在自己的图板上。Pinterest 在 2019 年上市&#xff0c;目前市值 250 亿美金。本文内容主要根据 2012 年 Scaling Pinterest 的分享。 2012 年 1 月&#xff0c;Pinteres…

ARM NEON 指令

NEON指令 按照操作数类型可以分为正常指令、宽指令、窄指令、饱和指令、长指令。 正常指令&#xff1a;生成大小相同且类型通常与操作数向量相同到结果向量。长指令&#xff1a;对双字向量操作数执行运算&#xff0c;生产四字向量到结果。所生成的元素一般是操作数元素宽度到…

从0搭建github.io网页

点击跳转到&#x1f517;我的博客文章目录 从0搭建github.io网页 文章目录 从0搭建github.io网页1.成果展示1.1 网址和源码1.2 页面展示 2.new对象2.1 创建仓库 3.github.io仓库的初始化3.1 千里之行&#xff0c;始于足下3.2 _config.yml3.3 一点杂活 4.PerCheung.github.io.p…

Qt(三):udp组播的发送与接收

1. 创建UDP套接字 使用QUdpSocket类创建一个UDP套接字。 udpSendnew QUdpSocket(this);udpRecenew QUdpSocket(this); 2. 绑定套接字 绑定套接字到一个本地地址和端口。可以使用bind()函数来完成。 如果要在组播中发送数据&#xff0c;可以将套接字绑定到一个通配符地址&#…

【CASS精品教程】CASS11计算城镇建筑密度

CASS中可以很方便计算建筑密度。 文章目录 一、建筑密度介绍二、CASS计算建筑密度1. 绘制宗地范围2. 绘制建筑物3. 计算建筑密度三、注意事项一、建筑密度介绍 建筑密度(building density;building coverage ratio),指在一定范围内,建筑物的基底面积总和与占用地面积的比…

计算机网络-以太网交换基础

一、网络设备的演变 最初的网络在两台设备间使用传输介质如网线等进行连接就可以进行通信。但是随着数据的传输需求&#xff0c;多个设备需要进行数据通信时就需要另外的设备进行网络互联&#xff0c;并且随着网络传输的需求不断更新升级。从一开始的两台设备互联到企业部门内部…

【OpenCV】在MacOS上源码编译OpenCV

在MacOS上源码编译OpenCV 1. 下载项目源码2. 创建CMake编译文件3. 编译安装4. 案例测试5. 总结 前言 在做视觉任务时&#xff0c;我们经常会用到开源视觉库OpenCV&#xff0c;OpenCV是一个基于Apache2.0许可&#xff08;开源&#xff09;发行的跨平台计算机视觉和机器学习软件…

Spring技术内幕笔记之IOC的实现

IOC容器的实现 依赖反转&#xff1a; 依赖对象的获得被反转了&#xff0c;于是依赖反转更名为&#xff1a;依赖注入。许多应用都是由两个或者多个类通过彼此的合作来实现业务逻辑的&#xff0c;这使得每个对象都需要与其合作的对象的引用&#xff0c;如果这个获取过程需要自身…