CentOS 深入解析
FreeGuideOnline
最新
2026-07-14
bash
搜索软件包
dnf search nginx
安装软件包
dnf install -y nginx
升级所有软件包
dnf update -y
移除软件包
dnf remove nginx
查看仓库列表
dnf repolist
清理缓存
dnf clean all
#### 理解 AppStream(应用程序流)
CentOS 8/Stream 8 以上引入了模块化仓库 **AppStream**,允许并行安装同一软件的不同版本。例如:
```bash
dnf module list nodejs
dnf module enable nodejs:18
dnf install nodejs
这一机制使用户能够在稳定基础系统之上灵活选择应用版本,而不会破坏依赖关系。
第三方仓库管理
常用第三方仓库:
- EPEL(Extra Packages for Enterprise Linux):提供大量额外软件包,
dnf install epel-release - ELRepo:提供主线的内核新版本和硬件驱动
- Remi:提供 PHP 多版本并存
管理建议:务必启用 GPG 检查,避免仓库冲突。
Systemd 服务体系深入
自 CentOS 7 起,系统启动和服务管理由 systemd 接管,取代传统的 SysV init。理解 systemd 是管理系统服务的基石。
核心单元类型
*.service:系统服务*.socket:套接字激活*.mount:挂载点*.timer:计划任务(替代 cron 的新途径)
常用操作
# 启动 / 停止 / 重启服务
systemctl start httpd
systemctl stop httpd
systemctl restart httpd
# 设置开机自启
systemctl enable httpd
systemctl disable httpd
# 查看服务状态
systemctl status httpd
# 查看所有已激活单元
systemctl list-units --type=service
# 分析启动耗时
systemd-analyze blame
编写自定义 service 文件
位置:/etc/systemd/system/ 下创建 .service 文件,例如 myapp.service:
[Unit]
Description=My Custom Application
After=network.target
[Service]
Type=simple
ExecStart=/usr/bin/myapp
Restart=on-failure
[Install]
WantedBy=multi-user.target
创建后执行 systemctl daemon-reload 使生效。
网络配置与故障排查
网络管理工具演进
- CentOS 7 默认使用
network.service和ifcfg脚本,也可使用NetworkManager。 - CentOS Stream 8/9 推荐使用 NetworkManager 统一管理,命令行工具为
nmcli。
使用 nmcli 配置静态 IP
# 查看连接
nmcli con show
# 修改连接参数(示例)
nmcli con mod ens192 ipv4.addresses 192.168.1.100/24
nmcli con mod ens192 ipv4.gateway 192.168.1.1
nmcli con mod ens192 ipv4.dns 8.8.8.8
nmcli con mod ens192 ipv4.method manual
nmcli con up ens192
排查思路
- 检查链路层:
ip link show - 检查 IP 地址:
ip addr show - 路由表:
ip route show - DNS 解析:
cat /etc/resolv.conf(可能被 NetworkManager 覆盖) - 端口监听情况:
ss -tunlp
安全加固基础
CentOS 默认集成了多项企业级安全特性,合理配置可大幅提升系统防护能力。
SELinux(安全增强式 Linux)
SELinux 是 Mandatory Access Control (MAC) 实现,限制进程和文件的操作权限。
- 推荐保持 enforcing 模式:
getenforce # 查看状态 setenforce 1 # 临时启用 # 永久修改 /etc/selinux/config