一、引导过程总览
1.systemd 进程
- 由 linux 内核加载运行/usr/lib/systemd/systemd 程序
- 是系统中的第一个进程,所有进程的父进程
- PID (进程标记)号永远为 1
2.systemd 运行目标
linux 系统系统启动的时候要进行大量的初始化工作,比如初始化用户系统环境,挂载文件系统和交换分区、启动各类进程服务等,在配置用户系统环境时会检查系统默认运行目标来初始化默认系统环境
Systemd 目标名称 | 作用 |
---|---|
runlevel0.target,poweroff.target | 关机 |
runlevel1.target,rescue.target | 单用户模式 |
runlevel2.target,multi-user.target | 等同于级别3 |
runlevel3.target,multi-user.target | 多用户的文本界面 |
runlevel4.target,multi-user.target | 等同于级别3 |
runlevel5.target,graphical.target | 多用户的图形界面 |
runlevel6.target,reboot.target | 重启 |
emergency.target | 紧急Shell |
如果想要将图形化系统默认的运行目标修改为“多用户,无图形” 模式,可直接用 ln 命令把多用户模式目标文件链接到/etc/systemd/system/default.target文件
ln -sf /lib/systemd/system/multi-user.target /etc/systemd/system/default.target
二、服务控制及优化启动
1.系统服务控制
(1)常用方法:
- systemctl 控制类型 服务名称.service
【上述方法仅用于 Linux 的红帽系列及 Centos,Unix 系统不支持】
(2)常用控制类型
- start 启动
- stop 停止
- restart 重启
- reload 重新加载配置文件,无需停止服务【常用】
- status 查看状态
(3)示例:以 postfix 服务为例
2.Linux 系统的运行级别
(1)查看运行级别:
runlevel 命令
(2)临时切换运行级别
使用 init 命令结合 0-6 运行级别参数
(3)runlevels – 运行级别
0:关机状态,使用该级别时时将会关闭主机
1:单用户模式,无需密码验证即可登录系统,用于系统维护
2:字符界面的多用户模式(不支持访问网络)【很少使用】
3:字符界面的完整多用户模式,大多数服务器运行在此级别
4:未分配使用(省电模式)
5:图形界面的多用户模式,提供了桌面操作环境
6:重新启动,使用该级别时将会重启
3.优化启动过程
(1)ntsysv 工具(需要安装)
- 提供一个交互式、可视化窗口
- 可以在字符终端运行
- 便于集体管理多个服务
1> 示例:ntsysv –level 35 按空格键选择
2> 常见的系统服务(来自网络)
Redhat Linux 操作系统下常用服务介绍
- aep1000 挂载或卸载 aep1000/2000 协处理器驱动的。
- anacron 不过可以在指定时间没有开机无法完成任务的情况下另寻时间完成任务。
- Apmd 高级电源管理能源管理服务,可以为你监控电池
- Arpwatch 记录日志并构建一个在 LAN 接口上看到的以太网地址和 IP 地址对数据库
- Atd 用于 at 和 batch 的服务 atd 类似 cron,提供在指定的时间做指定的事的服务,就象计划任务
- Autofs 自动安装管理进程 automount,与 NFS 相关,依赖于 NIS(autofs 自动挂载/卸载文件系统服务,可以自动挂载你想访问但还为挂载的文件系统,自动卸载长 期不访问的文件系统。)
- bcm5820 提供对 CryptoNetX SSL Accelerator 适配器(用来处理 SSL 密钥的设备)的支持。
- Crond 为 Linux 下自动安排的进程提供运行服务.
- Gpm 提供字符模式下对鼠标的支持.
- Cups UNIX 通用打印系统
- cups-lpd 支持用 LPD 协议跑 CUPS
- daytime 获取并显示系统时间用的
- daytime-udp udp 版的 daytime
- echo 输出字符到客户端的
- finger 用来查询系统内用户信息
- firstboot 故名思意,安装完后第一次启动时跑的脚本,在第二次启动就不在运行了
- imap 为邮件提供 imap 服务
- imaps 为客户端提供 SSL 加密后的 imap 服务
- ipop2 提供 POP2 服务,什么是 pop 不用介绍了吧
- ipop3 pop3 大名鼎鼎的 pop3 不用介绍了吧
- iptables 2.4 内核默认的防火墙
- irda 红外线传输支持
- netfs 提供网络文件系统(NSF,SMB,NCP)挂载/卸载的。
- Keytable 用于装载键盘镜像
- Kudzu 硬件探测器
- Netfs 安装和卸载 NFS、SAMBA 和 NETWARE 网络文件系统
- Network 激活已配置网络接口的脚本程序
- Nfslock NFS 锁定
- Pcmcia 安装 pcmcia 卡(一般用于笔记本电脑)
- Sshd OpenSSH 服务器
- Syslog 一个让系统引导时启动 syslog 和 klogd 系统日志守候里程的脚本
- Xfs Xwindow 字型服务器,为本地和远程 X 服务器提供字型集
- Xinetd 支持多种网络服务的核心守候程序。
- Kudzu 检测硬件变化的
- Mysqld Mysql database server
- Named BIND 域名服务
- Netfs 提供网络文件系统(NSF,SMB,NCP)挂载/卸载的
- Network 激活/关闭网络设备的
- Nfs (NFS)network filesystem 服务
- Nfslock 提供一种 NFS 的权限设置
- Ntalk 可以让不同用户在系统上一起聊天的
- Ntpd 网络时间协议 NTP(Network Time Protocol)和网络上同步时间用的
- Pops 提供 SSL 加密的 pop3
- Portmap 端口映射,很多网络服务需要此服务
- Rexec 远程执行命令时提供用户验证
- Rhnsd redhat 的网络服务,可以自动检查软件的升级
- rlogin 提供远程登录服务
- rsh 远程执行 linux 命令服务
- rsyn 高效的网络远程备份和镜象工具
- sendmail 赫赫有名的邮件服务器,(用来发匿信的好东东:) )
- servers 监听被激活的服务用的
- sgi_fam 检测文件变化的
- smb 提供 samba 服务的
- snmp 简单网络管理服务
- snmptrapd 也是网络管理的
- squid web 代理服务器
- sshd 提供 sshd 登录
- svscan daemontools 的一部分,用来管理后台服务
- syslogd 日志服务,很重要的服务
- tux 集成内核的 web 服务工具
- vsftpd 一个 ftp 服务端,以安全著称
- winbind smb 服务中解析来自 NT 服务器名字的
- xinetd 超级服务器的 Inetd 的替代者,提供很多服务,非常重要。
- Yppasswdd nis 服务中提供 NIS 用户验证服务
- random 当系统需要时会,产生随机数。关闭对大多数系统没什么大的影响,服务器不要 轻易关闭。
(2)systemctl 工具
- 不提供交互式、可视化窗口
- 管理单个服务效率更高
1>格式:
systemctl enable/disable 服务名称.service //开机自动启动与开机不自动启动
systemctl is-enabled 服务名称.service //查看特定服务是否为开机自动启动
systemctl list-unit-files --type=service //查看各个级别下服务的启动与禁用情况
2>示例:
三、修复 MBR 扇区故障
1.故障原因
- 病毒、木马等造成的破坏(如硬盘炸弹)
- 不正确的分区操作、磁盘读写误操作
2.故障现象
- 找不到引导程序,启动中断
- 无法加载操作系统,开机后黑屏
3.解决思路
- 应提前做好备份文件
- 以安装光盘引导进入急救模式
- 从备份文件中恢复
4.修复 MBR 扇区故障示例:
(1)挂载 /dev/sdb1 到 /backup,将 MBR 扇区备份至此,毁坏 MBR 扇区,重启。
(2)挂载系统光盘,从光盘引导进入安全模式
急救:急救环境现在讲试图寻找你的 Linux 装置并挂载到/mnt/sysimage 目录下。你可以 对你的系统做任何必要操作。如果你想的话,按“Continue”键。你也可以选择挂载你的系 统文件为只读模式,请选择“read-only”。如果你需要激活 SAM 设备选择“Advanced”
选择“Continue”
在 shell 界面 将 /dev/sdb1 挂载使用,将里面的备份写入 /dev/sda,重启
至此可以重新进入系统,MBR 分区修复成功
四、修复 GRUB 引导故障
1.故障原因
- MBR 中的 GRUB 引导程序遭到破坏
- grub.conf 文件丢失、以到配置有误
2.故障现象
- 系统引导停止,显示 “grub” 提示符
3.解决思路:
- 方法一:尝试手动输入
- 方法二:进入急救模式,重建 grub 程序
- 方法三:若无 MBR 备份,进入急救模式,重新安装 grub 程序
4.修复 GRUB 引导故障示例
【此仅示例方法一:手动输入。注意,需要提前记下内核的 UUID 或者存储的绝对路径】
[root@huyouba1 ~]# cat /boot/grub2/grub.cfg
(1)将 grub.conf 文件备份后重命名为 grub.conf.bak,重启
引导停滞,出现 “grub>” 提示符
(2)进行手动输入,注意:内核的信息无法 tab 补全,需查看之前备份
进入到系统后修改 grub.conf 文件,否则再次重启的话还是找不到 grub 菜单
[root@huyouba1 ~]# mount /dev/sdb1 /backup/
[root@huyouba1 ~]# cp /backup/grub.cfg /boot/grub2/grub.cfg
四、清除 Linux 各种密码
1.重置 root 密码
开机快速按方向键进入此界面,编辑,按 e
到 “linux16” 开头那行,最后添加“rd.break”(虚拟机需要额外添加console=tty0)然后Ctrl+x 保存
重新挂载系统目录后修改 root 密码,然后重启