30系统服务

一.开机流程
CentOS6
原图
1.加载BIOS的硬件信息,获取第一个启动设备

    2.读取第一个启动设备MBR的引导加载程序(grub)的启动信息

    3.加载核心操作系统的核心信息(/boot中的内核),核心开始解压缩,并尝试驱动所有的硬件设备

    4.核心执行init程序,并获取默认的运行信息

    5.init程序执行/etc/rc.d/rc.sysinit文件

    6.启动核心的外挂模块

    7.init执行运行的各个批处理文件(scripts)

    8.init执行/etc/rc.d/rc.local

    9.执行/bin/login程序,等待用户登录

    10.登录之后开始以Shell控制主机

CentOS7
. UEFi或BIOS初始化,运行POST开机自检
2. 选择启动设备
3. 引导装载程序, centos7是grub2
4. 加载内核选项
5. 加载装载程序的配置文件:/etc/grub.d/ /etc/default/grub /boot/grub2/grub.cfg
6. 加载initramfs初始化伪文件系统
7. 内核初始化,centos7使用systemd代替init
8. 执行initrd.target所有单元,包括挂载/etc/fstab
9. 从initramfs根文件系统切换到磁盘根目录
10. systemd执行默认target配置,配置文件/etc/systemd/system/default.target
11. systemd执行sysinit.target初始化系统及basic.target准备操作系统
12. systemd启动multi-user.target下的本机与服务器服务
13. systemd执行multi-user.target下的/etc/rc.d/rc.local
14. Systemd执行multi-user.target下的getty.target及登录服务
15. systemd执行graphical需要的服务
https://blog.csdn.net/Evan1911/article/details/88944893?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522158651827419725247661360%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=158651827419725247661360&biz_id=0&utm_source=distribute.pc_search_result.none-task-blog-soetl_so_first_rank_v2_rank_v25-15
CentOS 5: SysV init ; CentOS 6: Upstart ;CentOS 7: Systemd
在这里插入图片描述
二.运行级别
centos6
init运行级别 systemd目标名称 作用
0 runlevel0.target, poweroff.target 关机
1 runlevel1.target, rescue.target 单用户模式
2 runlevel2.target, multi-user.target 未使用
3 runlevel3.target, multi-user.target 多用户的文本界面(生产用)
4 runlevel4.target, multi-user.target 未使用
5 runlevel5.target, graphical.target 多用户的图形界面
6 runlevel6.target, reboot.target 重启

1.临时
runlevel 查看当前级别

#runlevel
N 3

N 上一次的级别是什么 N表示上一次没有的意思
3 当前正在使用的级别
init Number 切换级别

2.永久 /etc/inittab
id:3:initdefault #开机启动3级别

centos7的运行级别

multi-user.target: analogous to runlevel 3
graphical.target: analogous to runlevel 5

查看当前的运行级别
#systemctl get-default
multi-user.target

设置默认的运行级别
systemctl set-default graphical.target

centos7在读取运行级别时,假设我们使用的是multi-user,那么则会加载该目录下的所有服务资源
/etc/systemd/system/multi-user.target.wants/
这一块,可以通过systemctl进行添加和删除:
systemctl enable ServiceName #加入开机自启
systemctl disable ServiceName #关闭开机自启

三.systemctl命令 针对当前正在运行的程序

systemctl命令						作用
systemctl start crond.service		启动服务
systemctl stop crond.service		停止服务
systemctl restart crond.service		重启服务
systemctl reload crond.service		重新加载配置
systemctl status crond.servre		查看服务运行状态
systemctl is-active sshd.service	查看服务是否在运行中
systemctl mask crond.servre			禁止服务运行
systemctl unmask crond.servre		取消禁止服务运行

当我们使用systemctl启动一个守护进程后,可以通过sysytemctl status查看此守护进程的状态

状态					描述
loaded				服务单元的配置文件已经被处理
active(running	)	服务持续运行
active(exited)		服务成功完成一次的配置
active(waiting)		服务已经运行但在等待某个事件
inactive			服务没有在运行
enabled				服务设定为开机运行
disabled			服务设定为开机不运行
static				服务开机不启动,但可以被其他服务调用启动

systemctl (7系统) 设置服务开机启动、不启动、查看各级别下服务启动状态等常用命令

systemctl enable crond.service		开机自动启动
systemctl disable crond.service		开机不自动启动
systemctl list-unit-files			查看各个级别下服务的启动与禁用
systemctl is-enabled crond.service	查看特定服务是否为开机自启动
systemctl daemon-reload				创建新服务文件需要重载变更

关机相关命令
systemctl poweroff #立即关机,常用
#重启相关命令
systemctl reboot #重启命令,常用

四.服务故障处理

单用户模式:
1.忘记ROOT密码。
2.修改错配置文件,造成系统无法启动成功。
修改密码
在正常系统入口上按下"e",会进入edit模式,搜寻ro那一行,以linux16开头的;
把ro更改成rw;(把只读更改成可写)
把rhgb quiet删除;(quiet模式没有代码行唰唰的走,可以删除)
增加init=/bin/sh;(或init=/bin/bash,指定shell环境)
按下ctrl+x来启动系统。
mount -o rw,remount / 默认只读,重新挂载读写
echo“1” |passwd – stdin root 使用非交互式修改密码
exec /bin/bash 重新引导系统

救援模式:
1.当系统坏了,无法登陆系统,但需要把里面的数据复制出来
2.修复MBR,主要出现在安装双系统时,后安装的系统把原来系统的MBR删除了,需要修复。
3.Centos7误删除grub文件如何进行修复。
c7修复原文链接

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值