linux引导和服务

发布时间:2024年01月02日

引导

linux开机启动的完整过程

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

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

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

? ? ? ? ? ? ? ? ? ? ? ? 1.硬盘,移动设备 2.u盘,移动光盘? 3.网络启动

mbr:因为grub太大第一个扇区存不下所有的grub程序,所以分为2部分

? ? ? ? ? 指引硬件去找内核文件

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

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

启动进程:第一个进程

centos6的第一个进程:init

centos7的第一个进程:systemd

centos6和centos7的区别:普通用户的uid范围? 第一个启动进程的不同

init和systemd的区别:init 串行启动后续的程序? 一个一个按顺序启动

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?systemd是并行启动后续的程序 全部一起启动?

完整流程:

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


服务

服务程序

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

linux操作系统是有运行级别的

0? 关机? ? ? ?

1 单用户(类似于Windows的急救模式)

2 字符界面(少些功能)

3 字符界面? ???

4 字符界面 (从来没有过,保留下来了)

5 图形界面

6 重启

yum以及rpm安装的 软件可以直接使用 systemctl 去启动 关闭 重启 开机自启 等功能

编译安装不可以直接使用 systemctl 命令 去管理程序 需要手写一个配置文件

常用命令:runlevel? ?查看当前运行级别

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

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


服务管理

什么是服务程序?

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

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

管理服务程序

开启(start),关闭(stop),重启(restart),重新加载配置文件(reload),查看状态(status),开机自启,开机不自启

centos6? ?chkconfig

service? ?服务程序? ?start

service? ?服务程序? ?stop

service? ?服务程序? ?restart

service? ?服务程序? ?reload

service? ?服务程序? ?status

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

chkconfig --level 35 服务程序 on? ? ? ? ? 开机自启

chkconfig --level 35 服务程序 off? ? ? ? ? 开机不自启

chkconfig --add 服务名称

systemd? centos7

systemctl? ? ?start? 服务名1,服务名2...? ? ? ? ?开启服务

systemctl? ? ?stop? 服务名? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?关闭服务

systemctl? ? ?reload 服务名? ? ? ? ? ? ? ? ? ? ? ? ? ? ?重新加载

systemctl? ? ?status? 服务名? ? ? ? ? ? ? ? ? ? ? ? ? ? ?查看状态

systemctl? ? ?restart 服务名? ? ? ? ? ? ? ? ? ? ? ? ? ? ?重新启动

systemctl? ? ?daemon-reload? ? ? ? ? ? ? ? ? ? ? ? ? ?刷新

systemctl? ? ?enable? 服务名? ? ? ? ? ? ? ? ? ? ? ? ? ? 开机自启

systemctl? ? ?enable --now 服务名? ? ? ? ? ? ? ? ? ?开机自启并立即启动

systemctl? ? ? disable? 服务名? ? ? ? ? ? ? ? ? ? ? ? ? ?开机不自启

systemctl? ? ? disable --now 服务名? ? ? ? ? ? ? ? ? 开机不自启并立即关闭

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

如果是编译安装则需要在? /lib/systemd/system/ 建立一个同名的配置文件(xxx.service)

[unit] 描述这个软件是做什么的,和软件的基本信息

[service] 怎么启动 怎么关闭 怎么重新启动 。。。

[install] 在哪个级别运行

? ? ? ? ? ? ? ? ??

文章来源:https://blog.csdn.net/m0_66372974/article/details/135342688
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。