centos stream 9最小化安装后需完成九项基础配置:更新系统并清理旧内核、配置国内软件源、启用chrony时间同步、配置静态ip与主机名、强化ssh访问、启用firewalld防火墙、安装基础运维工具、停用非必要服务、轮转压缩日志,按需可选装轻量gui。

CentOS Stream 9最小化安装后系统仅含核心组件,无图形界面、无预配网络、无时间同步、无安全加固、无基础工具,直接投入运维将面临连不上网、时间漂移、SSH被爆破、命令缺失、日志失控等实际故障。
更新系统并清理旧内核
执行 sudo dnf update -y,确保所有包为最新版本,修复已知漏洞与依赖冲突。
更新后立即清理冗余内核:运行 sudo dnf autoremove --setopt=installonly_limit=1 kernel-core kernel-modules -y,只保留当前运行的内核版本。否则 【/boot 分区极易被填满导致无法启动】。
再执行 sudo dnf clean all 清空元数据与包缓存,释放约300–800MB磁盘空间。
配置国内软件源(阿里云)
默认CentOS Stream 9使用国外镜像,下载慢且易超时。先备份原repo:sudo mkdir -p /etc/yum.repos.d/backup && sudo mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/backup/。
创建新源文件:sudo tee /etc/yum.repos.d/aliyun.repo [baseos]<br>name=CentOS Stream $releasever - BaseOS - mirrors.aliyun.com<br>baseurl=https://mirrors.aliyun.com/centos-stream/$releasever-stream/BaseOS/$basearch/os/<br>gpgcheck=1<br>enabled=1<br>gpgkey=https://mirrors.aliyun.com/centos-stream/RPM-GPG-KEY-centosofficial<br><br>[appstream]<br>name=CentOS Stream $releasever - AppStream - mirrors.aliyun.com<br>baseurl=https://mirrors.aliyun.com/centos-stream/$releasever-stream/AppStream/$basearch/os/<br>gpgcheck=1<br>enabled=1<br>gpgkey=https://mirrors.aliyun.com/centos-stream/RPM-GPG-KEY-centosofficial<br>EOF
运行 sudo dnf makecache 生成本地元数据缓存,后续安装速度提升3–5倍。
启用并配置chrony时间同步
最小化安装虽默认启用chronyd,但未配置上游服务器。编辑 /etc/chrony.conf,注释掉所有 pool 行,添加:
server ntp1.aliyun.com iburst<br>server ntp2.aliyun.com iburst<br>server ntp3.aliyun.com iburst
重启服务:sudo systemctl restart chronyd && sudo systemctl enable chronyd。执行 chronyc tracking 查看偏移量,若显示 System clock wrong by 超过500ms,说明未生效,需检查防火墙是否放行UDP 123端口。
配置静态IP与主机名
方法一:用nmtui交互式配置(推荐新手)
运行 nmtui → 选择“Edit a connection” → 选中网卡(如ens192)→ IPv4 CONFIGURATION 改为 Manual → 输入 Address(如192.168.10.50/24)、Gateway(192.168.10.1)、DNS servers(8.8.8.8,114.114.114.114)→ Save → Activate。
方法二:命令行直改(适合脚本化)
查接口名:ip -br a | grep UP;设主机名:sudo hostnamectl set-hostname srv-prod-01;写入hosts:echo "$(hostname -I | awk '{print $1}') $(hostname)" | sudo tee -a /etc/hosts。
强化SSH远程访问
第一步:创建普通管理用户并禁用root密码登录sudo useradd -m -s /bin/bash admin && sudo passwd admin,然后编辑 /etc/ssh/sshd_config,确认以下三行已取消注释并设为:
PermitRootLogin no<br>PasswordAuthentication no<br>AllowUsers admin
第二步:生成密钥对并在服务器部署公钥
本地终端执行 ssh-keygen -t ed25519 -C "admin@srv",将生成的 ~/.ssh/id_ed25519.pub 内容追加到服务器 /home/admin/.ssh/authorized_keys,并确保权限正确:sudo chmod 700 /home/admin/.ssh && sudo chmod 600 /home/admin/.ssh/authorized_keys && sudo chown -R admin:admin /home/admin/.ssh。
第三步:重启sshd并测试新连接sudo systemctl restart sshd,新开终端用 ssh -i ~/.ssh/id_ed25519 admin@服务器IP 登录,成功后再关闭原root会话。
启用firewalld并放行必要端口
运行 sudo systemctl enable --now firewalld 启动防火墙。默认规则为空,必须显式放行:
sudo firewall-cmd --permanent --remove-service=ssh<br>sudo firewall-cmd --permanent --add-port=2222/tcp # 假设你已把SSH端口改为2222<br>sudo firewall-cmd --permanent --add-service=http<br>sudo firewall-cmd --permanent --add-service=https<br>sudo firewall-cmd --reload
执行 sudo firewall-cmd --list-all 验证输出中包含上述端口和服务,【切勿跳过 --permanent 参数,否则重启后规则丢失】。
安装基础运维工具
最小化系统默认不含 vim、wget、curl、net-tools、lsof、htop 等常用工具。一次性装齐:
sudo dnf install -y vim-enhanced wget curl net-tools lsof htop git rsync
其中 vim-enhanced 替代 vi,支持语法高亮与鼠标操作;htop 比 top 更直观;rsync 是生产环境必备同步工具。
停用非必要系统服务
运行 systemctl list-units --type=service --state=running | grep -E "(avahi|cups|postfix|bluetooth|ModemManager|rpcbind)" 查看是否运行冗余服务。
确认无业务依赖后,批量停用并禁启:sudo systemctl disable --now avahi-daemon cups postfix ModemManager rpcbind。
注意:chronyd、firewalld、sshd、NetworkManager 必须保留;【avahi-daemon 若误删,可能导致 DNS-SD 解析失败,影响容器服务发现】。
轮转并压缩系统日志
最小化安装未配置日志轮转策略,journal日志可能无限增长。执行:
sudo journalctl --rotate 手动触发一次日志切分;
sudo journalctl --vacuum-size=100M 限制总日志体积不超过100MB;
编辑 /etc/systemd/journald.conf,取消注释并修改两行:
SystemMaxUse=100M<br>MaxRetentionSec=2week
最后重启journald:sudo systemctl restart systemd-journald。
安装图形化桌面(按需)
若确需GUI(如远程桌面管理、Web控制台),仅安装“带GUI的服务器”组:
sudo dnf groupinstall "Server with GUI" -y
设置默认启动目标:sudo systemctl set-default graphical.target。重启后进入GDM登录界面。
不推荐安装完整 GNOME Desktop,它会额外引入 Evolution、Rhythmbox 等无关应用,增加维护负担和攻击面。











