day23-Linux学习 系统服务

作者: 云运维之道 | 来源:发表于2019-08-23 20:41 被阅读38次

一、Linux启动流程

1、CentOS6启动流程

CentOS6启动过程可以分为5个阶段:

  • 内核的引导
  • 运行init
  • 系统初始化
  • 建立终端
  • 用户登录系统。


    CentOS6启动流程.png

2、CentOS7启动流程

CentOS7启动流程.png

二、运行级别

1、什么是运行级别

运行级别就是操作系统当前正在运行的功能级别

2、CentOS6

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

#永久操作 /etc/inittab
[root@oldboy ~]# init 3 #切换到3级别上

3、CentOS7

运行级别 作用
0 关机
1 单用户模式 (超级权限 必须面对实体硬件)
2 暂未使用
3 字符界面(黑框)
4 暂未使用
5 图形界面
6 重启

#CentOS7调用运行级别的方法

System V 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 重启
#CentOS7调用运行级别
#systemd使用的是'target'而不是runlevels
# multi-user.target: analogous to runlevel 3  #类似于运行级别3
# graphical.target: analogous to runlevel 5   #类似于运行级别5

#查看当前的运行级别
[root@oldboy ~]# systemctl get-default
multi-user.target

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

三、Linux systemd

1、systemd的由来

Linux一直以来都是采用init进程作为祖宗进程,但是init有两个缺点:

  • 启动时间长。init进程是串行启动,只有前一个进程启动完,才会启动下一个进程。
  • 启动脚本复杂,初始化完成后系统会加载很多脚本,脚本都会处理各自的清况,这会让脚本多而复杂。

2、什么是systemd

systemd即为system daemon 守护进程,systemd主要解决上文的问题而诞生。
systemd的目标是,为系统的启动和管理提供一套完整的解决方案。

3、systemd的优势

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

4、systemd管理服务相关命令

systemct/管理服务的启动、重启、停止、重载、查看状态等常用命令。

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 取消禁止服务运行

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

CentOS7系统,管理员可以使用systemctl命令来管理服务器启动与停止。

systemctl enable nginx      #下一次开机启动nginx,于当前无关
systemctl disable nginx     #下一次开机不启动nginx,于当前无关
systemctl poweroff          #立即关机,常用
systemctl reboot            #重启命令,常用

systemctl的journalctl日志

journalctl  -n 20       #查看最后20行
journalctl  -f          #动态查看日志
journalctl  -p err      #查看日志的级别
journalctl  -u crond    #查看某个服务的单元的日志

四、Linux单用户模式

能正常引导进入系统

  • 配置文件错误导致无法启动
  • 忘记ROOT密码 ( 快照 | 单用户修改)

如何使用单用户模式进行变更系统密码?以CentOS7系统为例(CentOS6破解方式请自行百度)

第1步:重启Linux系统主机并出现引导界面时,按下建盘上的e键进入内核编辑界面

图1.png

第2步:在Linux16这行的后面添加 enforcing=einit=/bin/bash​ ,然后按下 Ctrl+X 组合键来运行修改过的内核程序。

图2.png

第3步:大约5秒过后,进入到系统的单用户模式,依次输入以下命令,等待系统重启操作完毕,然后就可以使用新密码来登录Linux系统了。

图3.png

五、Linux救援模式

当系统坏了,无法登陆系统,但需要把里面的数据复制出来,怎么办?

步骤一、先桂载光盘,然后选择光盘引导为第一位

图4.png
图5.png

步聚二、进入故障排除模式->然后选择救援模式

图6.png 图7.png

步骤三:挂载真实系统后,发现数据都还存在

图8.png

相关文章

  • day23-Linux学习 系统服务

    一、Linux启动流程 1、CentOS6启动流程 CentOS6启动过程可以分为5个阶段: 内核的引导 运行in...

  • 教你如何对linux服务器进行优化

    “ 本优化学习只针对redhat/centos系统。系统安装的时候会默认安装些服务,开启这些服务会占用系统资源...

  • 关于android的wifi信息

    Android的参数大致分成两块:系统服务参数和平台系统信息。 系统服务参数:Android的系统服务不仅指服务组...

  • [网络安全学习篇附]:Web 安全学习路线

    Table of Contents Web 安全学习路线 熟悉Windows/kali Linux 系统 服务器安...

  • 学习小组Day2笔记--梦幻天堂

    Linux系统学习 感谢生信星球,教程源自生信星球。 一、了解Linux系统 大型服务器都是用的Linux系统,以...

  • Hystrix

    A 系统调用 B 系统服务,B 系统调用 C 系统的服务。当尾部应用 C 发生故障而系统 B 没有服务降级时候可能...

  • linux 基础命令

    Linux作为服务器常用的系统,在商用服务器中的占有率那是相当高。我最近也在学习如何使用Linux系统,因此梳理了...

  • 《每日学习总结》20190809

    【日期】2019/08/09 【姓名】龙启娇 【组别】梦竹老师 【内容】 今天的学习内容是【服务系统】服务真的特别...

  • 图解 | 一图摸清Android系统服务

    一图摸清Android系统服务的获取和注册流程~ 大纲: 获取系统服务 注册系统服务独立进程的服务非独立进程的服务...

  • 简单明了 | 一图摸清Android系统服务

    一图摸清Android系统服务的获取和注册流程~ 大纲: 获取系统服务 注册系统服务独立进程的服务非独立进程的服务...

网友评论

    本文标题:day23-Linux学习 系统服务

    本文链接:https://www.haomeiwen.com/subject/tdkxectx.html