在实际开始使用 CentOS 之前,有几项基础准备会直接影响后续学习效率。CentOS 曾经是服务器领域使用量极高的 Linux 发行版,与 Red Hat Enterprise Linux(RHEL)同源,因此成为很多人学习服务器运维的起点。现在 CentOS Linux 项目已经停止维护,官方重心转移到 CentOS Stream,但这并不影响入门者借助旧版镜像或 Stream 版本掌握 Linux 基础。环境准备的核心包括:选择合适的镜像、规划磁盘分区、配置网络与软件源、完成初始安全设置。

先理解 CentOS 的版本变化与镜像选择
CentOS 源自 RHEL 源代码,移除红帽商标后重新编译发布。早期的 CentOS Linux 分为 7、8 等主版本,每个版本提供较长的维护周期。后来官方调整策略,将 CentOS Stream 作为主要交付形式,传统 CentOS Linux 不再获得完整的安全更新。对于刚入门的人来说,旧教程大多基于 CentOS 7,其命令习惯和软件源配置方式仍然有大量参考价值。如果是从零开始搭建学习环境,可以使用 CentOS 7 的旧镜像,也可以直接选择 CentOS Stream 9 镜像。旧镜像的优势是网上资料丰富,遇到问题容易查找解决方案;Stream 版本的优势是更接近未来 RHEL 的技术方向,适合希望了解新特性的用户。
下载镜像后建议先校验 SHA256 值,确认文件完整。虚拟机环境通常只需要 Minimal ISO,体积比完整 DVD 小很多,安装速度也更快。如果是物理机安装,还需要准备一个 U 盘并使用 Rufus、dd 等工具制作启动盘。虚拟机用户直接在虚拟光驱中挂载 ISO 即可,不必额外刻录。安装前可以先用以下命令确认系统版本和内核信息,方便后续排查问题时提供环境描述。
cat /etc/centos-release uname -r
虚拟机资源分配方面,建议至少给 2 核 CPU、2GB 内存和 20GB 磁盘。只跑命令行任务时 1GB 内存也能运行,但一旦涉及源码编译或同时运行多个服务,资源紧张会明显拖慢操作。如果主要目的是学习服务器运维,不建议安装图形界面,保持最小化环境更贴近真实生产状态。
安装过程与磁盘分区规划
CentOS 安装引导界面先选择语言和键盘布局,然后进入磁盘分区环节。对于入门用户,自动分区可以快速完成安装,但手动分区能帮助理解 Linux 的目录结构。手动分区时至少需要划分根分区和交换分区,如果使用 UEFI 启动,还要额外划分 EFI 系统分区。传统 BIOS 启动通常需要一个 /boot 分区,大小 1GB 足够。根分区存放系统文件和用户数据,交换分区用于内存不足时的数据交换,一般设置为物理内存的 1 到 2 倍即可。
生产环境中更常见的做法是使用 LVM 逻辑卷管理,它允许后续动态调整分区大小。标准分区的优点是结构简单、排查方便,适合学习阶段使用。无论哪种方式,都建议把 /home 单独挂载,这样重装系统时用户数据可以保留。安装完成后可以用 lsblk 查看块设备结构,用 fdisk 查看分区表信息。
lsblk fdisk -l
软件选择界面中可以选最小化安装、基本网页服务器或带图形界面的工作站。入门服务器方向建议选择最小化安装,后续按需用包管理器补充软件。这样系统体积小、启动快,也能逼着自己熟悉命令行操作。安装过程最后会提示设置 root 密码和创建普通用户,root 密码要设置得足够复杂,普通用户则用于日常登录,避免直接使用 root 操作造成误删。
网络连通与软件源替换
安装完成后第一件事是确认网络是否正常。虚拟机使用 NAT 模式通常可以直接上网,桥接模式则相当于在局域网中独立获取 IP。旧版 CentOS 可能没有默认安装 ifconfig 命令,可以使用 ip addr 查看网卡地址。若发现网卡没有启动,需要检查网卡配置文件中的 ONBOOT 参数是否设置为 yes。静态 IP 适合服务器环境,可以通过 NetworkManager 的 nmcli 命令配置,也可以直接编辑 /etc/sysconfig/network-scripts/ 目录下的网卡配置文件。
以下示例将网卡 ens33 配置为静态地址 192.168.1.100,网关为 192.168.1.1,DNS 使用阿里云公共 DNS。实际使用时网卡名可能不同,可通过 ip link 查看。
TYPE=Ethernet BOOTPROTO=static NAME=ens33 DEVICE=ens33 ONBOOT=yes IPADDR=192.168.1.100 PREFIX=24 GATEWAY=192.168.1.1 DNS1=223.5.5.5
使用 nmcli 配置静态网络则更直观,配置完成后重新激活连接即可。如果网络环境中有 DHCP,也可以保留自动获取,只确保 ONBOOT 为 yes。
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 223.5.5.5 nmcli con mod ens33 ipv4.method manual nmcli con up ens33
软件源默认指向国外服务器,国内访问速度慢且容易失败。建议将官方源替换为阿里云、清华等镜像源。操作前先备份原有 repo 文件,然后下载对应版本的镜像源配置。CentOS 7 和 CentOS Stream 的源地址不同,下载时要注意版本匹配。替换完成后清理缓存并重新生成元数据。
mkdir -p /etc/yum.repos.d/backup mv /etc/yum.repos.d/CentOS-*.repo /etc/yum.repos.d/backup/ 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,包管理器已经从 yum 逐步过渡到 dnf,不过 yum 命令仍然可用。软件源替换后,执行 yum update 或 dnf update 可以将系统更新到最新状态。更新前建议给虚拟机做快照,方便回滚。
初始安全设置与 SSH 登录
系统能够联网并更新软件后,需要做一轮基础安全配置。首先创建普通用户并加入 wheel 组,wheel 组默认具备 sudo 权限,可以让普通用户执行需要 root 权限的命令。日常操作尽量使用普通用户,需要提权时再用 sudo,减少误操作和权限滥用风险。
useradd -m -s /bin/bash deploy passwd deploy usermod -aG wheel deploy
SSH 是远程管理 Linux 的核心工具,默认端口 22 容易被扫描攻击。入门阶段可以先修改默认端口,并限制 root 用户直接登录。编辑 /etc/ssh/sshd_config 文件,将 Port 22 改为其他端口,设置 PermitRootLogin no。修改后重启 sshd 服务,同时防火墙需要放行新端口。如果忘记防火墙规则,可能导致无法远程连接,因此操作前最好保留一个本地终端窗口。
sed -i 's/#Port 22/Port 2222/' /etc/ssh/sshd_config systemctl restart sshd
防火墙在 CentOS 7 中使用 firewalld,在 CentOS Stream 9 中同样适用。开放新 SSH 端口后,移除默认的 22 端口规则,并重新加载防火墙。SELinux 默认处于 enforcing 状态,建议先保持开启,不要直接关闭。它虽然会增加一些权限问题的排查成本,但能提供额外的安全防护。若服务因 SELinux 无法访问文件,可以使用 ausearch 和 sealert 查看日志,逐步学习策略配置。
firewall-cmd --permanent --add-port=2222/tcp firewall-cmd --permanent --remove-port=22/tcp firewall-cmd --reload
完成以上步骤后,环境基本达到可学习和可远程操作的状态。后续无论是搭建 Web 服务、部署数据库还是学习 Shell 脚本,都已经具备一个相对干净的 CentOS 基础。环境准备阶段看起来步骤繁琐,但每一步都是在模拟真实服务器的初始化流程,提前熟悉这些操作会减少日后维护时踩坑的概率。