云计算学习days10---Linux启动流程服务管理systemctljournalctl

Posted xfxfxf

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了云计算学习days10---Linux启动流程服务管理systemctljournalctl相关的知识,希望对你有一定的参考价值。

系统启动流程

CentOS7、8

  • 开机自检(Bios)
  • 选择启动设备
  • MBR/GPT引导系统启动(no system found
  • grub菜单(多个内核)
  • 加载内核(镜像,选项)
  • 内核初始化使用systemd进程

    [root@sb ~]# ps -ef |head
    UID         PID   PPID  C STIME TTY          TIME CMD
    root          1      0  0 4月19 ?       00:01:28 /usr/lib/systemd/systemd --switched-root --system --deserialize 22
  • 读取运行级别(桌面模式,命令行模式)
    multi-user.target
    (/etc/systemd/system/default.target)

    /usr/lib/systemd/system/runlevel0.target ->poweroff.target
                                    1        ->rescue.target 
                                    2、3、4  ->multi-user.target
                                    5        ->graphical.target
                                    6        ->reboot.target
  • 初始化系统(/usr/lib/systemd/system/sysinit.target)挂载/etc/fstab,启动网络,配置主机名...)
  • 根据运行级别、并行启动各种服务(网络服务,ssh服务,定时任务)
  • 显示login界面 /usr/lib/systend/system/getty.target

    CentOS6

  • 开机自检(BIOS)
  • 选择启动设备
  • MBR/GPT引导系统启动(no system found
  • grub菜单(多个内核)
  • 加载内核(镜像,选项)
  • 第一个运行Init进程
  • 读取运行级别 /etc/inittab
  • 初始化系统 /etc/rc.sysinit
  • 根据运行级别串行启动服务
  • 运行mingetty ,login界面

    关机重启命令

    shutdown会把数据写到硬盘中
    shutdown -h 10 十分钟后关机 0
    shutdown -c 取消
    shutdown -r 10 十分钟后重启
    reboot 重启
    poweroff 关机
    init 0 CentOS常用

    运行模式

runlevel名称作用
0poweroff.target关机
1rescue.target单用户模式/救援模式
2user.targetC6没有NFS多用户模式/c7文本模式,命令行模式
3 多用户模式
4 C6未使用,待开发/C7多用户模式
5graphical.target多用户的图形模式(桌面模式)
6reboot.target关机
emergency 救援模式
[root@sb ~]# runlevel
N 5   #如果N是其他数字,代表上一次运行级别

CentOS7
systemctl get-default #查看系统默认启动运行级别
systemctl set-default TARGET.target #修改默认启动运行级别(永久生效)
CentOS6
init 3 #切换运行饥饿
/etc/inittab #永久修改运行级别存放的配置文件

服务管理

CentOS5是启动速度最慢的,串行启动过程,无论进程之间有无依赖关系
CentOS6相对启动速度有所改进,有依赖的进程之间依次启动而其他与之没有依赖关系的则并行同步启动
CentOS7所有进程无论有误依赖关系则都是并行启动

systemd

systemd为system deamon守护进程,systemd的目标是,为系统的启动和管理提供一套完整的解决方案

systemd的优势

1.最新系统都采用systemd管理
2.C7支持开机并行启动服务,显著提高开机启动效率
3.C7关机只关闭正在运行的服务,而C6全部都关闭一次
4.C7服务的启动与停止不在使用脚本进行管理,也就是/etc/init.d下不存在脚本
5.C7使用systemd解决原有模式缺陷,比如原有service不会关闭程序产生的子进程

systemd相关配置文件

  • /usr/lib/systemd/system/ #类似C6系统的启动脚本,/etc/init.d/
  • /etc/systemd/system/ #类似C6系统的/etc/rc.d/rCN.d/
  • /etc/systemd/system/multi-user.target.wants/*

systemctl

  • systemctl start xxx 启动已经运行的服务
    /etc/init.d/xxx start # C6里是service xxx start 以此类推
  • systemctl stop xxx #停止服务
  • systemctl restart xxx #重启服务
  • systemctl reload xxx #重新加载配置(不终止服务,不影响正在处理的请求)
  • systemctl status xxx #查看服务当前状态
  • systemctl is-active xxx #查看服务是否运行
  • systemctl enable xxx #开机自启动
  • systemctl disable xxx #取消开机自启动
  • systemctl is-enable xxx #查看服务是否开机自启
  • systemctl daemon-reload xxx # 创建新服务文件或者变更设置
  • systemctl list-utils #查看所有服务
  • https://blog.csdn.net/weixin_... 这个是编译安装nginx并使用systemctl控制教程

    chkconfig

    C6系统的命令
    chkconfig on #开机自启动
    chkconfig off #取消开机自启动
    chkconfig--add xxx # 创建新服务文件或者变更设置

    systemctl 服务状态说明

  • loaded 服务单元的配置文件已被处理
  • active(running) 服务的一个或多个进程在运行中
  • active (exited) 一次性运行的服务成功被执行并退出(服务运行后完成任务,相关进程会自动退出
  • active (waiting) 服务已经运行但在等待某个时间
  • inactive 服务没有在运行
  • enabled 服务设定为开机运行
  • disable 服务设定为开机不运行
  • static 服务不能被设定开机启动,但可以由其他服务启动该服务

    journalctl

    journalctl -n 20 #查看最后20行
    -f #动态查看日志
    -p err #查看日志的级别
    -u xxx #查看某个服务的单元的日志
    -xe #查看详细的日志信息

以上是关于云计算学习days10---Linux启动流程服务管理systemctljournalctl的主要内容,如果未能解决你的问题,请参考以下文章

云计算学习days11---进程管理 ps aux STAT状态 pstree ps aux

Day01_计算机硬件及启动流程

Day1 华为认证IA部分笔记

云计算--学习记忆Day2

云计算学习days4-----find命令 -awk

Day464.变量流程控制与游标 -mysql