Linux引导过程与服务控制修复

一、引导过程

bios加电自检————>mbr————>grub———>加载内核文件————>启动进程

1.1.bios加电自检

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

1.2.mbr引导

因为grub太大,第一个扇区存不下所有的grub程序,所以分成两部分引导硬件找到内核文件。

1.3.grub菜单

根据greb配置文件中记录的位置,去寻找内核文件(高级语言)。

grub的作用:交互,设置密码,修复自己

grub的启动过程:

1primary boot loader :(引导记录)

1st stage:MBR的前446个字节 引导 硬件去找 内核

1.5 stage:MBR 之后的扇区,让stage1中的bootloader能识别stage2所在的分区上的文件系统

secondary boot loader :2nd stage,分区文件/boot/grub2/grub.cfg表现为文件。

1.4.加载Linux内核

把内核和镜像文件系统加载到内存中可以使用。

1.5.init进程初始化

这是linux 系统运行的第一个程序,加载硬件驱动程序,内核把init进程加载到内存中运行。

1.6.centos6与centos7的区别

centos6使用init 串行启动后续程序,一个一个按顺序启动。

centos7使用systemd 并行启动程序,全部一起启动。

1.7.开机启动的完整过程

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

1.8.systemd

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

systemd:yum以及rpm安装的软件可以直接使用

systemctl具有启动,关闭,重启,开机自启等功能

systemd unit(单元):systemd方便管理程序,将程序按照特定的功能分成了很多单元服务,单元配置。

1.9.设置运行级别

通式:

systemctl [command] [unit.target]

command参数:

  get-default :取得当前的target  

  set-default :设置指定的target为默认的运行级别   3 5

  isolate :切换到指定的运行级别

unit.target :上面列出的运行级别
 

0:关机
1:单用户模式(root自动登录), single, 维护模式
2:多用户模式,启动网络功能,但不会启动NFS;维护模式
3:多用户模式,正常模式;文本界面
4:预留级别;可同3级别
5:多用户模式,正常模式;图形界面
6:重启

二、服务控制修复

2.1.centos6

centos6使用chkconfig

通式:chkconfig --list [服务名称]

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

chkconfig --add 服务名称  

chkconfig --level 级别列表服务名 on ————开机自启

chkconfig --level 级别列表服务名 off  ————开机自动关闭

service 服务程序 start ————开启服务

service 服务程序 stop ————关闭服务

service 服务程序 status ————查看状态

service 服务程序 restart ————重启服务

service 服务程序 reload ————重新加载

2.2.centos7

centos7使用systemd

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

开机自启并立刻启动————systemctl enable--now 服务名

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

开机不自启并立即启动————systemctl disable--now 服务名

systemctl start 服务名 ————开启服务

systemctl stop 服务名————关闭服务

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

systemctl restart 服务名————重启服务

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

2.3.编译安装nginx-systemctl

Linux引导过程与服务控制修复_第1张图片

 

Linux引导过程与服务控制修复_第2张图片 

vim编译内容 

Linux引导过程与服务控制修复_第3张图片 

 

[Unit]
Description=The nginx HTTP and reverse proxy server
#描述软件的功能

[Service]
PIDFile=/apps/nginx/logs/nginx.pid
# 方便使用  pid  号 进行操作  ,  指明进程的 pid 号
ExecStart=/apps/nginx/sbin/nginx
#使用绝对路径启动
ExecStop=/usr/bin/kill -s TERM $MAINPID
#杀死进程
ExecReload=/apps/nginx/sbin/nginx -s reload
#重新加载

[Install]
WantedBy=multi-user.target
安装子字符界面
 

你可能感兴趣的:(linux,运维,服务器)