day22系统服务

今日总结

1.开机启动流程

  • CentOS6

    • 内核的引导
      • 计算机打开后首先是BIOS开机自检,按照BIOS中设置启动设备(通常是硬盘)来启动,
    • /boot
      • 载入内核文件
    • 运行init
      • init是所有进程的起点
    • 运行级别
    • 系统初始化
      • 加载/etc/init.d文件
    • 建立终端
    • 用户登录系统
  • CentOS7

    • 按下电源

    • 开机自检(BIOS)

    • MBR引导

    • GRUB菜单

      • C7救援模式
    • 加载内核

    • 读取运行级别

      • systemd
        /etc/systemd/system/default.target.wants/
        /usr/lib/systemd/system/sysinit.target.wants/
    • 初始化系统

    • 启动服务

      • 并行启动服务
  • CentOS6与CentOS7的区别


    image.png
  • 运行级别

    • Centos6
      • 0 关机
      • 1 单用户模式(超级权限 必须面对实体硬件)
      • 2 在位使用
      • 3 字符界面
      • 4 暂未使用
      • 5 图形界面
      • 6 重启
#临时性的操作
[root@oldboy~]# runlevel     #查看级别
N 3
   #N 表示上一次是什么级别
   #3 当前系统正在运行的级别
[root@oldboy~]# init 3      #切换到3级别上

#永久操作  /etc/inittab 
  • Centos7
    • 0 关机
    • 1 单用户模式(超级权限 必须面对实体硬件)
    • 2 在位使用
    • 3 字符界面
    • 4 暂未使用
    • 5 图形界面
    • 6 重启
# multi-user.target: analogous to runlevel 3
# graphical.target: analogous to runlevel 5
[root@oldboy~]# systemctl get-default   #查看当前运行级别
multi-user.target

#修改系统下次启动时的运行级别
[root@oldboy~]# systemctl set-default graphical.target 

# To set a default target, run:
# systemctl set-default TARGET.target

2.Linux systemd

  1. systemd的由来
    Linux一直以来都是使用init进程作为祖宗进程,但init有两个缺点

    • 启动时间长
    • 启动脚本复杂
  2. 什么是systemd
    systemd即为system daemon守护进程,systemd主要解决上文的问题而诞生。systemd的目标是,为系统的启动和管理提供一套完整的解决方案。

  3. systemd的优势

    • 最新系统都采用systemd管理(Redhat7,CentOS7,Ubuntu15等)
    • Centos7支持开机并行启动服务,显著提高开机启动效率
    • Centos7关机只关闭正在运行的服务,而6全部都关闭一次
    • Centos7服务的启动与停止不再使用脚本管理,也就是/etc/init.d下不在有脚本。
    • CentOS7使用systemd解决原有模式缺陷,比如原有service不会关闭程序产生的进程。
  4. systemd相关的配置文件

/usr/lib/systemd/system  #类似6的系统启动脚本
/etc/systemd/system/  #类似6系统的/etc/rc.d/rcN.d
 /etc/systemd/system/multi-user.target.wants/
  1. systemd管理服务相关命令
systemctl start nginx
systemctl stop nginx
systemctl restart nginx
systemctl reload nginx
systemclt status nginx


systemctl enable nginx #下一次开机启动nginx,于当前无关
systemctl disable nginx #下一次开机不启动nginx,于当前无
关

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

状态 描述
loaded 服务单元的配置文件已经被处理
active(running) 服务持续运行
active(exited) 服务成功完成一次的配置
active(waitting) 服务已经运行但在等待某个事件
iniactive 服务没有在运行
enabled 服务设定为开机运行
disable 服务设定为开机不运行
static 服务开机不启动,但可以被其他服务调用启动
systemctl list-unit-files  #查看各个级别下服务的启动与禁止
-l #查看日志

[root@oldboy ~]# #关机
shutdown -h now
poweroff
halt
init 0
systemctl poweroff
[root@oldboy ~]# #重启
reboot
shutdown -r now
init 6
systemctl reboot

3.单用户模式

  • 正常引导程序
    • 配置文件错误导致无法启动
    • 忘记root密码
      https://mp.weixin.qq.com/s/1f-zCq8j4gL3xiB3AV9K3A

4.救援模式

  • 没有内核文件,只能使用救援模式进入
  • 系统崩溃,要保留重要数据的时候
  • grup菜单出现问题

你可能感兴趣的:(day22系统服务)