2019-08-23系统服务

1.Linux启动流程

Centos6

image

Centos7

image

Centos6与Centos7有什么区别?

image

2.Linux运行级别

1.什么是运行级别,运行级别就是操作系统当前正在运行的功能级别

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 重启
2.如何调整系统启动的运行级别?systemd使用'targets'而不是runlevels。默认情况下,有两个主要目标:
multi-user.target:类似于运行级别3
graphical.target: 类似于运行级别5

3.Linux systemd

1.systemd的由来
Linux一直以来都是采用init进程作为祖宗进程,但是init有两个缺点:
1、启动时间长。Init进程是串行启动,只有前一个进程启动完,才会启动下一个进程。
2、启动脚本复杂,初始化完成后系统会加载很多脚本,脚本都会处理各自的情况,这会让脚本多而复杂。
Centos5 是启动速度最慢的,串行启动过程,无论进程相互之间有无依赖关系。
Centos6 相对启动速度有所改进。有依赖的进程之间依次启动而其他与之没有依赖关系的则并行同步启动。
Centos7 所有进程无论有无依赖关系则都是并行启动(当然很多时候进程没有真正启动而是只有一个信号或者说是标记而已,在真正利用的时候才会真正启动。)

image

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

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

3.systemd相关配置文件
/usr/lib/systemd/system/ #类似Centos6系统的启动脚本,/etc/init.d/
/etc/systemd/system/ #类似Centos6系统的/etc/rc.d/rcN.d/
/etc/systemd/system/multi-user.target.wants/

4.systemd管理服务相关命令
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 设置服务开机启动、不启动、查看各级别下服务启动状态等常用命令

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

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

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

systemctl的journalctl日志

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

4丶单用户模式-->(超级用户权限的模式)

必须面对实体 服务器前

能正常引导进入系统①配置文件错误导致无法启动②忘记ROOT密码 ( 快照 | 单用户修改)

忘记root密码

①重新启动或开启CentOS7.6系统后 按“e”进入编辑界面

②按方向键向下键,找到以字符串“Linux16”开头的行,将光标移动到该行的结尾,然后输入“init=/bin/bash”

③ctrl +x 退出重启

注:如果系统开了SElinux

①重新启动或开启CentOS7.6系统后 按“e”进入编辑界面

②按方向键向下键,既在以字符串“Linux16”开头的行,将光标移动到该行的结尾,然后输入“init=/bin/bashenforcing=0”(前者作用让系统登录后加载bash解释器,后者是且关闭Selinux)

③配置完成后,输入“mount-o rw,remount/”命令是重新挂载根目录为可写状态(rw表示可写,remount是重新挂载),在单用户模式下默认根文件系统是处于只读状态。

也可以在增加内核参数时,把以字符串“Linux16”开头的行中间部分的ro参数改为rw,则可以替代繁琐的“mount-o rw,remount /”命令

④配置完后,执行exec /sbin/init命令重启系统

如果selinux已经开启需要“touch /.autorelabel

⑤exec /sbin/init

5丶救援模式(CD光盘-->系统)

①没有内核文件,只能使用救援模式进入

把内核文件移走

bios boot CD第一启动

选3 选2

输入1 回车

chroot /mnt/sysimage/

将文件移动到/boot/下

exit reboot

选三

本地启动

②系统崩溃, 要保留重要的数据的时候

添加一个硬盘

新建一个目录

格式化这个磁盘

挂载

写数据

在加一个硬盘

进救援模式

1

chroot /mnt/sysimage/

将文件复制到新的硬盘

③grub菜单出现问题, linux windows

输入 1 c

chroot /mnt/sysimage/

1.使用grub修复

grub2-install /dev/sda

2.然后退出exit

3.最后重启进入系统reboot

你可能感兴趣的:(2019-08-23系统服务)