1、简述linux操作系统启动流程
- 加载BIOS的硬件信息,获取第一个启动设备
- 读取第一个启动设备MBR的引导加载程序(grub)的启动信息
- 加载核心操作系统的核心信息,核心开始解压缩,并尝试驱动所有的硬件设备
- 核心执行init程序,并获取默认的运行信息
- init程序执行/etc/rc.d/rc.sysinit文件,重新挂载根文件系统
- 启动核心的外挂模块
- init执行运行的各个批处理文件(scripts)
- init执行/etc/rc.d/rc.local
- 执行/bin/login程序,等待用户登录
- 登录之后开始以Shell控制主机
2、制作一个只运行shell的linux系统
3、总结systemctl管理命令及system unit文件格式
systemctl管理命令
启动:systemctl start name.service
停止:systemctl stop name.service
重启:systemctl restart name.service
查看状态:systemctl status name.service
禁止自动和手动启动:systemctl mask name.service
取消禁止 systemctl unmask name.service
查看某服务当前激活与否的状态:systemctl is-active name.service
查看所有已经激活的服务:systemctl list-units --type|-t service
查看所有服务:systemctl list-units --type service --all|-a
设定某服务开机自启,systemctl enable name.service
设定某服务开机禁止启动:systemctl disable name.service
查看所有服务的开机自启状态 :systemctl list-unit-files --type service
查看服务是否开机自启:systemctl is-enabled name.service
列出失败的服务:systemctl --failed --type=service
开机并立即启动或停止 :systemctl enable --now postfix ,systemctl disable --now postfix
查看服务的依赖关系: systemctl list-dependencies name.service
杀掉进程:systemctl kill unitname
unit文件格式
- service unit: 文件扩展名为.service, 用于定义系统服务
- Socket unit: .socket, 定义进程间通信用的socket文件,也可在系统启动时,延迟启动服务,实现按需启动
- Target unit: 文件扩展名为.target,用于模拟实现运行级别
- Device unit: .device, 用于定义内核识别的设备
- Mount unit: .mount, 定义文件系统挂载点
- Snapshot unit: .snapshot, 管理系统快照
- Swap unit: .swap, 用于标识swap设备
- Automount unit: .automount,文件系统的自动挂载点
- Path unit: .path,用于定义文件系统中的一个文件或目录使用,常用于当文件系统变化时,延迟激活服务,如:sp
4、破解centos7 密码
- 重启 blue 系统,按 e 键打断启动过程
- 修改 linux 行(ro 改 rw,末尾添加 rd.break)然后按 ctrl+x 启动
- switch_root:/# chroot /sysroot/ //切换到根系统
- sh-4.2# echo redhat | passwd --stdin root //修改 root 口令为指定的字串
- sh-4.2# touch /.autorelabel //标记下一次启动重做 SELinux 标记
- sh-4.2# exit //退出恢复模式
- switch_root:/# reboot //重启系统