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

[复制链接] |主动推送
查看2322 | 回复0 | 2026-5-8 10:37:39 | 显示全部楼层 |阅读模式
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(归档地址)

  1. http://vault.centos.org/centos/7/isos/x86_64/
复制代码

  推荐下载
  1. CentOS-7-x86_64-Minimal-*.iso
复制代码

  • CentOS 8(归档地址)

  1. http://vault.centos.org/centos/8/isos/x86_64/
复制代码

  推荐下载
  1. CentOS-8-x86_64-*-minimal.iso
复制代码

  • CentOS Stream 9(官方镜像)

  1. https://mirrors.centos.org/mirrorlist?path=/9-stream/BaseOS/x86_64/iso/
复制代码

  选择
  1. CentOS-Stream-9-latest-x86_64-boot.iso
复制代码
  1. dvd1.iso
复制代码

2. 制作启动介质

  • Linux/macOS
    1. 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:  
    1. /boot
    复制代码
    1 GiB(均使用)  
    1. /
    复制代码
    剩余空间使用 XFS(CentOS 7 默认为 XFS,8/9 相同)  
  • 可选添加
    1. swap
    复制代码
    (内存 < 8G 时建议等于内存大小)  
  • 勾选 “Use LVM”(逻辑卷管理)以便后期扩容。
  • 网络与主机名  
  • 开启网络接口(如
    1. ens33
    复制代码
    ),设置为 ON。  
  • 若 DHCP 环境,安装后可修改为静态 IP。  
  • 设置主机名,如
    1. server-centos.lan
    复制代码

  • 开始安装

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

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


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




三、安装后最小化配置
以下命令统一使用
  1. #
复制代码
表示 root 权限;普通用户请加
  1. sudo
复制代码
。根据 CentOS 版本区分包管理器和网络管理。

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

CentOS 7
官方源已移至 vault,需将
  1. baseurl
复制代码
改为存档地址,并禁用原有 mirrorlist。
  1. # 备份原文件
  2. cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak
  3. # 替换为 vault 源
  4. sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-Base.repo
  5. sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-Base.repo
  6. yum clean all && yum makecache
复制代码

CentOS 8
  1. # 原有 repo 已失效,直接替换为 vault
  2. sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-*.repo
  3. sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-*.repo
  4. # 如果仍报错,可手动创建 /etc/yum.repos.d/CentOS-Vault.repo:
  5. cat > /etc/yum.repos.d/CentOS-Vault.repo <<EOF
  6. [baseos]
  7. name=CentOS Linux 8 - BaseOS
  8. baseurl=http://vault.centos.org/centos/8/BaseOS/\$basearch/os/
  9. gpgcheck=1
  10. enabled=1
  11. gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
  12. [appstream]
  13. name=CentOS Linux 8 - AppStream
  14. baseurl=http://vault.centos.org/centos/8/AppStream/\$basearch/os/
  15. gpgcheck=1
  16. enabled=1
  17. gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
  18. [extras]
  19. name=CentOS Linux 8 - Extras
  20. baseurl=http://vault.centos.org/centos/8/extras/\$basearch/os/
  21. gpgcheck=1
  22. enabled=1
  23. gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
  24. EOF
  25. dnf clean all && dnf makecache
复制代码

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

2. 安装完成后的第一次更新
  1. # CentOS 7
  2. yum update -y
  3. # CentOS 8 / 9
  4. dnf update -y
复制代码
此时会从仓库安装所有安全补丁(CentOS 7/8 仅能更新到最终快照)。

3. 安装必要的基础工具
  1. # 通用
  2. yum install -y vim wget curl net-tools bash-completion   # CentOS 7
  3. dnf install -y vim wget curl net-tools bash-completion   # CentOS 8/9
  4. # 额外推荐:epel-release (对于 7/8 需要,9 可使用 epel-next)
  5. yum install -y epel-release   # CentOS 7
  6. dnf install -y epel-release   # CentOS 8
  7. dnf install -y epel-release epel-next-release  # CentOS Stream 9
复制代码
安装完成后执行
  1. source /etc/profile
复制代码
或重新登录以启用 bash 补全。

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

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

CentOS 7 传统 network-scripts 方法(备选)  
编辑
  1. /etc/sysconfig/network-scripts/ifcfg-ens33
复制代码
,修改:
  1. BOOTPROTO=static
  2. ONBOOT=yes
  3. IPADDR=192.168.1.100
  4. NETMASK=255.255.255.0
  5. GATEWAY=192.168.1.1
  6. DNS1=8.8.8.8
  7. DNS2=8.8.4.4
复制代码
然后
  1. systemctl restart network
复制代码


5. 主机名
  1. hostnamectl set-hostname your-server-name
复制代码
检查:
  1. hostnamectl status
复制代码


6. 系统时间同步

  • CentOS 7 使用
    1. ntpd
    复制代码
    ,但也可安装
    1. chrony
    复制代码
    (建议):

  1. yum install -y chrony
  2.   systemctl enable chronyd --now
复制代码

  • CentOS 8/9 默认已启用
    1. chronyd
    复制代码


  1. systemctl enable chronyd --now
  2.   timedatectl set-ntp true
复制代码
验证:
  1. chronyc sources -v
复制代码
  1. timedatectl status
复制代码


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

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

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

8. 防火墙配置(firewalld)
  1. systemctl start firewalld
  2. systemctl enable firewalld
  3. # 开放 SSH 端口(如果修改,请改为实际端口)
  4. firewall-cmd --permanent --add-service=ssh
  5. firewall-cmd --permanent --add-port=22/tcp     # 示例
  6. firewall-cmd --reload
  7. # 查看规则
  8. firewall-cmd --list-all
复制代码
如果不需要防火墙(仅测试环境),可
  1. systemctl stop firewalld && systemctl disable firewalld
复制代码
,但不推荐。

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

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

10. 其他优化

  • 关闭不必要服务

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

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





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

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

  • 从 CentOS 8 迁移至 Rocky Linux 8

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

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





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

快速检查清单

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


如有后续需求(如安装 Nginx、数据库),可在此基础上继续部署。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则