123456825 发表于 2026-5-8 10:24:00

CentOS 7/8/9 系统安装与最小化配置指南

CentOS 7/8/9 系统安装与最小化配置指南

本指南涵盖 CentOS 7、CentOS 8 以及 CentOS Stream 9(通常简称 CentOS 9)的安装过程与安装后的基础配置。由于这三个版本在安装界面与生命周期上差异较大,文中会分别说明,并特别指出已停维版本的处理策略和长期运维建议。



一、版本现状与选型建议

| 版本 | 状态 | 对应 RHEL | 建议 |
|------|------|-----------|------|
| CentOS 7 | 即将 EOL(2024-06-30) | RHEL 7 | 仅用于旧系统维护,新部署不建议 |
| CentOS 8 | 已 EOL(2021-12-31) | RHEL 8 | 不应再部署,残留系统需迁移到 CentOS Stream 8 或 Rocky/Alma |
| CentOS Stream 9 | 滚动更新,活跃 | RHEL 9 | 适合想体验 RHEL 新特性的开发/测试环境,生产环境建议使用 RHEL 或 Rocky/Alma |

对于生产环境,推荐使用 Rocky Linux 8/9 或 AlmaLinux 8/9 替代 CentOS 8/9,两者均与 RHEL 完全二进制兼容,且有长期支持。



二、安装前的准备

1. 下载 ISO 镜像

[*]CentOS 7:可从 archive.centos.org 获取最后更新镜像。
[*]CentOS 8:已从主镜像站移除,需从 vault.centos.org 下载。
[*]CentOS Stream 9:官方下载 CentOS Stream。


推荐 ISO 类型:

[*]DVD ISO:包含完整安装包,适合离线安装。
[*]Minimal ISO:体积小,安装过程需网络下载包,适合网络环境好的场景。
[*]NetInstall ISO:仅启动安装程序,全部从网络获取,灵活性高。


2. 制作启动盘

[*]虚拟机直接挂载 ISO。
[*]物理机使用工具如 Rufus (Windows)、dd (Linux)、balenaEtcher 写入 U 盘。


3. 硬件最低要求
| 资源 | 最小要求 |
|------|----------|
| CPU | 1 核心 |
| 内存 | 1 GB(CentOS 7),1.5 GB(CentOS 8/9 安装程序) |
| 磁盘 | 10 GB 以上(建议 20 GB+) |
| 网络 | 可选,但安装中连网可自动设置时间、下载更新 |



三、系统安装步骤(以最小化安装为例)

1. 引导安装介质
设置 BIOS/UEFI 从 U 盘或光驱启动,在启动菜单选择 “Install CentOS 7 / 8 / Stream 9”。

2. 语言选择

[*]建议选择 English (United States),避免日后命令行乱码问题。中文本地化可在安装后配置。


3. 安装信息摘要 (Installation Summary)
所有配置集中在此界面,按顺序确保每项显示为“无警告”。

3.1 键盘与语言支持

[*]键盘布局默认 English (US)。可添加中文输入法,但不是必须。


3.2 时间与日期 (Time & Date)

[*]选择 Asia/Shanghai(上海)时区,并开启 网络时间同步 (Network Time)。
[*]CentOS 7 与 8/9 使用的 NTP 服务不同(chronyd 或 ntpd),安装后统一使用 chrony 管理。


3.3 安装源 (Installation Source)

[*]本地介质安装:选择“本地介质”。
[*]网络安装:配置网络后,可指定 HTTP/HTTPS/FTP 源,如 CentOS 8 使用 vault 源:

http://vault.centos.org/centos/8/BaseOS/x86_64/os/

3.4 软件选择 (Software Selection)

[*]重要:选择 最小安装 (Minimal Install)。
[*]右侧可选“标准”或“兼容性库”等附件组,最小化环境下建议只保留核心,勾选可忽略。


3.5 安装目标位置 (Installation Destination)

[*]选择目标磁盘,勾选 “自定义分区 (Custom)” 或直接使用自动分区(自动分区会创建基于 LVM 的布局)。生产环境推荐用 LVM 以便后期扩容。


推荐手动分区(最小化方案):
| 挂载点 | 类型 | 大小建议 | 说明 |
|--------|------|----------|------|
| /boot | xfs (CentOS 7/8) / ext4 (可选) | 1024 MiB | 标准分区,不支持 LVM |
| /boot/efi | EFI System Partition | 200 MiB | 仅 UEFI 启动需要 |
| / | xfs + LVM | 剩余空间的 50% | 根分区 |
| /home | xfs + LVM | 剩余空间的 30% | 可选,隔离用户数据 |
| swap | swap | 1~2 倍内存大小 | 休眠需大于 RAM,最小 512 MB |
| /var | xfs + LVM | 剩余空间 | 若独立 /home 则分配剩余空间给 /var,避免日志写满根分区 |

若不单独分 /var 和 /home,可以仅创建 /boot、swap、/。

[*]磁盘分区规划完毕后确认,接受更改。


3.6 网络与主机名 (Network & Host Name)

[*]设置主机名,如 server.example.com。
[*]启用网络接口(默认可能是 OFF),点击“配置”可设置 IPv4/IPv6。若需静态 IP,安装时先选 DHCP,安装后进入系统再改。


3.7 安全策略 (Security Policy)
通常选择默认的“No profile”,如有特殊合规需求可应用安全配置。

4. 设置 root 密码与用户

[*]设置强密码。可勾选“锁定 root 账户”以禁止 root 直接登录,推荐创建普通用户并加入 wheel 组。
[*]创建用户时勾选“将此用户作为管理员 (Make this user administrator)”,或手动授权 sudo。


5. 开始安装
确认配置后,点击“开始安装”。等待完成后,点击“重启系统”。



四、安装后的最小化基础配置

重启后进入命令行登录界面,用 root 或创建的 sudo 用户登录,进行以下配置。

1. 配置网络(静态 IP、IPv6、DNS)
查找网卡名:
ip a
编辑网卡配置文件(CentOS 7 使用 /etc/sysconfig/network-scripts/ifcfg-<name>,CentOS 8/9 保留该目录但推荐 NetworkManager nmcli)。

CentOS 7 方式(/etc/sysconfig/network-scripts/ifcfg-ensXX):
TYPE=Ethernet
BOOTPROTO=none         # 静态 IP
IPADDR=192.168.1.100
PREFIX=24                # 或 NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=8.8.8.8
DNS2=114.114.114.114
ONBOOT=yes

重启网络服务:
systemctl restart network

CentOS 8/9 使用 nmcli:
# 查看连接名
nmcli con show

# 设置静态 IP
nmcli con mod "ens160" ipv4.addresses 192.168.1.100/24
nmcli con mod "ens160" ipv4.gateway 192.168.1.1
nmcli con mod "ens160" ipv4.dns "8.8.8.8 114.114.114.114"
nmcli con mod "ens160" ipv4.method manual
nmcli con up "ens160"

2. 配置主机名
hostnamectl set-hostname myserver.example.com

3. 更新系统
由于 CentOS 8 已 EOL,官方镜像不可用,必须先切换为 vault 源 或迁移到 CentOS Stream 8。以下分版本说明。

CentOS 7
yum makecache
yum update -y

CentOS 8(已停维)
# 修复源指向 vault.centos.org
cd /etc/yum.repos.d/
sed -i 's/mirrorlist=/#mirrorlist=/g' /etc/yum.repos.d/CentOS-*.repo
sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-*.repo

# 更新系统(包可能较旧,安全更新缺失)
dnf update -y
更好的做法是将 CentOS 8 转换为 CentOS Stream 8:
dnf swap centos-linux-repos centos-stream-repos
dnf distro-sync

CentOS Stream 9
dnf makecache
dnf update -y

4. 安装常用工具(最小化环境缺失很多工具)
# CentOS 7
yum install -y vim wget curl net-tools lsof rsync bash-completion chrony policycoreutils-python

# CentOS 8/9
dnf install -y vim wget curl net-tools lsof rsync bash-completion chrony policycoreutils-python-utils

5. 配置时间同步 (NTP)
统一使用 chrony(CentOS 7 默认安装 ntp,可改为 chrony 或保留 ntp,推荐 chrony)。
systemctl enable --now chronyd
配置文件 /etc/chrony.conf 可添加国内 NTP 服务器:
server ntp.aliyun.com iburst
server ntp.tencent.com iburst
重启服务:
systemctl restart chronyd
chronyc sources -v

6. SELinux 处理
最小化安装后 SELinux 默认为 Enforcing,不建议关闭,但需确保其正确配置不阻碍服务。可先检查状态:
getenforce
如果某些应用报权限问题,查看日志 /var/log/audit/audit.log 并使用 audit2allow 生成策略,而不是直接 setenforce 0。

若要临时关闭测试:
setenforce 0
永久关闭需编辑 /etc/selinux/config 将 SELINUX=enforcing 改为 disabled,并重启系统。

7. 防火墙 (firewalld)
最小化安装默认启用 firewalld。开放必要端口:
firewall-cmd --permanent --add-service=ssh
firewall-cmd --reload
查看规则:
firewall-cmd --list-all
若需打开特定端口(如 8080):
firewall-cmd --permanent --add-port=8080/tcp
firewall-cmd --reload

8. SSH 安全加固
编辑 /etc/ssh/sshd_config,调整以下参数:
PermitRootLogin no            # 禁止 root 直接登录
PasswordAuthentication yes       # 如果已经配置密钥,可设为 no
PubkeyAuthentication yes
AllowUsers youruser            # 允许登录的用户
重启 sshd:
systemctl restart sshd

注意:CentOS 7 的服务名为 sshd,CentOS 8/9 为 sshd 一样。

9. 添加 sudo 用户(如安装时未创建)
useradd -m john
passwd john
usermod -aG wheel john
测试 sudo 权限:su - john 然后 sudo -i。

10. 设置系统语言与键盘

[*]查看当前 locale:localectl
[*]设置 LANG 为英文(避免中文 TTY 乱码):

localectl set-locale LANG=en_US.UTF-8

11. 关闭不必要的服务
查看启动服务:
systemctl list-unit-files --type=service | grep enabled
停止并禁用例如 kdump(如不需要):
systemctl stop kdump
systemctl disable kdump

12. 配置 yum/dnf 源(国内加速)
对于 CentOS 7,可替换为阿里云或清华镜像:
# 备份
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak
curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
yum clean all && yum makecache
CentOS Stream 9 可使用 EPEL 和官方镜像,同样可改为阿里云 Stream 源:
sed -i 's|^mirrorlist=|#mirrorlist=|g' /etc/yum.repos.d/centos*.repo
sed -i 's|#baseurl=http://mirror.stream.centos.org|baseurl=https://mirrors.aliyun.com/centos-stream|g' /etc/yum.repos.d/centos*.repo



五、版本特性差异速查

| 特性 | CentOS 7 | CentOS 8 | CentOS Stream 9 |
|------|----------|----------|-----------------|
| 包管理器 | yum | dnf | dnf |
| 文件系统 | xfs (默认) | xfs | xfs |
| 内核版本 | 3.10 | 4.18 | 5.14+ |
| 网络服务 | network / NetworkManager | NetworkManager(推荐) | NetworkManager |
| 防火墙 | firewalld | firewalld | firewalld |
| 时间同步 | chrony/ntpd | chrony(默认) | chrony |
| Python | 2.7 (默认) | 3.6 (无默认 python) | 3.9 (提供平台) |
| 容器支持 | Docker 需额外安装 | podman 内置 | podman 内置 |



六、安装后验证清单

[*][ ] 网络连通性:ping -c 4 8.8.8.8
[*][ ] DNS 解析:nslookup www.baidu.com (需要 bind-utils)
[*][ ] 系统时间:timedatectl
[*][ ] SELinux 模式:getenforce
[*][ ] 防火墙状态:firewall-cmd --state
[*][ ] 磁盘空间:df -h
[*][ ] 可用内存:free -h
[*][ ] 核心服务:systemctl status sshd chronyd


全部通过后,即可在此最小化系统上部署所需的应用服务。



七、建议与最佳实践

[*]CentOS 7 即将停维:尽快制定迁移计划至 Rocky/Alma 9 或 RHEL。
[*]CentOS 8 不建议保留:尽快切换至 Stream 8 或 Rocky/Alma 8。
[*]始终使用最小化安装,按需添加包,减少攻击面。
[*]配置完成后创建快照/备份,便于快速恢复。
[*]定期更新安全补丁(对于 EOL 系统只能迁移或隔离)。
[*]生产环境务必设置严格的防火墙规则和 SELinux 策略。


本指南为通用最小化安装与配置流程,适用于物理服务器、虚拟机及公有云环境。根据业务需求,后续可在此基础上继续安装数据库、Web 服务、监控等组件。
页: [1]
查看完整版本: CentOS 7/8/9 系统安装与最小化配置指南