墙和鸡蛋 发表于 2026-5-8 10:37:39

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

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

⚠️ 版本状态提醒

[*]CentOS 7 已于 2024-06-30 停止维护(EOL)
[*]CentOS Linux 8 已于 2021-12-31 停止维护,对应替代为 CentOS Stream 8(2024-05-31 EOL)
[*]CentOS 9 即为 CentOS Stream 9,属于滚动发行版

生产环境建议迁移至 Rocky Linux / AlmaLinux / RHEL。本指南兼顾历史版本的操作方法,仅适用于测试或遗留系统。



一、安装前准备

1. 下载镜像

[*]CentOS 7(归档地址)

http://vault.centos.org/centos/7/isos/x86_64/
推荐下载 CentOS-7-x86_64-Minimal-*.iso

[*]CentOS 8(归档地址)

http://vault.centos.org/centos/8/isos/x86_64/
推荐下载 CentOS-8-x86_64-*-minimal.iso

[*]CentOS Stream 9(官方镜像)

https://mirrors.centos.org/mirrorlist?path=/9-stream/BaseOS/x86_64/iso/
选择 CentOS-Stream-9-latest-x86_64-boot.iso 或 dvd1.iso

2. 制作启动介质

[*]Linux/macOS:dd if=image.iso of=/dev/sdX bs=4M status=progress
[*]Windows:使用 Rufus 或 balenaEtcher 写入 U 盘




二、安装过程(最小化安装)

启动后选择 “Install CentOS 7/8/9”,进入图形或文本安装界面。核心步骤如下:

[*]语言与键盘

   选择合适的语言(推荐 English)和键盘布局。

[*]安装源与软件选择
[*]在 Software Selection 中选择 “Minimal Install”(最小化安装)。
[*]CentOS 7 需要手动选择“Minimal”,8/9 类似。
[*]无需勾选任何附加组件,以获得最精简系统。
[*]磁盘分区
[*]建议使用 自动分区(Automatic) 或自定义 LVM:
[*]/boot 1 GiB(均使用)
[*]/ 剩余空间使用 XFS(CentOS 7 默认为 XFS,8/9 相同)
[*]可选添加 swap(内存 < 8G 时建议等于内存大小)
[*]勾选 “Use LVM”(逻辑卷管理)以便后期扩容。
[*]网络与主机名
[*]开启网络接口(如 ens33),设置为 ON。
[*]若 DHCP 环境,安装后可修改为静态 IP。
[*]设置主机名,如 server-centos.lan。
[*]开始安装

   点击 “Begin Installation”。安装过程中需设置:

[*]Root 密码(务必复杂)
[*]创建普通用户(可勾选 “Make this user administrator” 加入 wheel 组)


安装完成后重启,拔出介质。



三、安装后最小化配置

以下命令统一使用 # 表示 root 权限;普通用户请加 sudo。根据 CentOS 版本区分包管理器和网络管理。

1. 更新系统基础源(关键:处理 EOL 仓库)

CentOS 7
官方源已移至 vault,需将 baseurl 改为存档地址,并禁用原有 mirrorlist。
# 备份原文件
cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak

# 替换为 vault 源
sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-Base.repo
sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-Base.repo

yum clean all && yum makecache

CentOS 8
# 原有 repo 已失效,直接替换为 vault
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

# 如果仍报错,可手动创建 /etc/yum.repos.d/CentOS-Vault.repo:
cat > /etc/yum.repos.d/CentOS-Vault.repo <<EOF

name=CentOS Linux 8 - BaseOS
baseurl=http://vault.centos.org/centos/8/BaseOS/\$basearch/os/
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial


name=CentOS Linux 8 - AppStream
baseurl=http://vault.centos.org/centos/8/AppStream/\$basearch/os/
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial


name=CentOS Linux 8 - Extras
baseurl=http://vault.centos.org/centos/8/extras/\$basearch/os/
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
EOF

dnf clean all && dnf makecache

CentOS Stream 9
自带源为 Stream,可直接使用,但建议更新到最新状态:
dnf update -y

2. 安装完成后的第一次更新
# CentOS 7
yum update -y

# CentOS 8 / 9
dnf update -y
此时会从仓库安装所有安全补丁(CentOS 7/8 仅能更新到最终快照)。

3. 安装必要的基础工具
# 通用
yum install -y vim wget curl net-tools bash-completion   # CentOS 7
dnf install -y vim wget curl net-tools bash-completion   # CentOS 8/9

# 额外推荐:epel-release (对于 7/8 需要,9 可使用 epel-next)
yum install -y epel-release   # CentOS 7
dnf install -y epel-release   # CentOS 8
dnf install -y epel-release epel-next-release# CentOS Stream 9
安装完成后执行 source /etc/profile 或重新登录以启用 bash 补全。

4. 网络配置(静态 IP 示例)

通用方法(推荐 nmcli,适用于 7/8/9)
查看连接名:
nmcli connection show
假设接口为 ens33,配置静态 IP:
nmcli con mod ens33 ipv4.addresses 192.168.1.100/24
nmcli con mod ens33 ipv4.gateway 192.168.1.1
nmcli con mod ens33 ipv4.dns "8.8.8.8 8.8.4.4"
nmcli con mod ens33 ipv4.method manual
nmcli con mod ens33 connection.autoconnect yes
nmcli con up ens33

CentOS 7 传统 network-scripts 方法(备选)
编辑 /etc/sysconfig/network-scripts/ifcfg-ens33,修改:
BOOTPROTO=static
ONBOOT=yes
IPADDR=192.168.1.100
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=8.8.8.8
DNS2=8.8.4.4
然后 systemctl restart network。

5. 主机名
hostnamectl set-hostname your-server-name
检查:hostnamectl status。

6. 系统时间同步

[*]CentOS 7 使用 ntpd,但也可安装 chrony(建议):

yum install -y chrony
systemctl enable chronyd --now

[*]CentOS 8/9 默认已启用 chronyd:

systemctl enable chronyd --now
timedatectl set-ntp true
验证:chronyc sources -v 或 timedatectl status。

配置 NTP 服务器(可选):编辑 /etc/chrony.conf,添加国内源如 ntp.aliyun.com,重启服务。

7. SSH 安全加固
编辑 /etc/ssh/sshd_config:
Port 22                        # 可改为其他端口(需同时放行防火墙)
PermitRootLogin no               # 禁止 root 直接登录
PasswordAuthentication yes       # 若已配置密钥可改为 no
PubkeyAuthentication yes
AllowUsers yourusername          # 仅允许特定用户登录
重启 SSH:
systemctl restart sshd

添加普通用户并授予 sudo(如安装时未创建):
useradd -m -G wheel adminuser
passwd adminuser
# 若需无密码 sudo(可选)
echo 'adminuser ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers.d/adminuser

8. 防火墙配置(firewalld)
systemctl start firewalld
systemctl enable firewalld

# 开放 SSH 端口(如果修改,请改为实际端口)
firewall-cmd --permanent --add-service=ssh
firewall-cmd --permanent --add-port=22/tcp   # 示例
firewall-cmd --reload
# 查看规则
firewall-cmd --list-all
如果不需要防火墙(仅测试环境),可 systemctl stop firewalld && systemctl disable firewalld,但不推荐。

9. SELinux 配置
最小化安装默认 SELinux 为 enforcing 状态,建议保持。
查看状态:getenforce
临时修改(重启失效):setenforce 0(Permissive)
永久关闭(不推荐):编辑 /etc/selinux/config 将 SELINUX=enforcing 改为 disabled,重启生效。

若遇到服务访问问题,使用 sealert 分析并由 semanage 调整策略,不要轻易关闭。

10. 其他优化

[*]关闭不必要服务:

systemctl list-unit-files | grep enabled   # 查看开机自启服务
systemctl disable --now postfix# 示例,如果不需要邮件服务

[*]内核参数调整(可选):/etc/sysctl.conf 添加 net.ipv4.ip_forward=1 等。
[*]安装常用性能工具:htop, iotop, sysstat 等。




四、建议:迁移至持续支持的发行版

由于 CentOS 7/8 已经结束生命周期,强烈推荐迁移到 Rocky Linux 或 AlmaLinux,它们与 RHEL 9/8 完全兼容,并仍在获得安全更新。

[*]从 CentOS 8 迁移至 Rocky Linux 8:

dnf install -y https://dl.rockylinux.org/pub/rocky/8/BaseOS/x86_64/os/Packages/r/rocky-release-8.9-*.el8.noarch.rpm
dnf distro-sync -y

[*]从 CentOS 7 升级至 Rocky 9 需采用全新安装再迁移数据的方式,因为无法原地升级主版本。




五、总结
本指南覆盖了 CentOS 7/8/9 的最小化安装与基本配置,包括仓库修复、网络、SSH、防火墙、时间同步等核心步骤。由于上游政策变化,现有 CentOS 版本均不再适合用于生产环境的安全维护,请根据实际需求选择替代发行版。

快速检查清单

[*][ ] 系统已最小化安装
[*][ ] 仓库已指向正确源(vault 或 stream)
[*][ ] 网络静态 IP 配置完成
[*][ ] 主机名已设置
[*][ ] 时间同步正常
[*][ ] SSH 禁止 root 密码登录,普通用户 sudo 可用
[*][ ] 防火墙按需放行端口
[*][ ] SELinux 保持 enforcing
[*][ ] 基础工具已安装,系统已全量更新


如有后续需求(如安装 Nginx、数据库),可在此基础上继续部署。
页: [1]
查看完整版本: CentOS 7/8/9 系统安装与最小化配置指南