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