ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

CentOS Stream 10目录结构解析与运维实践

CentOS Stream 10目录结构解析与运维实践 1. CentOS Stream 10目录结构全景解析作为RHEL上游开发分支的滚动更新版本CentOS Stream 10的目录结构继承了Linux Filesystem Hierarchy StandardFHS标准但相比稳定版CentOS存在一些前瞻性调整。我在最近一次服务器迁移中完整梳理了其目录体系这里将结合系统服务部署经验详解每个关键目录的实际作用与配置要点。注意CentOS Stream的目录结构会随上游更新动态变化本文基于2024年Q2的最新build版本分析部分路径可能与传统CentOS存在差异1.1 根目录核心结构在终端执行ls -l /可以看到以下典型结构已过滤临时目录/ ├── bin - usr/bin ├── boot ├── dev ├── etc ├── home ├── lib - usr/lib ├── lib64 - usr/lib64 ├── media ├── mnt ├── opt ├── proc ├── root ├── run ├── sbin - usr/sbin ├── srv ├── sys ├── tmp ├── usr └── var与CentOS 7的显著区别在于/bin、/sbin等目录已符号链接到/usr对应路径新增/usr/libexec存放关键守护进程/etc下服务配置文件采用新的.d目录聚合模式1.2 关键目录功能速查表目录路径核心内容运维重点关注文件/etc系统级配置sysconfig/network-scripts/,security/limits.conf/var动态数据log/,lib/pgsql/,www/html//usr用户程序local/bin/,share/zoneinfo//proc内核状态cpuinfo,meminfo,net/tcp/run运行时数据cloud-init/,systemd/2. 核心目录深度解析2.1 /etc配置系统的演进CentOS Stream 10的配置文件管理呈现模块化趋势/etc/ ├── chrony.conf.d/ # 时间服务配置片段 ├── sysctl.d/ # 内核参数覆盖 ├── systemd/ # 新一代init系统配置 │ └── system/ # 服务单元定义 └── yum.repos.d/ # 软件源配置典型配置示例网络优化# /etc/sysctl.d/10-network.conf net.core.rmem_max 16777216 net.ipv4.tcp_fastopen 3经验修改配置优先在.d目录创建新文件避免直接编辑主配置文件便于后续升级维护2.2 /var目录的实战管理日志文件管理建议采用logrotate配置/var/log/nginx/*.log { daily rotate 30 compress delaycompress missingok notifempty create 640 nginx adm sharedscripts postrotate /bin/kill -USR1 $(cat /run/nginx.pid 2/dev/null) 2/dev/null || true endscript }数据库文件存储优化# 将PostgreSQL数据目录迁移到独立分区 mkdir /mnt/pgdata chown postgres:postgres /mnt/pgdata sudo -u postgres pg_basebackup -D /mnt/pgdata -X stream systemctl stop postgresql mv /var/lib/pgsql /var/lib/pgsql.bak ln -s /mnt/pgdata /var/lib/pgsql3. 特殊目录使用技巧3.1 /proc虚拟文件系统实战查看CPU拓扑的真实核心数grep -E processor|core id /proc/cpuinfo | paste - - | uniq -f1 | wc -l实时监控TCP连接状态watch -n 1 cat /proc/net/tcp | awk {print \$4} | sort | uniq -c3.2 /run临时文件系统管理处理Docker运行时文件泄露# 检查占用空间最大的运行时文件 du -h /run | sort -h | tail -n10 # 清理containerd临时文件 systemctl stop docker find /run/containerd -type f -name *.tmp -delete4. 目录权限安全加固4.1 关键目录权限设置# 防止敏感目录被篡改 chmod 750 /root chmod 700 /boot chmod 755 /etc find /etc/ssh -type f -exec chmod 600 {} \;4.2 SELinux上下文管理修复Nginx网页目录标签semanage fcontext -a -t httpd_sys_content_t /webapps(/.*)? restorecon -Rv /webapps5. 常见问题排查指南5.1 软件包安装冲突典型错误file /usr/lib64/libxyz.so from install of pkgA conflicts with file from package pkgB解决方案# 查看文件归属 rpm -qf /usr/lib64/libxyz.so # 强制替换文件谨慎使用 rpm -ivh --replacefiles pkgA.rpm5.2 磁盘空间异常占用快速定位大文件# 按大小排序显示目录 du -h --max-depth1 / | sort -h # 查找大于100MB的日志文件 find /var/log -type f -size 100M -exec ls -lh {} \;我在实际运维中发现CentOS Stream 10的/var/lib/dnf目录会累积大量历史事务记录定期清理可节省数GB空间dnf clean all rm -rf /var/lib/dnf/history/*
RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进