一、概述
CentOS 最小化安装是服务器场景的首选部署方式,仅搭载系统核心组件,无图形化界面、冗余插件和预装软件,具备占用资源少、安全漏洞少、启动速度快、自定义程度高四大优势,适用于生产服务器、容器宿主机、运维测试环境等场景。
本文以CentOS 7(长期稳定版)为核心,覆盖安装前准备、分步安装、系统初始化、安全优化、常见问题排查全流程,标注关键注意事项,规避安装和初始化风险。
二、安装前准备工作
2.1 镜像下载(官方/国内镜像源)
优先选择最小化专属镜像,避免使用完整版镜像误装组件,推荐国内镜像站提升下载速度:
- CentOS 7 最小化镜像:CentOS-7-x86_64.iso(最终稳定版,长期维护)
- 国内镜像站:阿里云镜像、清华大学开源镜像、华为云镜像
注意:严禁使用修改版、精简过度的第三方镜像,避免缺失驱动、依赖导致系统崩溃或无法启动
2.2 安装介质制作
- 虚拟机部署(VMware/Proxmox/KVM):直接挂载ISO镜像,分配硬件配置(推荐:CPU≥1核、内存≥1GB、硬盘≥20GB),这里我们用此方法安装。
2.3 启动项配置
开机按主板快捷键(Del/F2/F12/Esc,依主板型号而定)进入BIOS/UEFI,设置U盘/镜像为第一启动项,关闭安全启动(Secure Boot),防止安装拦截。
三、分步安装操作(CentOS 7)
3.1 启动引导与语言选择
-
启动后选择Install CentOS 7,回车进入安装界面
-
语言优先选择English (United States),统一运维环境,减少中文乱码问题;如需中文可选择简体中文,点击Continue进入配置页
3.2 核心配置项(关键步骤,切勿跳过)
3.2.1 时区与时间配置
点击DATE & TIME,区域选择Asia,城市选择Shanghai,开启网络时间同步(NTP),确保系统时间精准,避免日志、服务异常。
3.2.2 软件选择(最小化核心)
点击SOFTWARE SELECTION,Base Environment 严格选择Minimal Install,不勾选任何附加组件、桌面环境、开发工具,保持纯最小化环境,点击Done保存。
3.2.3 磁盘分区配置
点击INSTALLATION DESTINATION,选择目标硬盘,建议选择I will configure partitioning手动分区(新手可自动分区,稳定性更强),推荐分区方案(XFS文件系统):
| 挂载点 | 分区大小 | 分区类型 | 用途说明 |
|---|---|---|---|
| /boot | 1GB | 标准分区 | 存放系统启动文件,必分分区 |
| swap | 内存1~2倍(内存≥8GB设8GB即可) | 交换分区 | 虚拟内存,缓解物理内存不足 |
| / | 剩余所有空间 | LVM/标准分区 | 根分区,存放系统和所有数据 |
| 分区完成后点击Done,选择Accept Changes接受配置。 |
3.2.4 网络与主机名配置
- 点击NETWORK & HOSTNAME,开启网卡开
- 关(将OFF切换为ON),确保安装过程联网
- 设置主机名(如centos-server、prod-minimal-01),规范命名便于管理
- 静态IP配置(生产环境必设):点击Configure,选择IPv4,设置为Manual,添加IP地址、子网掩码、网关、DNS(推荐223.5.5.5、119.29.29.29),保存配置
3.2.5 剩余配置项
KDUMP(系统崩溃转储):服务器内存≥2GB可关闭,节省资源;Security Policy默认即可,无需额外修改。
3.3 开始安装与账户设置
-
确认所有配置无误,点击Begin Installation启动安装
-
安装过程中设置ROOT密码:密码复杂度需达标(大小写+数字+特殊字符),严禁使用弱密码,牢记密码
-
可选创建普通用户:生产环境建议创建普通账号,通过sudo提权,禁止长期使用root直接操作
-
等待安装进度完成,点击Reboot重启系统
重启后务必拔出U盘安装介质,避免重复进入安装界面
四、系统初始化优化(最小化安装后必做)
最小化安装后系统仅含核心命令,需完成基础配置、依赖安装、安全优化,保障系统稳定可用。
4.1 登录验证
重启后进入命令行界面,输入root账号和设置的密码登录,出现命令提示符即安装成功。
4.2 网络配置修复(安装未配置时)
最小化安装没有ifconfig命令,需要先安装net-tools包:
-
查看网卡名称:ip addr
-
编辑网卡配置文件:vi /etc/sysconfig/network-scripts/ifcfg-网卡名(CentOS 7)
-
修改核心参数:ONBOOT=yes(开机自启网卡),BOOTPROTO=static(静态IP)或dhcp(动态IP)
-
重启网络服务:systemctl restart network(CentOS 7);
4.3 系统更新与基础工具安装
4.3.1 更新补丁
# 更新系统补丁
yum update -y
4.3.2 安装最小化安装常用命令
[root@centos ~]# yum install vim iotop bc gcc gcc-c++ glibc glibc-devel pcre pcre-devel openssl openssl-devel zip unzip zlib-devel net-tools lrzsz tree ntpdate telnet lsof tcpdump wget libevent libevent-devel bc systemd-devel bash-completion traceroute -y
4.3.3 替换yum源为国内的阿里源
[root@centos ~]# cd /etc/yum.repos.d/
[root@centos yum.repos.d]# ll
total 32
-rw-r--r--. 1 root root 1664 Nov 23 2018 CentOS-Base.repo
-rw-r--r--. 1 root root 1309 Nov 23 2018 CentOS-CR.repo
-rw-r--r--. 1 root root 649 Nov 23 2018 CentOS-Debuginfo.repo
-rw-r--r--. 1 root root 314 Nov 23 2018 CentOS-fasttrack.repo
-rw-r--r--. 1 root root 630 Nov 23 2018 CentOS-Media.repo
-rw-r--r--. 1 root root 1331 Nov 23 2018 CentOS-Sources.repo
-rw-r--r--. 1 root root 5701 Nov 23 2018 CentOS-Vault.repo
#备份原有的yum源
[root@centos yum.repos.d]# mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
#下载新的CentOS-Base.repo 到/etc/yum.repos.d/
[root@centos yum.repos.d]# wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
--2019-08-27 06:00:49-- http://mirrors.aliyun.com/repo/Centos-7.repo
Resolving mirrors.aliyun.com (mirrors.aliyun.com)... 111.126.124.243, 111.126.124.245, 111.126.124.218, ...
Connecting to mirrors.aliyun.com (mirrors.aliyun.com)|111.126.124.243|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 2523 (2.5K) [application/octet-stream]
Saving to: ‘/etc/yum.repos.d/CentOS-Base.repo’
100%[=================================================================================================================================>] 2,523 --.-K/s in 0s
2019-08-27 06:00:50 (101 MB/s) - ‘/etc/yum.repos.d/CentOS-Base.repo’ saved [2523/2523]
#运行yum makecache生成缓存
[root@centos yum.repos.d]# yum makecache
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: mirrors.aliyun.com
* extras: mirrors.aliyun.com
* updates: mirrors.aliyun.com
base | 3.6 kB 00:00:00
extras | 3.4 kB 00:00:00
updates | 3.4 kB 00:00:00
(1/8): extras/7/x86_64/filelists_db | 249 kB 00:00:00
(2/8): updates/7/x86_64/filelists_db | 5.2 MB 00:00:00
(3/8): updates/7/x86_64/prestodelta | 945 kB 00:00:00
(4/8): updates/7/x86_64/other_db | 764 kB 00:00:00
(5/8): base/7/x86_64/filelists_db | 7.1 MB 00:00:06
extras/7/x86_64/other_db FAILED
http://mirrors.cloud.aliyuncs.com/centos/7/extras/x86_64/repodata/9939abfee3e6d1acd6ed15d360098d62aa0e3a9ab6623ba26c7fcfd45d2682a1-other.sqlite.bz2: [Errno 14] curl#6 - "Could not resolve host: mirrors.cloud.aliyuncs.com; Unknown error"
Trying other mirror.
(6/8): extras/7/x86_64/other_db | 131 kB 00:00:00
base/7/x86_64/other_db FAILED
http://mirrors.aliyuncs.com/centos/7/os/x86_64/repodata/fbebcd3de05e22bd1cd526e594f235968401471d4a9aef3c1ad356b6d1965365-other.sqlite.bz2: [Errno 14] curl#7 - "Failed connect to mirrors.aliyuncs.com:80; Connection refused"
Trying other mirror.
extras/7/x86_64/prestodelta FAILED
http://mirrors.aliyuncs.com/centos/7/extras/x86_64/repodata/565980b5518bd24089690cb4fded5955e5dc78a4cd3565e19384a9d6f3053892-prestodelta.xml.gz: [Errno 14] curl#7 - "Failed connect to mirrors.aliyuncs.com:80; Connection refused"
Trying other mirror.
(7/8): base/7/x86_64/other_db | 2.6 MB 00:00:00
(8/8): extras/7/x86_64/prestodelta | 73 kB 00:00:00
Metadata Cache Created
4.4 安全与基础优化
4.4.1 SELinux配置
# 临时关闭SELinux
setenforce 0
# 永久关闭SELinux(生产环境按需开启,新手建议先关闭)
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
[root@centos ~]# vim /etc/sysconfig/selinux
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=enforcing #此项要关闭,设置为disabled
# SELINUXTYPE= can take one of three values:
# targeted - Targeted processes are protected,
# minimum - Modification of targeted policy. Only selected processes are protected.
# mls - Multi Level Security protection.
SELINUXTYPE=targeted
验证selinux是否已经关闭:
[root@centos ~]# getenforce
Enforcing
[root@centos ~]# reboot #重启后生效
Connection closed by foreign host.
Disconnected from remote host(centos) at 21:52:52.
Type `help' to learn how to use Xshell prompt.
[c:\~]$
Connecting to 192.168.0.11:22...
Connection established.
To escape to local shell, press 'Ctrl+Alt+]'.
WARNING! The remote SSH server rejected X11 forwarding request.
Last login: Tue Aug 27 05:40:57 2019 from 192.168.0.1
[root@centos ~]# getenforce
Disabled
4.4.2 防火墙配置
# 查看防火墙状态
systemctl status firewalld
# 测试环境可临时关闭并禁用开机自启(生产环境仅开放必要端口)
systemctl stop firewalld
systemctl disable firewalld
[root@centos ~]# systemctl stop firewall
Failed to stop firewall.service: Unit firewall.service not loaded.
[root@centos ~]# yum install firewall
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: mirrors.huaweicloud.com
* extras: mirrors.163.com
* updates: mirrors.huaweicloud.com
No package firewall available.
Error: Nothing to do
[root@centos ~]# systemctl stop firewalld
[root@centos ~]# systemctl disable firewalld
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
4.4.3 时间同步校准
# 安装时间同步工具
yum install -y chrony
# 开机自启并启动服务
systemctl enable --now chronyd
# 校验同步状态
chronyc sources
修改完以后重启电脑,重启完以后此机器的基本配置文件已经完成;
以上完成了最小化安装centos的基本初始环境的设置,可以保存快照上生产环境了。
五、关键注意事项与风险规避
-
分区风险:自动分区需确认硬盘无重要数据,手动分区避免误删分区表;服务器硬盘建议采用LVM分区,便于后续扩容
-
网络风险:生产环境必须配置静态IP,禁止使用动态IP,防止IP变动导致服务不可用
-
账户风险:root账号密码严格保密,生产环境禁用root远程SSH登录,创建普通用户并配置sudo权限
-
软件风险:最小化环境无预装工具,缺失命令通过官方yum源安装,禁止随意安装第三方未知软件
-
重启风险:优化配置修改完成后,建议重启系统验证所有配置生效:reboot
六、常见问题排查
6.1 无法联网
• 问题:最小化安装后无法上网
• 解决:检查网卡是否启用,使用nmcli或编辑/etc/sysconfig/network-scripts/ifcfg-*文件配置。
排查网卡配置文件ONBOOT参数是否为yes、IP/网关/DNS是否正确、网线/虚拟网卡是否连通,重启网络服务重试。
6.2 命令不存在(如ifconfig、vim)
• 问题:ifconfig命令未找到
• 解决:该命令属于net-tools包,需手动安装:yum install net-tools -y
最小化环境未预装,通过yum install -y 对应工具包安装(ifconfig属于net-tools,vim属于vim-enhanced)。
6.3 安装卡死/黑屏
检查硬件兼容性、镜像是否完整、U盘是否损坏,虚拟机环境调整硬件分配(内存≥1GB),关闭显卡硬件加速。
6.4 无法重启/启动失败
拔出安装介质,检查BIOS启动项为硬盘启动,排查分区是否损坏、SELinux是否误配置。
七、文档说明
本文档适用于CentOS 7最小化安装部署,可根据实际业务场景调整分区大小、安全策略、工具安装项;生产环境部署前建议先在测试环境演练,确认无误后再上线操作。