引导过程与服务控制

一、开机启动的完整过程

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:新建一块硬盘

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

fdisk分区一下

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

格式化一下:

mkfs.xfs  /dev/sdb1

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

挂载到mnt下:

mount /dev/sdb1  /mnt/

引导过程与服务控制_第4张图片

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

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

引导过程与服务控制_第5张图片

进入mnt下:cd  /mnt

3.模拟破坏:

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

引导过程与服务控制_第6张图片

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

 引导过程与服务控制_第7张图片

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

引导过程与服务控制_第8张图片

引导过程与服务控制_第9张图片

引导过程与服务控制_第10张图片

6.mkdir  bak

引导过程与服务控制_第11张图片

7.mount  /dev/sdb1   bak

引导过程与服务控制_第12张图片

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

引导过程与服务控制_第13张图片

9.reboot---重启服务

引导过程与服务控制_第14张图片


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

1.cd   /boot/     cd   grub2/

引导过程与服务控制_第15张图片

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

mv   grub.cfg   /opt

引导过程与服务控制_第16张图片

3.重启一下---reboot

引导过程与服务控制_第17张图片

4.

引导过程与服务控制_第18张图片

5.

引导过程与服务控制_第19张图片

6

引导过程与服务控制_第20张图片

7

引导过程与服务控制_第21张图片

8.

引导过程与服务控制_第22张图片

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

chroot    /mnt/sysimage

引导过程与服务控制_第23张图片

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

grub2-install    /dev/sda

引导过程与服务控制_第24张图片

11.重新生成配置文件

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

引导过程与服务控制_第25张图片

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

引导过程与服务控制_第26张图片

13.重启----reboot

引导过程与服务控制_第27张图片

实验3:破解密码

第一种:有光驱

1.

引导过程与服务控制_第28张图片

2.

引导过程与服务控制_第29张图片

3.

引导过程与服务控制_第30张图片

4.

引导过程与服务控制_第31张图片

5.

引导过程与服务控制_第32张图片

6.切换根目录

chroot    /mnt/sysimage

引导过程与服务控制_第33张图片

7.修改密码

passwd

引导过程与服务控制_第34张图片

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


2.无光驱情况

1.重启

引导过程与服务控制_第35张图片

2.

引导过程与服务控制_第36张图片

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

rd.break

引导过程与服务控制_第37张图片

4.挂载

mount  -o   remount,rw           /sysroot

引导过程与服务控制_第38张图片

5.切根,修改密码

chroot       /sysroot

passwd

引导过程与服务控制_第39张图片

6.刷新一下,打个标记

touch      /.autorelabel

引导过程与服务控制_第40张图片

7.exit退出去;reboot重启

引导过程与服务控制_第41张图片

实验4:编译安装nginx-systemctl

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

引导过程与服务控制_第42张图片

2.编辑文件

vim  test.sh

引导过程与服务控制_第43张图片

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

引导过程与服务控制_第44张图片

4.

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

引导过程与服务控制_第45张图片

[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

引导过程与服务控制_第46张图片

二、服务程序管理

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会自动加入


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