Day-22 linux系统管理

系统服务
开机启动流
linux启动过程分为五个阶段
内核的引导
运行init
系统初始化
建立终端
用户登录系统

init程序的类型:
SysV:init,CentOS5之前,配置文件:/etc/inittab
Upstart:init.CentOS6,配置文件:/etc/inittab,/etc/init/*.conf
Systemd:systemd,CentOS7,配置文件:/usr/lib/systemd/system、/etc/systemd/system
1.内核引导:
打开计算机电源,进行BIOS开机自检,按照BIOS中设置的启动设备(通常是硬盘)来启动,操作系统接管硬件后,首先读入/root目录下的内核文件
2.运行init
init 进程是系统所有进程的起点,没有这个进程,系统中任何进程都不会启动。
init 程序首先是需要读取配置文件 /etc/inittab。
3.系统初始化
在init的配置文件中有这么一行: si::sysinit:/etc/rc.d/rc.sysinit 它调用执行了/etc/rc.d/rc.sysinit,而rc.sysinit是一个bash shell的脚本,它主要是完成一些系统初始化的工作,rc.sysinit是每一个运行级别都要首先运行的重要脚本。
它主要完成的工作有:激活交换分区,检查磁盘,加载硬件模块以及其它一些需要优先执行任务。
建立终端
4.rc执行完毕后,返回init。这时基本系统环境已经设置好了,各种守护进程也已经启动了。
init接下来会打开6个终端,以便用户登录系统。在inittab中的以下6行就是定义了6个终端:
1:2345:respawn:/sbin/mingetty tty1
2:2345:respawn:/sbin/mingetty tty2
3:2345:respawn:/sbin/mingetty tty3
4:2345:respawn:/sbin/mingetty tty4
5:2345:respawn:/sbin/mingetty tty5
6:2345:respawn:/sbin/mingetty tty6
从上面可以看出在2、3、4、5的运行级别中都将以respawn方式运行mingetty程序,mingetty程序能打开终端、设置模式。
同时它会显示一个文本登录界面,这个界面就是我们经常看到的登录界面,在这个登录界面中会提示用户输入用户名,而用户输入的用户将作为参数传给login程序来验证用户的身份。
5.用户登录系统
一般来说,用户的登录方式有三种:
(1)命令行登录
(2)ssh登录
(3)图形界面登录

bg2013081706.png

6.进入 login shell

所谓shell,简单说就是命令行界面,让用户可以直接与操作系统对话。用户登录时打开的shell,就叫做login shell。
bg2013081707.png

CentOS6与CentOS7的区别:


QQ截图20190823163047.png

运行级别:
选项 含义
0 关机
1 单用户模式(超级权限,必须面对实体硬件)
2 暂未使用
3 字符界面
4 暂未使用
5 图形界面
6 重启
[root@oldman ~] runlevel    查看级别
N 3   #N表示上一次什么级别  3当前系统什么级别  
[root@oldman ~]# init 3    切换到3级别上
永久切换   /etc/inittab

CentOS7


QQ截图20190823171150.png

查看当前的运行级别

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

例:  # multi-user.target: analogous to runlevel 3 
         # graphical.target: analogous to runlevel 5

2.systemd
systemctl start nginx
systemctl stop nginx
systemctl restart nginx
systemctl reload nginx
systemclt status nginx

systemctl enable nginx #下一次开机启动nginx,于当前无关
systemctl disable nginx #下一次开机不启动nginx,于当前无 关

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

状态 描述
loaded 服务单元的配置文件已被处理
active(running) 服务持续运行
active(exited) 服务成功的完成一次的配置
active(waiting) 服务已在运行但在等某个事件
inactive 服务没有在运行
enabled 服务设定为开机启动
disenabled 服务设定为开机不启动
static 服务开机不启动,但可以被其他服务调用启动

[root@oldboy ~]# #关机
shutdown -h now
poweroff
halt
init 0
systemctl poweroff
[root@oldboy ~]# #重启
reboot
shutdown -r now
init 6
systemctl reboot

单用户模式,超级权限,必须面对实体硬件

能正常引导进入系统
解决的问题:配置文件修改错误无法启动
忘记ROOT密码
忘记root密码修改
1、重新启动或开启CentOS7.6系统,在选择进入系统的Grub菜单界面如下图1-1,根据提示按“e”小写字母进入编辑界面,如下图所示:
2、然后,要按方向键向下键(否则可能看不到想要找的行),找到以字符串“Linux16”开头的行,将光标移动到该行的结尾,然后输入“init=/bin/bash”,

QQ截图20190823192434.png

3.如果不确定系统是否开启了Selinux或者刚装完没有修改过的系统,则最好用下面的方法解决:既在以字符串“Linux16”开头的行,将光标移动到该行的结尾,然后输入“init=/bin/bashenforcing=0”
配置完成后,根据界面下面的英文提示按“Ctrl-x”组合键以单用户模式启动Linux如下图
4.配置完后,执行exec /sbin/init命令重启系统
QQ截图20190823192948.png

https://mp.weixin.qq.com/s/1f-zCq8j4gL3xiB3AV9K3A

救援模式 系统无法正常进入,比如没有内核,比如grub被修改,比如系统崩溃

没有内核文件,只能使用救援模式进入
系统奔溃,要保留重要数据的时候
grub菜单出现问题,linux
例:


1.png

2.png

3.png

4.png

5.png

6.png

你可能感兴趣的:(Day-22 linux系统管理)