
CentOS 7 的安装是很多 Linux 学习者的第一道门槛。我这些年帮同事装机、搭测试环境前后在虚拟机和物理机上折腾过几十次 CentOS 7从纯命令行的 Minimal 版到带 GNOME 桌面的完整版都装过闭着眼睛都能把安装流程背出来。这篇文章就把两条安装路线拆开讲无桌面版怎么一路敲命令装完有桌面版怎么在图形环境里顺利落地顺便把安装时容易卡住、装完容易翻车的环节都标出来。准备入手 Linux 的新手或者需要在测试环境里快速装一台 CentOS 7 做实验的朋友照着这篇操作基本不会迷路。1. 动手之前版本选型与整体思路1.1 无桌面版和桌面版到底差在哪先纠正一个常见的误解无桌面版和有桌面版并不是两套完全不同的系统。它们用的是同一个内核、同一套发行版区别只在于安装时选取的软件包组不同。无桌面版脱胎于 CentOS 7 的 Minimal最小化安装选项整个系统只包含最基础的命令行工具连 ifconfig、vim 这些常用命令都默认没有装完一看就是一个黑乎乎的 root 终端。有桌面版一般指在安装时选择 GNOME Desktop 或 KDE 这类图形界面组装完后进入的是一个带登录界面的完整桌面环境。选择哪条路线取决于你的目标和机器配置。如果想学 Linux 运维、习惯在服务器上工作那 Minimal 版是绕不开的毕竟生产环境里大多数 Linux 服务器都没有桌面远程服务器甚至根本没有显示器给你看图形界面命令行是唯一的选择。如果是从 Windows 转过来、想先感受一下 Linux 生态或者需要在这台机器上跑图形化软件那桌面版能让你过渡得舒服很多。我个人建议是学习路径先从 Minimal 版开始把命令和系统管理的基本功打扎实再去碰桌面版这样哪怕遇到图形界面崩了你也知道底下的命令行系统是如何运作的。1.2 三种ISO镜像的区别与选择CentOS 7 官方提供过三类镜像文件清楚它们的区别下载时就不容易拿错。Minimal ISO 体积最小大概 900MB 左右里面只够安装一个最基础的命令行系统DVD ISO 是标准安装盘约 4GB默认包含桌面环境以及多数常用软件包Everything ISO 体积最大接近 8GB把所有软件包都塞进去了适合在离线环境里做全量软件源使用。我把三类镜像的典型参数整理成一张表下载前对照着选就行镜像类型大小内容适用场景Minimal ISO约900MB最小化系统组件服务器、纯命令学习DVD ISO约4.5GB标准软件包桌面桌面安装、离线装常用软件Everything ISO约8.5GB全部软件包离线软件仓库、全量包安装对于绝大多数人来说做虚拟机实验或者物理机安装用 DVD ISO 最稳妥。它既能装无桌面版也能装桌面版软件包都在本地离线从光盘装软件也方便。Minimal ISO 虽然小巧但安装时只能走最简路线装完再用 yum 拉取任何软件都依赖网络一旦网络环境不好体验就很难受。Everything ISO 除非你明确知道自己要在内网搭建一个 CentOS 7 软件仓库否则我不建议新手碰下载慢、安装也慢。1.3 虚拟机、物理机和网络模式怎么定新手学习 CentOS 7我非常推荐先在虚拟机里练手。VMware Workstation 和 VirtualBox 都可以我自己常用 VMware它的快照功能特别适合做安装实验装错了、配置坏了回滚一下就能重来不会把宿主机折腾得乱七八糟。物理机安装则需要准备 U 盘启动盘还要进 BIOS 调整启动顺序对初次接触系统安装的人来说复杂度高出一个量级建议在虚拟机熟练之后再说。虚拟机网络模式也是新手最容易忽略的一环。VMware 默认的 NAT 模式让虚拟机通过宿主机共享上网外部机器访问不到它对学习来说足够安全也足够方便桥接模式则让虚拟机直接出现在局域网里拿到一个和宿主机同一网段的 IP便于局域网内互相访问和后续做服务练习。首次安装建议先用 NAT把系统装明白之后再考虑桥接不然网络配置出了问题还得同时排查宿主机和路由器的各种因素排查成本一下子就上去了。2. 安装无桌面版从启动盘到纯命令行系统2.1 VMware新建虚拟机这套硬件配置可以直接抄在 VMware Workstation 里新建虚拟机时选择自定义模式兼容性保持默认客户机操作系统选 Linux子版本选 CentOS 7 64 位。处理器我给 2 核内存 2GB硬盘 20GB网卡 NATCD/DVD 指向刚才下载好的 ISO 镜像。Minimal 版实际对资源的要求很低1GB 内存也能跑但 2GB 能让你在启动后用 yum 安装软件、跑几个测试服务时不至于卡到怀疑人生。磁盘这里有一个值得注意的细节尽量选 SATA 或 LSI Logic SAS而不是 NVMe。CentOS 7 的内核和 initramfs 对 NVMe 驱动的支持不如后来的 8/9 版本完善某些 7.9 版本在使用 NVMe 磁盘的虚拟机里启动时会直接报 Kernel panic提示无法挂载根文件系统。虽然通过改内核参数也能救但没必要在起步阶段给自己挖坑。2.2 安装界面哪些选项值得慢慢看虚拟机从 ISO 启动后会先进入一个引导菜单有三项Install CentOS 7、Test this media install CentOS 7 和 Troubleshooting。第一个就是直接安装第二个会先对镜像做完整性校验实际过程很慢我们这种从官网或正规镜像站下载的镜像一般不会有损坏直接选 Install CentOS 7 跳过校验就行。进入安装图形界面后第一个要选的是语言。我个人的建议是用英文。理由是服务器日志、命令行输出和各类软件文档大部分都以英文为主提前适应能省去很多后续阅读报错信息时对照翻译的麻烦。当然如果你英文看着费劲选中文简体也没什么问题安装界面和系统菜单都会变成中文底层行为没有差别。语言选完后依次设置时间时区为 Asia/Shanghai键盘布局选 English (US) 即可。2.3 Software SelectionMinimal Install 那一步别选错安装主界面有多个入口其中 Software Selection软件选择决定了你最终得到的是有桌面还是无桌面。点开之后左侧一排是各种预定义的环境组Minimal Install、Infrastructure Server、File and Print Server、Basic Web Server、Virtualization Host以及带桌面的 GNOME Desktop、KDE Plasma Workspaces 等。此时无桌面版要选的是最顶上的 Minimal Install描述写的是 Basic functionality也就是最基本的功能。选好之后右侧一般没有额外的可选软件包。如果你用的是 Everything 镜像左侧选项会更多但对安装系统本身没有影响。有一点要特别提醒Minimal Install 不会安装编译工具、不会安装 ifconfig、不会安装 vim这是正常的不是安装出了问题等装完系统后自己用 yum 补齐就行。2.4 磁盘分区新手先用自动进阶再学手动安装主界面的 Installation Destination安装目标位置点进去可以看到磁盘选择界面。第一次安装的人直接在磁盘上勾选虚拟机那块硬盘然后保留系统默认的配置点 Done 回到主界面即可。CentOS 默认会使用 LVM 来管理磁盘自动划分出大概 497MB 的 /boot、一定大小的 swap 和剩余的 / 根分区对学习和日常测试完全够用。如果你想把分区这个地方弄明白也可以选 Manual partitioning 手动分区。常见的手动方案是/boot 给 1GB不用 LVM 都行swap 大小可以按内存来定内存小于 2GB 时建议给内存的 2 倍内存大于 2GB 时可以给到和内存相同大小最多不用超过 8GB剩下的空间全部给 /。根分区不要省因为 / 包含 /usr、/var、/home 这些目录软件包、日志、用户数据都占它。注意手动分区时你切出来的 /boot 挂载点必须是 /boot格式建议 XFS否则会提示挂载点无效。2.5 网络、root密码和新建用户这部分是安装过程中最容易出问题的三个点认真看。第一Network Host Name 页面里网卡开关默认是 OFF 的也就是安装完系统之后网络默认不通。你要做的是在页面里把开关拨到 ON让 DHCP 自动获取地址同时在这个页面最下面给主机设置一个 hostname比如 centos-min。这一步不做后面进入系统再去改 /etc/sysconfig/network-scripts/ifcfg-*虽然也有办法解决但属于给自己额外找活。第二设置 root 密码。CentOS 7 安装器对 root 密码有基本强度要求太短或者太简单的密码会被界面拒绝或给出红色警告。很多新手嫌麻烦就干脆勾选“锁定 root 账户”这个选项这是非常危险的操作。一旦锁了 root你就只能通过普通用户 sudo 提权而 Minimal 版创建普通用户时你不一定记得勾选 sudo 权限结果就是装完系统连 sudo 都执行不了陷入尴尬局面。正确做法是给 root 设一个强度合格的密码普通用户后面再说。第三创建用户。安装界面下方的 Create User 可以创建普通用户建议顺手创建。在窗口里把 Make this user administrator将该用户设为管理员勾上这样它会自动加入 wheel 组后续就能正常使用 sudo。如果你做的是纯测试环境也可以不勾直接把普通用户当普通账号用。以上配置完成后点 Begin Installation系统就开始安装了。安装过程会显示进度和说明等它跑完点 Reboot 重启拔掉安装介质。2.6 第一次登录后的收尾重启后你会看到一个命令行登录界面用 root 和刚才设置的密码登录。登录成功以后先验证网络是否通畅执行 ip addr 查看网卡 IP执行 ping -c 4 baidu.com 看看外网是否能通。ping 的时候注意域名解析需要 DNS如果 IP 能通但域名不通多半是 DNS 没配好可以查看 /etc/resolv.conf 确认 nameserver。然后补齐基础工具Minimal 版里连 ifconfig、vim、wget 都没有直接执行yum install -y net-tools vim wget装完就可以用 ifconfig 查看网卡信息了。顺手再设置一下主机名hostnamectl set-hostname centos-min再用 yum 更新一下系统。如果安装时的镜像源出了问题参考后面第 5 章的仓库修复方法。到这里一台干干净净的 CentOS 7 无桌面系统就树立好了接下来就是熟悉命令的阶段。3. 安装有桌面版GNOME Desktop 完整落地3.1 硬件配置要跟着“升级”和无桌面版相比有桌面版的资源消耗明显高出一截。启动后的 GNOME 桌面、窗口管理器加上各种系统守护进程内存随随便便占掉 1GB 以上所以虚拟机内存建议 2GB 起步有条件给 4GB 会更流畅。磁盘也是同样的道理桌面版安装文件更多GNOME 桌面加自带办公套件、图形软件装完通常要占 6GB 以上给 20GB 是底线40GB 更从容。安装流程与 Minimal 版基本一致从启动、语言、时区到分区操作完全一样唯一重点是 Software Selection 这一步。换句话说同一种 ISO在同一个安装界面里选不同的选项就决定了你走向哪条路。这也是我想强调的思路先理解安装器各个选项的作用再动手点鼠标。3.2 Software Selection 里的桌面选项怎么选在 Software Selection 页面左侧选择 GNOME Desktop右侧会出现一组可勾选的附加软件包组比如 Development Tools、Office Suite and Productivity 等。如果不是特别清楚自己的需求我建议把 Development Tools 也勾上这样系统里会带好 gcc、make 等编译工具以后学 C 语言开发、编译安装软件都不用额外再装。如果你喜欢 KDE也可以选 KDE Plasma Workspaces两种桌面我都用过GNOME 更简洁KDE 更接近 Windows 的操作习惯初次接触图形界面的朋友可以按自己的偏好来。还有一个选项是 Server with GUI它会在 GNOME 桌面的基础上带上更多服务器相关的软件比如图形化系统管理工具适合希望边用图形界面边学服务管理的场景。总之桌面版最常见的选择就是 GNOME Desktop 加 Development Tools别多选避免装一堆用不上的东西把系统拖慢。3.3 首次进入桌面前的初始化安装过程与 Minimal 版没有区别只不过因为软件包更多安装时间会更长。重启之后CentOS 7 的桌面版会先进入一个 Initial Setup初始化设置界面第一个是 License Information需要你滚动到底部勾选 I accept the license agreement然后点 Done。这个步骤不做系统会一直停在授权确认界面进不了桌面。接着是用户创建流程。如果安装时你已经创建过用户这里会让你设置该用户的密码如果安装时跳过了用户创建这里会强制让你新建一个普通用户。老老实实创建并勾选管理员权限。走完这些系统才会进入 GNOME 登录界面输入用户名和密码就能看到桌面了。首次进入 GNOME 会加载一些默认配置稍等片刻即可不需要手动干预。3.4 桌面版装完后建议做的三件事第一安装 open-vm-tools-desktop。如果用的是 VMware装完桌面版后鼠标移动不流畅、分辨率固定在一个很小的值这都是缺了 VMware 工具驱动的表现。Minimal 版可以只装 open-vm-tools桌面版最好装带桌面支持的那一个yum install -y open-vm-tools-desktop装完重启分辨率就会自适应虚拟机窗口鼠标也和宿主机之间自由切换了。第二把默认启动目标确认一下。CentOS 7 里 systemd 的 target运行级别决定了系统启动后进入命令行还是图形界面。桌面版默认是 graphical.target如果你以后想让这台机器暂时以命令行方式启动可以用systemctl set-default multi-user.target恢复桌面则执行systemctl set-default graphical.target这个命令不要乱执行记住怎么切回来就行。第三中文输入法默认是不完整的。如果你需要用中文输入在 GNOME 设置里添加汉语输入源之前先装好拼音引擎yum install -y ibus-libpinyin装完重启后在设置-区域和语言-输入源里添加“汉语(拼音)”再用 Super 键或 CtrlSpace 切换输入法即可。这个细节很多教程不提但实际使用中几乎必踩。4. Minimal与GNOME同一套系统的两种形态4.1 资源占用与使用场景对比很多人在装完两个版本后最关心的是到底该长期保留哪个。我把两种安装方式拆开对比放在表格里方便直接看对比项Minimal 无桌面版GNOME 桌面版安装包大小1GB4GB以上装完磁盘占用1.5~2GB6~8GB空闲内存占用300~500MB1.5GB以上开机启动的服务数量少包含桌面相关服务适合场景服务器、命令环境、容器节点桌面使用、图形软件、入门体验出现问题时排查难度低日志清晰中桌面组件也会报错这张表不是绝对的但能反映一个事实如果你的目标是拿 CentOS 7 当作服务器环境跑应用那么 Minimal 版尽量少装 GUI既省资源也减少了攻击面和故障面。如果只是在自己电脑上学习、体验桌面版会让你舒服很多两者并不冲突。4.2 Minimal 想补桌面一条命令的事装完了 Minimal 版觉得没有图形界面不习惯不用重装系统在命令行就能把桌面环境补上。先确认网络没问题然后执行yum groupinstall GNOME Desktop这个命令会拉取并安装 GNOME 桌面相关的几百个软件包根据网速大概要等 10 到 30 分钟。装完后执行systemctl set-default graphical.target reboot重启后就能看到一个标准的 GNOME 登录界面了。要注意的是如果之前没有创建普通用户补装桌面后第一次登录建议先以 root 身份登进桌面把用户创建好再退出避免在图形界面下用 root 长期操作养成坏习惯。4.3 桌面版想退回命令行切换 target 就够了反过来已经装了桌面版的人不需要卸载任何桌面组件只要把默认启动目标切回 multi-user.target以后开机就不会进入图形界面直接停在命令行。桌面相关的服务不会自动启动因此内存占用会明显降下来。这样做的好处是随时能切回去不需要重新安装系统。不过说实话如果机器配置够用我个人建议不需要刻意把桌面去掉。GNOME 桌面的存在不影响你练习命令行你完全可以开着终端敲命令反而省得以后需要某个图形工具时又去折腾。真正要清理桌面环境时yum groupremove GNOME Desktop 也可以做但这样做容易把一些通用依赖误删没有经验的人我不建议尝试。5. 安装与首次配置中的问题排查实录5.1 开机后没有 IP 地址ONBOOT 的锅装完 Minimal 版登录后发现 ip addr 只有 lo 回环地址eth0 或者 ens33 没有 IP这是新手遇到最多的一个问题。原因基本都在安装时没有把网络开关打开导致网卡配置文件里的 ONBOOT 是 no。直接查看 /etc/sysconfig/network-scripts/ifcfg-ens33把最后一行改成 ONBOOTyes然后执行 systemctl restart network。如果记不清网卡名可以用 ls /etc/sysconfig/network-scripts/ifcfg-* 查看。另一种情况是安装时开了网络但装完发现 IP 还是获取不到。先在虚拟机的网络设置里确认网卡处于 NAT 或桥接模式再执行 ip link show 看网卡状态是否 UP是 DOWN 的话执行 ip link set ens33 up然后再重启 network 服务。如果还不行可以用 nmtui 进入字符图形配置界面简单勾选一下自动获取这是排查网络问题最直观的方式。5.2 yum update 报 404仓库源失效的问题CentOS 7 官方生命周期结束之后默认配置的 mirrorlist 地址已经失效新装系统后执行 yum update 很容易报 404 或者仓库源加载失败。这个问题不是你的操作失误是源确实被移动到了 vault 存储库。解决办法是把 /etc/yum.repos.d 下的仓库文件里的 mirrorlist 相关配置改成 vault 或国内镜像地址。完整的改法是备份原有 repo 文件然后编辑 /etc/yum.repos.d/CentOS-Base.repo把每个仓库的 baseurl 指向有效的镜像。以阿里云镜像为例可以写成这样的配置[base] nameCentOS-$releasever - Base baseurlhttp://mirrors.aliyun.com/centos-vault/7.9.2009/os/$basearch/ gpgcheck1 gpgkeyfile:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 [updates] nameCentOS-$releasever - Updates baseurlhttp://mirrors.aliyun.com/centos-vault/7.9.2009/updates/$basearch/ gpgcheck1 gpgkeyfile:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 [extras] nameCentOS-$releasever - Extras baseurlhttp://mirrors.aliyun.com/centos-vault/7.9.2009/extras/$basearch/ gpgcheck1 gpgkeyfile:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7保存之后执行 yum clean all yum makecache再测试 yum install -y net-tools 就能正常工作了。如果镜像站本身访问有问题也可以把 baseurl 换成 http://vault.centos.org/7.9.2009/os/$basearch/ 这种官方存档地址只是速度通常不如国内镜像。5.3 忘记了 root 密码rd.break 救援方式安装完系统几天不用把 root 密码忘了这种事我见过不少。如果你能接触物理机或虚拟机控制台重启进入引导菜单时在默认的 CentOS 7 内核条目上按 e会进入 grub 编辑界面找到以 linux16 或 linux 开头的那一行在行尾加一个 rd.break然后按 CtrlX 启动。进入一个紧急 shell 后依次执行如下操作重置密码mount -o remount,rw /sysroot chroot /sysroot passwd按提示输入两遍新密码然后执行 touch /.autorelabel 让系统在下次启动时重新设置文件权限标签最后输入 exit 并重启。重启后就能用新密码登录了。这个方法看起来很底层但只是标准的单用户模式修复属于系统管理员迟早会用到的基本功建议在虚拟机里提前练熟别真到了需要的时候才手忙脚乱。5.4 虚拟机黑屏或启动时 Kernel panic如果安装时选择 Install CentOS 7 或者装完重启的一瞬间屏幕黑掉没反应多半是显卡驱动或者系统内核跟虚拟硬件不兼容。一个比较通用的办法是在 grub 菜单界面按 e在内核参数那一行末尾追加 nomodeset然后按 CtrlX 启动。这个参数会让系统不加载显卡的内核模式设置很多黑屏问题都能用它绕过。装完系统进入桌面后如果分辨率不正常可以装上对应对 VMWare Tools 再手动调整。启动时报 Kernel panic 并提示 VFS: Unable to mount root fs则是另外一个原因磁盘控制器类型在虚拟机里被设成了 NVMe而 CentOS 7 的 initramfs 里没有对应的驱动模块。解决方法是编辑虚拟机的磁盘设置把虚拟设备类型从 NVMe 改成 SATA 或 LSI Logic SAS重新启动即可。这也是为什么我在前面 2.1 节里专门提醒磁盘类型要在新建虚拟机时就选好。5.5 排查问题的通用思路先日志后猜测系统安装和启动遇到问题时最忌讳的就是凭感觉乱敲命令。CentOS 7 里很多问题的答案都写在日志里启动问题看 systemctl status 和 journalctl -b网络问题看 systemctl status network 和 ip addr服务问题看 /var/log/messages。发现异常后再针对性搜索相关报错信息比盲目重启和重装要高效得多。把这种排查习惯练起来装系统这件事才算真正过关而不只是会点下一步。我个人实际装了几十次 CentOS 7 之后的体会是安装本身并不难难点在于知道每一步在做什么、出了问题能从哪里下手。第一次操作的时候建议把每个界面都截图或者认真看一眼装完以后创建几个快照点比如刚装完、配置好网络、配置好 yum 源各打一个快照后续学习中无论把系统折腾成什么样都能快速回到一个干净可用的状态。这个习惯我觉得比你记下我上面所有命令都更值钱毕竟系统是拿来用的装上只是开始。