# Rocky Linux 常见问题与排错

URL: https://caijiao.org/rockylinux/troubleshooting
Source: docs/rockylinux/troubleshooting.md
Description: 本文总结 Rocky Linux 常见问题及解决方法，包括系统启动、网络、软件包、服务管理和性能问题的排查技巧。

在企业和个人环境中使用 Rocky Linux 时，可能会遇到各种问题。  
本文总结了常见问题类型和对应的排错方法，帮助快速恢复系统正常运行。

## 一、系统启动相关

| 问题                | 可能原因               | 解决方法                                             |
| ------------------- | ---------------------- | ---------------------------------------------------- |
| 系统无法启动        | 引导加载器损坏         | 使用 Rescue 模式修复 grub2：`grub2-install /dev/sda` |
| 进入 emergency mode | 文件系统错误或配置错误 | 使用 `fsck` 检查分区或修复 `/etc/fstab`              |
| 内核 panic          | 内核或模块不兼容       | 回退内核或重新安装内核包                             |

## 二、网络与连接问题

| 问题           | 可能原因       | 解决方法                                                          |
| -------------- | -------------- | ----------------------------------------------------------------- |
| 网络无法启动   | 网络服务未启动 | `systemctl restart NetworkManager`                                |
| IP 配置不正确  | 静态配置错误   | 编辑 `/etc/sysconfig/network-scripts/ifcfg-*` 或使用 `nmcli` 修复 |
| 无法 ping 外网 | DNS 配置错误   | 检查 `/etc/resolv.conf` 或 DNS 配置                               |

## 三、软件包与更新问题

| 问题                      | 可能原因               | 解决方法                           |
| ------------------------- | ---------------------- | ---------------------------------- |
| 安装软件失败              | 缺少依赖或源不可用     | `dnf clean all && dnf makecache`   |
| EPEL 或第三方仓库无法使用 | 仓库配置错误或证书问题 | 重新安装或更新仓库配置文件         |
| 系统更新失败              | 冲突或锁文件存在       | 删除 `/var/run/dnf.pid` 并重试更新 |

## 四、服务管理问题

| 问题             | 可能原因               | 解决方法                               |
| ---------------- | ---------------------- | -------------------------------------- |
| 服务无法启动     | 配置文件错误           | 查看 `journalctl -u <service>` 日志    |
| 服务启动慢或挂起 | 依赖服务未就绪         | 检查 systemd 单元依赖关系              |
| 定时任务不执行   | crond 未启动或路径错误 | `systemctl status crond`，使用绝对路径 |

## 五、磁盘与存储问题

| 问题                 | 可能原因           | 解决方法                               |
| -------------------- | ------------------ | -------------------------------------- |
| 磁盘空间不足         | 日志文件或缓存过大 | 清理 `/var/log` 或临时文件             |
| 文件系统只读         | 文件系统错误       | 使用 `fsck` 检查并修复                 |
| LVM 或 RAID 无法识别 | 磁盘或卷组问题     | 使用 `lvdisplay` / `vgchange` 检查状态 |

## 六、性能与监控问题

| 问题         | 可能原因           | 解决方法                                            |
| ------------ | ------------------ | --------------------------------------------------- |
| 系统负载高   | 进程异常或资源占用 | 使用 `top`, `htop`, `iotop` 排查                    |
| 内存占用过高 | 缓存或进程泄漏     | 检查 `free -m` 和进程内存，重启服务或优化应用       |
| I/O 性能差   | 磁盘繁忙           | 使用 `iostat`, `dstat` 分析，考虑升级存储或优化应用 |

## 七、日志分析技巧

1. **查看系统日志**

```bash
journalctl -xe
```

2. **查看指定服务日志**

```bash
journalctl -u nginx.service
```

3. **实时跟踪日志**

```bash
tail -f /var/log/messages
```

4. **使用过滤条件**

```bash
journalctl -p err..alert
```

## 八、常用排错命令

| 命令                         | 作用               |
| ---------------------------- | ------------------ |
| `systemctl status <service>` | 查看服务状态       |
| `journalctl -xe`             | 查看详细系统日志   |
| `dnf check`                  | 检查软件包依赖     |
| `df -h`                      | 查看磁盘空间       |
| `free -m`                    | 查看内存使用       |
| `ping / traceroute`          | 网络连通性检查     |
| `top / htop`                 | 进程与系统负载监控 |

## 九、总结

- 系统启动、网络、软件包、服务和存储是最常见的问题来源
- 使用日志分析、命令行工具和系统诊断方法可以快速定位问题
- 企业环境建议建立标准排错流程和监控机制，减少故障恢复时间

> 💡 提示：遇到问题时，先收集日志、系统状态和配置快照，然后再尝试修改，以防止问题扩大。
