1、管理命令

systemctl(system control)管理服务

管理服务分两类:

第一类:开机自启动
第二类:管理正在运行的服务(启动、重启、关闭)

旧版本的系统:CentOS 5.x 6.x使用的是service命令

管理服务:

systemctl  start  单个或多个服务:启动服务
systemctl  restart 单个或多个服务:重启服务
systemctl  stop  单个或多个服务:停止服务
systemctl  enable 单个或多个服务:设置开机启动
systemctl  disable 单个或多个服务:取消开机启动

systemctl status 单个或多个服务:查看服务状态
systemctl list-units:服务运行情况
systemctl list-unit-files:服务开机自启动情况

服务无法使用systemctl管理实现,这时候怎么办?

这时候可以是使用/etc/rc.local文件,然后把服务启动写入该文件即可。

第一次使用该文件时要设置可执行权限

2、Linux运行级别

运行级别:Linux不同状态,命令行模式、图形化界面模式

运行级别含义(centos7)含义(centos6)
0关机关机
1救援模式secure单用户模式,找回root密码
2多用户模式无网络的多用户模式
3多用户模式multiuser命令行模式、文本模式、工作默认模式
4多用户模式未使用,待开发使用
5图形化界面、桌面,X11,graphical图形化界面模式,X11
6重启重启

CentOS 6 vs CentOS 7 运行级别

ll /usr/lib/systemd/system/runlevel*.target

如下:

即:

runlevel0.target   ---->   poweroff.target
runlevel1.target   ---->   rescue.target
runlevel2.target   ---->   multi-user.target
runlevel3.target   ---->   multi-user.target
runlevel4.target   ---->   multi-user.target
runlevel5.target   ---->   graphical.target
runlevel6.target   ---->   reboot.target

查看当前系统运行级别:

[root@linux-87-01 ~]# systemctl get-default 

修改运行级别:

[root@linux-87-01 ~]# systemctl set-default graphical.target  #切换到图形界面

init命令

init 6  :重启
init 0  :关机

3、Linux启动流程

CentOS 7.x 8.x

打开电源—>按以下顺序进行:

1、开机自检(检查硬件是否有问题)(BIOS/UFFI),显示品牌logo(如果有)
2、引导系统启动磁盘,加载引导程序MBR/GPT
3、GRUB菜单(可以选择进入什么模式、选择启动的内核)
4、加载Linux内核(/boot/,内核加载到内存运行)
5、内核初始化,启动第一个进程systemd(centos7第一个启动的进程)
6、读取运行级别(命令行模式、图形化模式)(/etc/systemd/system/default.target)
7、系统初始化过程(网络、自动挂载、主机名...)(/usr/lib/systemd/system/sysinit.target)
8、并行启动各种服务。根据运行级别,并行启动服务(/usr/lib/systemd/system/、/etc/systemd/system/)
9、运行getty,启动login显示登录界面

启动信息保存在/var/log/boot.log文件中

cent 6 从加载内核开始,与centos7就有所不同:

内核初始化 :6的第一个进程是init进程,而7是systemd

读取运行级别:6的是/etc/inittab,7的是/etc/systemd/system/default.target

初始化系统system init:6的是/etc/rc.sysinit,7的是/usr/lib/systemd/system/sysinit.target

启动服务:6的是根据运行级别,串行启动服务,7的是并行启动服务。

登录界面:6的是运行mingetty显示login登录界面,7的是/usr/lib/systemd/system/getty.target显示登录界面

4、root密码忘记解决方案

1、方案1

重置root密码:

1)、重启Linux
2)、进入grub菜单,选择第1个(目前使用中的内核),按e,进入编辑模式
3)、找到linux16这一行,修改ro为rw,并按END键,到这一行的末尾,输入init=/bin/bash
4)、修改完成后,按ctrl + x,启动系统,则进入救援模式
5)、通过vi/vim编辑/etc/passwd文件。去掉root的x标记(也就是取消密码),然后重启
6)、本地登录重新设置密码

linux16这行的ro:

修改后如下:

按ctrl + x,启动后,修改/etc/passwd文件,把root的x删除:

保存后,重启系统后,直接无密码root登录,之后再设密码即可。

2、方案2
1)、重启Linux
2)、进入grub菜单,选择第1个(目前使用中的内核),按e,进入编辑模式
3)、找到linux16这一行,并按END键,到这一行的末尾,输入rd.break
4)、修改完成后,按ctrl + x,启动系统,则进入救援模式
5)、按照以下顺序执行命名,设置密码
mount  -o   remount,rw /sysroot
chroot /sysroot
echo 123 | passwd --stdin root
touch   /.autorelabel
exit
reboot

linux16这一行末尾输入rd.break:

启动系统后,按以下操作设置root密码:

此处,root密码设为123