CentOS 7.9安装全攻略:从镜像选择到安全配置的完整指南
1. 项目概述:为什么今天还要装CentOS 7.9?
如果你正在看这篇文章,大概率是刚接触Linux,或者手头有个老项目、老软件,非得在CentOS 7这个特定版本上跑不可。没错,CentOS 7的生命周期已经进入尾声,官方支持也快结束了,但现实情况是,大量的企业生产环境、遗留应用、以及特定的工业软件(比如你搜到的“innovus工具”)依然扎根在CentOS 7上。所以,学会安装它,不是学一个过时的技术,而是掌握一项解决实际兼容性问题的硬技能。这就像修车师傅不仅要会修新车,也得懂老车的脾气。
我见过太多新手卡在安装的第一步:镜像下载不对、分区搞不明白、网络配置失败,最后系统是装上了,但根本没法用,或者用起来磕磕绊绊。今天,我就以一个老运维的视角,带你从头到尾走一遍CentOS 7.9的安装,不止是点“下一步”,我会把每一步背后的“为什么”讲清楚,并分享那些只有踩过坑才知道的细节和技巧。我们的目标不是仅仅得到一个能开机的系统,而是得到一个稳定、可用、为后续工作打好基础的Linux环境。
2. 安装前的核心准备:选对“原料”与“灶台”
安装系统就像做饭,食材(镜像)和厨具(虚拟化软件或物理机)选不对,后面手艺再好也白搭。很多人在这第一步就吃了亏。
2.1 镜像下载:避开“李鬼”,找到真身
CentOS的镜像文件(ISO)是安装系统的根本。但“CentOS 7.9”只是一个版本号,具体下载哪个文件大有讲究。
首先,明确你的需求:
- Minimal ISO(最小化安装版):这是我最推荐新手和服务器环境使用的版本。它只包含最核心的系统组件,没有图形界面,安装后体积小、运行快、安全性高。你需要什么软件,再通过yum命令自己安装,这样系统最干净可控。文件通常名为
CentOS-7-x86_64-Minimal-2009.iso。 - DVD ISO(完整安装版):包含大量的软件包和图形化桌面环境(GNOME)。如果你需要在虚拟机里得到一个开箱即用的、带桌面的Linux来学习,或者你的环境完全无法连接互联网,需要离线安装大量软件,可以选这个。文件体积很大(通常超过4GB)。
- Everything ISO(全集版):包含所有软件包,体积巨大,一般用于构建本地Yum仓库,个人安装极少使用。
关键技巧:从可信镜像站下载直接去官方站点下载可能很慢。国内推荐使用各大高校和机构的开源镜像站,速度飞快。比如阿里云镜像站、清华大学镜像站。以清华大学镜像站为例,路径通常是:https://mirrors.tuna.tsinghua.edu.cn/centos/7.9.2009/isos/x86_64/。在这里,你能清晰地看到上面提到的几种ISO文件。下载时务必核对文件的SHA256校验和,确保下载的文件完整无误,这是避免安装中途报错的重要一步。
注意:网上有些教程提供的百度网盘链接,文件可能被修改过或版本不对,优先从官方或知名镜像站下载。
2.2 环境准备:虚拟机还是物理机?
对于绝大多数学习和测试场景,虚拟机是绝对的首选。它让你可以大胆尝试,玩坏了瞬间恢复快照,不影响宿主机。
- VMware Workstation Player/Pro:功能强大,性能好,网络配置灵活(NAT、桥接、仅主机模式)。Pro版功能更全,但Player版对个人免费,完全够用。安装时,记得在BIOS/UEFI设置中开启CPU的虚拟化支持(Intel VT-x / AMD-V),这个选项一般在“Advanced”或“Security”设置里。
- VirtualBox:开源免费,功能足够基础使用。如果你不想为VMware付费,VirtualBox是不错的替代品。但在USB设备支持、图形性能和快照管理上略逊于VMware。
对于物理机安装,你需要准备一个至少8GB的U盘,使用工具(如Rufus、Ventoy)将ISO镜像制作成启动盘。务必提前备份好物理机上所有重要数据,因为安装过程会格式化目标磁盘。
2.3 虚拟机创建:参数设置里的学问
以VMware为例,新建虚拟机时,有几个参数需要留心:
- 客户机操作系统:选择“Linux”,版本选择“CentOS 7 64位”。这会让VMware应用一些针对该系统的优化设置。
- 处理器和内存:默认设置(1核,1GB内存)对于Minimal安装跑命令行是够用的。但如果你安装的是带桌面的DVD版,或者打算在虚拟机里运行稍吃资源的服务(比如数据库),建议至少分配2核CPU和2GB内存。内存分配不是越多越好,要兼顾宿主机的流畅度。
- 网络类型:这是新手最容易困惑的地方。
- 桥接模式:虚拟机会像一台真实的机器一样,接入你宿主机所在的物理网络,会从你的路由器获取一个同网段的IP地址。好处是局域网内其他设备可以直接访问它,坏处是可能会遇到IP冲突。
- NAT模式(推荐新手使用):虚拟机通过宿主机的网络地址转换(NAT)上网。它自己会处在一个虚拟的子网里(比如192.168.xx.xx),宿主机外的机器无法直接访问它,但它可以无障碍访问外网。这避免了IP冲突,是最安全省心的选择。
- 仅主机模式:虚拟机只和宿主机组成一个私有网络,与外界完全隔离。用于纯粹的封闭测试。
我的建议:初次安装,选择NAT模式。先保证系统能顺利安装并连上网,后续有需要再改网络配置。
3. 安装过程详解:每一步的选择与避坑
启动虚拟机,从ISO镜像引导后,就进入了正式的安装界面。我们以最常用的“Minimal”安装为例进行图文详解(我会描述关键界面)。
3.1 语言与安装源配置
第一个界面是选择安装过程中的语言。这里务必注意:这里选择的语言只是安装程序界面的语言,不是最终系统的语言。为了方便,我们可以选择“中文-简体中文”,但更推荐选择“English (United States)”。因为后续很多命令行教程、错误日志都是英文的,保持环境一致性能减少很多编码和显示上的麻烦。
接下来是“安装信息摘要”界面,这是安装的核心配置页面。所有带黄色感叹号的项都需要配置。
- 日期和时间:点击进入,在地图上选择“亚洲/上海”,并确保“网络时间”开关是打开的。这能保证系统时钟准确,对于证书验证、日志记录至关重要。
- 键盘布局:保持默认的“English (US)”即可。
- 安装源:因为我们是从ISO镜像启动,这里会自动检测到“本地介质”,无需改动。
- 软件选择:这是关键一步!点击进入。
- 对于Minimal镜像,默认选中的是“最小安装”,这就是我们想要的,一个最纯净的命令行系统。
- 如果你需要图形界面,但下载的是Minimal镜像,这里可以选择“带GUI的服务器”或“GNOME桌面”。但注意,Minimal镜像里不包含这些软件包,安装程序会提示你需要配置网络来自动下载,所以必须确保后续网络配置成功。
- 右侧还可以勾选一些附加组件,比如“兼容性程序库”、“开发工具”。我强烈建议勾选“开发工具”,它包含了GCC、Make等编译工具链,以后安装任何需要编译的软件(比如Python插件、某些驱动)都会用到,避免后续再折腾。
3.2 磁盘分区:让系统跑得稳的基石
点击“安装目标位置”,进入分区设置。这是整个安装过程中最具技术含量也最容易出错的一步。
方案选择:
- 自动配置分区(推荐新手):安装程序会帮你创建一个合理的分区布局(通常包含
/boot,swap,/根分区)。对于虚拟机或新手,直接使用这个方案,点击“完成”即可,简单省心。 - 我要配置分区(手动分区):这是生产环境和进阶用户的必选项。手动分区能更好地规划磁盘空间,满足特定需求。
手动分区详解与建议方案:即使选择手动分区,对于学习和小型服务器,一个经典且足够的分区方案如下表所示:
| 挂载点 | 建议大小 | 文件系统类型 | 说明 |
|---|---|---|---|
/boot | 1GB | xfs | 存放系统内核和启动引导文件。1GB足够,分大了浪费。 |
swap | 物理内存的1-2倍 | swap | 虚拟内存。如果物理内存小于4GB,建议2倍;内存大于8GB,给4-8GB或与内存等大即可。 |
/ | 剩余所有空间 | xfs | 根目录,存放系统其他所有文件和用户数据。 |
操作步骤:
- 在“新挂载点将使用以下分区方案”下拉框中选择“标准分区”。
- 点击左下角“+”号添加分区。
- 添加
/boot:挂载点填/boot,期望容量填1G。 - 添加
swap:挂载点留空,文件系统类型选择swap,期望容量根据你分配的虚拟机内存计算(如内存2GB,则填4G)。 - 添加
/:挂载点填/,期望容量留空(表示使用剩余所有空间)。 - 点击“完成”,系统会提示你确认更改,点击“接受更改”。
核心避坑点:对于纯粹的UEFI启动的现代机器(包括一些新虚拟机配置),你需要创建一个EFI系统分区,而不是
/boot。这个分区文件系统类型是EFI System Partition,大小100-500MB,挂载点为/boot/efi。如果你不确定,在虚拟机设置里检查是否选择了UEFI固件。大多数传统教程和VMware默认创建的都是BIOS启动,所以用上面的/boot方案即可。
3.3 网络与主机名配置
在“安装信息摘要”界面,点击“网络和主机名”。默认情况下,网卡是“关闭”的。
- 在左侧选中你的网卡(通常是
ens33或eth0)。 - 将右上角的开关从“关闭”拨到“打开”。这时,如果网络模式(如NAT)配置正确,下面应该会立即显示获取到的IP地址(DHCP分配)。
- 你可以点击“配置...”进行更详细的设置,比如设置静态IP。但对于初次安装,DHCP自动获取足以。
- 在下方“主机名”处,可以给你的机器起个名字,比如
centos7-local。点击“应用”。
打开网络开关这个动作至关重要!它不仅让系统在安装后就能联网,更重要的是,如果你在“软件选择”中勾选了需要从网络下载的组件(如GUI),安装程序会在此时开始下载,否则后续安装会失败。
3.4 开始安装与root密码设置
所有黄色感叹号都配置完毕后,点击右下角的“开始安装”。
安装过程中,你需要设置root用户的密码。root是系统的超级管理员,权限最高。
- 点击“ROOT密码”进行设置。
- 设置一个强密码:即使是在虚拟机里,也请养成好习惯。密码最好包含大小写字母、数字和特殊字符。
- 如果密码过于简单,安装程序会提示“弱密码”,你需要点击两次“完成”来确认强制使用。
重要建议:在生产环境中,安装完成后应立即创建一个普通用户,并禁用root的SSH远程登录,通过sudo来提权执行管理任务,这是最基本的安全规范。我们可以在系统安装完成后操作。
设置完密码后,就等待安装进度条走完。安装速度取决于你选择的软件包数量和虚拟机磁盘性能。
4. 首次启动与基础配置
安装完成后,点击“重启”。系统重启后,你会看到登录界面。
4.1 首次登录与许可协议
使用root账号和你刚才设置的密码登录。首次登录后,可能会看到一个“未接受许可证”的提示。对于CentOS,需要阅读并接受最终用户许可协议。
- 在命令行输入
nmtui可以打开一个文本界面的网络管理器,检查并确认网络已连接(这在Minimal安装后有时需要手动启动网络)。 - 运行
yum update -y。这是你登录后应该做的第一件事。这会更新系统所有已安装的软件包到最新版本,修复已知的安全漏洞。更新完成后,如果需要,重启系统 (reboot)。
4.2 配置静态IP(可选但重要)
DHCP获取的IP可能会变,对于服务器来说,一个固定的IP地址更方便管理。我们来配置静态IP。
- 找到网卡配置文件。CentOS 7的网络配置文件在
/etc/sysconfig/network-scripts/目录下,文件名类似ifcfg-ens33(你的网卡名可能不同,可以用ip addr命令查看)。 - 编辑这个文件:
vi /etc/sysconfig/network-scripts/ifcfg-ens33 - 修改或确保以下关键参数:
BOOTPROTO=static # 将dhcp改为static ONBOOT=yes # 确保是yes,开机自启 # 添加以下静态IP配置(根据你的实际网络环境修改) IPADDR=192.168.xx.xx # 你想要的静态IP NETMASK=255.255.255.0 # 子网掩码 GATEWAY=192.168.xx.1 # 网关地址,通常是路由器IP DNS1=114.114.114.114 # 首选DNS DNS2=8.8.8.8 # 备用DNS - 保存退出(按
Esc,然后输入:wq回车)。 - 重启网络服务:
systemctl restart network - 用
ip addr和ping www.baidu.com测试网络是否通畅。
4.3 创建普通用户并配置sudo
一直用root操作很危险。我们创建一个普通用户,并赋予其sudo权限。
- 创建用户:
adduser yourusername(将yourusername替换为你想要的用户名) - 为用户设置密码:
passwd yourusername - 将该用户加入
wheel组(在CentOS中,wheel组默认拥有sudo权限):usermod -aG wheel yourusername - 测试:切换到新用户
su - yourusername,然后尝试执行一个需要权限的命令,例如sudo ls /root。系统会提示你输入该用户的密码(不是root密码),输入正确后命令应该成功执行。
至此,一个基础、干净、安全的CentOS 7.9系统就安装并配置完成了。
5. 必备后续操作与软件安装指南
系统装好了,但离“好用”还差几步。下面这些操作能极大提升你的使用体验和效率。
5.1 更换国内Yum源(大幅提升软件安装速度)
默认的CentOS官方源在国内访问很慢。将其替换为阿里云、清华大学的镜像源,速度会有质的飞跃。
- 备份原repo文件:
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup - 下载阿里云的repo文件(以阿里云为例):
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo - 清理并重建缓存:
yum clean all yum makecache - 测试:
yum install -y wget,感受飞一般的速度。
5.2 安装常用工具集
一个Minimal系统非常精简,我们需要安装一些必备工具。
- 网络诊断工具:
yum install -y net-tools(包含ifconfig,netstat等老牌命令,虽然ip命令是趋势,但很多脚本和习惯还在用它们)。 - 进程查看增强:
yum install -y htop(比top更直观、更强大的进程监控器)。 - 文件传输:
yum install -y lrzsz(可以在SecureCRT、Xshell等终端里直接用rz/sz命令上传下载文件,非常方便)。 - 压缩解压:
yum install -y zip unzip bzip2(支持更多压缩格式)。 - 文本编辑:系统自带vi,但可以安装
vim-enhanced来获得功能更全的Vim:yum install -y vim-enhanced。
5.3 配置SSH服务(用于远程连接)
Minimal安装后,SSH服务(sshd)默认是安装并启动的。我们需要进行一些安全加固。
- 编辑SSH配置文件:
vi /etc/ssh/sshd_config - 找到并修改以下几行(去掉行首的
#注释,并修改值):Port 22 # 可以考虑改为一个非标准端口,比如 2222,增加安全性 PermitRootLogin no # 禁止root用户直接SSH登录(非常重要!) PasswordAuthentication yes # 允许密码登录。如果配置了密钥,可以改为 no 更安全 - 重启SSH服务:
systemctl restart sshd - 设置防火墙放行SSH端口:
- 如果你改了端口(如2222):
firewall-cmd --permanent --add-port=2222/tcp - 如果没改(仍是22):
firewall-cmd --permanent --add-service=ssh - 重载防火墙配置:
firewall-cmd --reload
- 如果你改了端口(如2222):
现在,你就可以使用PuTTY、Xshell、或者macOS/Linux的终端,通过ssh yourusername@你的IP地址 -p 端口号来远程连接和管理这台CentOS服务器了。
6. 常见问题与故障排查实录
即使按照教程,你也可能会遇到一些问题。这里记录了几个最常见的问题和解决方法。
6.1 安装后无法上网
- 现象:
ping www.baidu.com提示“未知的名称或服务”或“网络不可达”。 - 排查步骤:
ip addr查看网卡是否获取到IP地址(inet那一行)。如果没有,说明网卡没启动。- 检查网卡配置文件
/etc/sysconfig/network-scripts/ifcfg-ens33中的ONBOOT是否等于yes。 - 尝试重启网络服务:
systemctl restart network。 - 在VMware中,检查虚拟机网络适配器是否已连接(“虚拟机” -> “可移动设备” -> “网络适配器” -> “连接”)。
- 检查宿主机防火墙或安全软件是否阻止了虚拟机的网络通信。
6.2 忘记root密码
- 解决方法(单用户模式重置):
- 重启虚拟机,在GRUB启动菜单(出现CentOS图标时)快速按下键盘的
e键进入编辑模式。 - 找到以
linux16开头的那一行,将光标移动到最后,先输入一个空格,然后添加rd.break。 - 按下
Ctrl+X启动。系统会进入一个紧急救援模式的shell。 - 依次输入以下命令:
mount -o remount,rw /sysroot # 重新挂载根目录为可写 chroot /sysroot # 切换根目录 passwd root # 修改root密码 touch /.autorelabel # 创建文件,让SELinux重新标记文件上下文 exit # 退出chroot reboot # 重启 - 重启后即可用新密码登录。
- 重启虚拟机,在GRUB启动菜单(出现CentOS图标时)快速按下键盘的
6.3 Yum安装软件时提示“没有可用软件包”
- 现象:
yum install htop提示No package htop available. - 原因:可能缺少EPEL(Extra Packages for Enterprise Linux)扩展仓库。很多常用软件不在默认的Base源里。
- 解决:安装EPEL源:
yum install -y epel-release。安装完成后,再尝试安装软件。
6.4 命令行界面中文显示乱码
- 现象:在Minimal命令行下,如果遇到中文文件名或输出,显示为方块或乱码。
- 原因:系统语言环境未正确设置为支持UTF-8编码的中文。
- 解决:
- 安装中文语言包:
yum install -y langpacks-zh_CN - 修改语言环境配置:
localectl set-locale LANG=zh_CN.UTF-8 - 重新登录终端,或者执行
source /etc/locale.conf使当前会话生效。
- 安装中文语言包:
安装CentOS 7.9,远不止是点击“下一步”直到完成。从镜像选择、分区规划、网络配置,到安装后的安全加固、源更换和工具安装,每一步都蕴含着对Linux系统理解的深度。对于新手,我建议先严格按照教程走通一遍,建立一个可用的系统。然后,再创建一个新的虚拟机,尝试不同的分区方案、尝试用命令行模式安装、尝试配置静态IP和防火墙规则。反复练习和试错,是理解Linux最好的方式。这个看似“古老”的系统,其安装过程中蕴含的磁盘、网络、软件包管理概念,在所有Linux发行版中都是相通的。掌握了它,你再面对其他Linux系统时,就会有一种“似曾相识”的从容。
