Linux 的引导与服务控制

    一 开机启动过程

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

1  bios加电自检

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

2  mbr

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

当从本机硬盘中启动系统时,首先根据硬盘第一个扇区中MBR(主引导记录)的设备,将系统控制权传递给包含操作系统引导文件的分区,或者直接根据MBR记录中的引导信息调用启动菜单

3 grub

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

对于Linux操作系统来说,GRBU(统一启动加载器)是使用最为广泛的多系统引导程序。系统控制权传递给GRUB以后,将会显示启动菜单给用户选择,并根据所选项(或采用默认值)加载Linux内核文件,然后将系统控制权转交给内核,

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

Linux内核是一个预先编译好的特殊二进制文件,介于各种硬件资源与系统程序之间,负责资源分配与调度。内核接过系统控制权以后,将完全掌控整个Linux操作系统的运行过程

centOS7系统中,默认内核文件位于

5 启动进程=init进程初始化

Linux内核首先将系统中的“/sbin/init”程序加载到内存中运行(运行中的程序称为进程),init进程负责完成一系列的系统初始化过程,最后等待用户进行登录。

 总结:加载硬件驱动程序,内核把init进程加载到内存中运行

二.系统初始化进程


1. init进程


由Linux内核加载运行/sbin/init程序

init进程是系统中第一个进程

init进程的PID(进程标记)号永远为1

2. systemd

systemd是linux操作系统的一种init软件

centos7中采用全新的systemd启动方式,取代传统的sysvinit

centos7中运行的第一个init进程是/lib/systemd/system

区别:

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

systemd   是并行启动程序  全部一起启动

路径:

/lib/systemd/system/*.service为结尾的文件

systemd能够识别并管理这些以.service为结尾的程序

centos6与centos7的区别

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

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

systemd

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

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

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

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

“/boot/vmlinuz-3.10.0-514.e17.x86_64”

3 systemd单元进程

二 查看当前运行级别  runlevel 且级别的作用:

1

2

3

4

5

6

7

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

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

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

service unit file 由三部分组成

unit   service   install

unit段的常用选项

description

After

Requires

Wants

Conflicts

service段的常用选项

simple

forking

oneshot

dbus

notify

idle

install段的常用选项

alias

requiredBy

WantedBy

Also

服务配置文件

[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       #安装子字符界面
 

四  编译安装nginx-systemctl     ---然后用systemctl管理

Linux 的引导与服务控制_第1张图片 Linux 的引导与服务控制_第2张图片

Linux 的引导与服务控制_第3张图片

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


systemctl set -default #设置默认运行级别

target  #关机


rescue.target #单用户

multi-user.target   #字符界面

graphical.target    #图形界面

三.修复mbr扇区故障

①先添加一块硬盘,(刷新磁盘?)再分区好(fdisk  /dev/sdb)

Linux 的引导与服务控制_第4张图片

Linux 的引导与服务控制_第5张图片

②将备份文件复制到新盘sdb1 

Linux 的引导与服务控制_第6张图片

③模拟破坏

服务程序管理

一旦运行一直运行不会退出

一般后台不会影响前台操作

chkconfig  centos6

chkconfig  --add

chkconfig  --list

Linux 的引导与服务控制_第7张图片

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

chkconfig  --35  服务程序  off  关闭开机

systemd    centos7

四 Linux 运行级别切换

runlevel

查看切换运行级别与当前运行级别

systemctl

查看默认的运行级别

设置永久运行级别

ln -sf /lib/systemd/system/multi-user.target /etc/systemd/

system/default.target systemctl set-default multi-user.target

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