1. CentOS 7系统安装前的准备工作
在开始安装CentOS 7之前,我们需要做好充分的准备工作。首先需要明确的是,CentOS(Community Enterprise Operating System)是一个基于Red Hat Enterprise Linux(RHEL)源代码构建的开源Linux发行版,以其稳定性和企业级特性著称。CentOS 7作为长期支持版本(LTS),虽然已经进入维护阶段,但仍然是许多服务器环境的首选。
1.1 硬件需求检查
CentOS 7对硬件的要求相对较低,但为了获得最佳性能,建议满足以下配置:
- 处理器:至少1GHz的x86-64兼容CPU
- 内存:最小1GB(图形界面安装需要2GB)
- 硬盘空间:至少20GB可用空间
- 显卡:支持1024x768分辨率的显卡(图形界面安装)
对于服务器环境,建议配置更高的硬件规格。特别是内存和存储空间,应根据实际应用需求进行调整。例如,运行数据库服务的服务器至少需要8GB内存和100GB存储空间。
1.2 获取CentOS 7镜像文件
目前官方推荐的下载渠道包括:
- 官方镜像站点:https://www.centos.org/download/
- 国内镜像站点(下载速度更快):
- 阿里云镜像:https://mirrors.aliyun.com/centos/
- 清华大学镜像:https://mirrors.tuna.tsinghua.edu.cn/centos/
选择镜像时需要注意:
- 标准版(DVD ISO):约4GB,包含大多数常用软件包
- 最小版(Minimal ISO):约800MB,仅包含基本系统
- Everything版:约8GB,包含所有软件包
对于大多数用户,建议下载标准版DVD镜像。下载完成后,务必验证镜像的完整性,可以通过SHA256校验和进行验证:
bash复制sha256sum CentOS-7-x86_64-DVD-2009.iso
将输出结果与官方提供的校验值进行比对,确保下载的文件未被篡改。
1.3 制作安装介质
根据安装环境的不同,可以选择以下方式制作安装介质:
U盘安装(推荐):
- 准备一个至少8GB的U盘
- 使用工具如Rufus(Windows)或dd命令(Linux)制作启动盘
- Windows下使用Rufus:
- 选择下载的ISO文件
- 分区方案选择"GPT"
- 文件系统选择"FAT32"
- 点击"开始"制作
- Linux下使用dd命令:
bash复制注意:/dev/sdX应替换为实际的U盘设备名sudo dd if=CentOS-7-x86_64-DVD-2009.iso of=/dev/sdX bs=4M status=progress
- Windows下使用Rufus:
光盘安装:
- 使用刻录软件(如ImgBurn)将ISO镜像刻录到DVD光盘
- 确保以"光盘映像"模式刻录,而非简单复制文件
网络安装:
对于无物理介质的服务器,可以通过PXE网络引导安装,这需要配置TFTP和DHCP服务器,适合批量部署环境。
1.4 BIOS/UEFI设置调整
在开始安装前,需要进入计算机的BIOS/UEFI设置进行以下调整:
- 确保启动模式与磁盘分区表匹配:
- 传统BIOS + MBR分区表
- UEFI + GPT分区表
- 调整启动顺序,将安装介质(U盘或光盘)设为第一启动项
- 关闭安全启动(Secure Boot),除非确定需要此功能
- 对于较新的硬件,可能需要开启CSM(兼容性支持模块)
提示:不同主板的BIOS进入方式不同,常见的有Del、F2、F12等键,具体请参考主板说明书。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. CentOS 7安装过程详解
2.1 启动安装程序
将制作好的安装介质插入计算机并启动后,会看到CentOS 7的启动菜单。选择"Install CentOS 7"并按Enter键开始安装。如果需要进行故障排查或特殊配置,可以选择其他选项:
- "Test this media & install CentOS 7":先检测安装介质完整性再安装
- "Troubleshooting":进入救援模式或内存测试等高级选项
启动过程中可能会看到一些硬件检测信息,这是正常现象。如果卡在某个步骤,可能需要检查硬件兼容性或添加特定的内核参数。
2.2 选择安装语言和键盘布局
进入图形安装界面后,首先需要选择安装过程中使用的语言和键盘布局。这里的选择不会影响系统安装后的语言设置,仅用于安装过程。
建议选择:
- 语言:English(United States)或中文(简体)
- 键盘布局:根据实际键盘选择,通常为"U.S. English"
注意:即使选择中文界面,也建议保持键盘布局为英文,以避免安装过程中可能出现的输入法切换问题。
2.3 安装信息摘要设置
这是安装过程中最重要的配置界面,包含多个需要设置的选项:
DATE & TIME:
- 设置正确的时区,中国用户选择"Asia/Shanghai"
- 可以启用网络时间协议(NTP)自动同步时间
SOFTWARE SELECTION:
- Minimal Install:最小化安装,适合服务器基础环境
- Infrastructure Server:基础设施服务器,包含常用服务器软件
- File and Print Server:文件和打印服务器
- Basic Web Server:基础Web服务器
- Virtualization Host:虚拟化主机
- Server with GUI:带图形界面的服务器
- GNOME/KDE Desktop:完整的桌面环境
对于服务器环境,建议选择"Minimal Install"或"Infrastructure Server"。桌面用户可以选择"GNOME Desktop"或"Server with GUI"。
INSTALLATION DESTINATION:
这是磁盘分区设置,我们将在下一节详细讨论。
NETWORK & HOSTNAME:
- 设置主机名(如centos7-server)
- 配置网络连接,可以启用以太网接口
- 建议在此阶段至少配置一个可用的网络连接,便于安装过程中获取更新
SECURITY POLICY:
可选配置,可以应用特定的安全策略配置文件,如STIG或PCI-DSS标准。对于初学者可以暂时跳过。
2.4 磁盘分区方案
磁盘分区是安装过程中最关键也最容易出错的环节。CentOS 7提供了几种分区方案:
自动分区方案:
- 选择"Automatic"让安装程序自动分区
- 可以选择"Encrypt my data"启用磁盘加密(需要记住加密密码)
- 对于有特殊需求的用户,建议选择"I will configure partitioning"进行手动分区
手动分区方案(推荐):
对于服务器环境,建议采用以下分区方案(以100GB磁盘为例):
| 挂载点 | 大小 | 文件系统 | 备注 |
|---|---|---|---|
| /boot | 1GB | xfs | 启动分区 |
| / | 30GB | xfs | 根分区 |
| /home | 20GB | xfs | 用户家目录 |
| /var | 20GB | xfs | 可变数据 |
| /tmp | 10GB | xfs | 临时文件 |
| swap | 内存大小的1-2倍 | swap | 交换空间 |
实际操作步骤:
- 选择"I will configure partitioning"
- 选择磁盘设备(如/dev/sda)
- 点击"+"按钮添加各个分区
- 设置每个分区的挂载点、大小和文件系统类型
- 确认无误后点击"Done"
重要提示:CentOS 7默认使用XFS文件系统,相比ext4在处理大文件时性能更好。如果系统需要存储大量小文件,可以考虑使用ext4文件系统。
2.5 用户账户设置
在"USER SETTINGS"部分,需要设置root密码和至少一个普通用户账户:
ROOT PASSWORD:
- 设置强密码(建议12位以上,包含大小写字母、数字和特殊字符)
- 可以点击"Done"多次确认密码
- 如果密码强度不足,安装程序会警告,但可以选择"Done"忽略
USER CREATION:
- 建议创建一个普通用户账户用于日常操作
- 可以勾选"Make this user administrator"将该用户加入wheel组(允许sudo提权)
- 同样需要设置强密码
安全建议:生产环境中应禁用root直接登录,仅通过普通用户+sudo方式管理服务器。
3. 安装完成后的初始配置
3.1 首次启动设置
安装完成后,系统会重启并首次进入CentOS 7。如果安装了图形界面,会看到GNOME的初始设置向导:
- 接受许可证协议
- 完成初始设置(时区、键盘布局等)
- 创建额外的用户账户(可选)
- 登录系统
对于最小化安装的服务器版本,会直接进入命令行登录界面。
3.2 系统更新与基础软件安装
首次登录后,应立即更新系统:
bash复制sudo yum update -y
安装常用工具(根据需求选择):
bash复制sudo yum install -y epel-release # 安装EPEL仓库
sudo yum install -y vim wget curl net-tools bash-completion
3.3 网络配置检查与优化
检查网络配置:
bash复制ip addr # 查看IP地址
ping www.baidu.com # 测试网络连通性
如果网络不正常,可以编辑网络配置文件:
bash复制sudo vi /etc/sysconfig/network-scripts/ifcfg-ens33 # 文件名可能不同
修改或添加以下参数:
code复制BOOTPROTO=static
ONBOOT=yes
IPADDR=192.168.1.100
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=8.8.8.8
DNS2=8.8.4.4
重启网络服务:
bash复制sudo systemctl restart network
3.4 防火墙与SELinux配置
CentOS 7默认启用firewalld和SELinux,这是重要的安全屏障,但有时需要调整:
查看防火墙状态:
bash复制sudo systemctl status firewalld
sudo firewall-cmd --state
添加防火墙规则示例(允许HTTP服务):
bash复制sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --reload
SELinux状态管理:
bash复制getenforce # 查看当前模式
sudo setenforce 0 # 临时设置为Permissive模式
sudo vi /etc/selinux/config # 永久修改SELINUX=disabled
注意:除非确定需要,否则不建议完全禁用SELinux,可以设置为Permissive模式进行故障排查。
4. 常见问题与解决方案
4.1 安装过程中常见错误
问题1:无法检测到硬盘
- 可能原因:缺少磁盘控制器驱动
- 解决方案:
- 在启动菜单按Tab键编辑启动参数
- 在末尾添加
nodmraid或noraid参数 - 如果使用SATA硬盘,可以尝试添加
libata.force=noncq参数
问题2:图形安装界面崩溃
- 可能原因:显卡兼容性问题
- 解决方案:
- 在启动菜单选择"Install CentOS 7"后按Tab键
- 在命令行末尾添加
nomodeset参数 - 或者选择文本模式安装
问题3:安装介质校验失败
- 可能原因:下载的ISO文件损坏或刻录错误
- 解决方案:
- 重新下载ISO文件并验证校验和
- 使用质量更好的U盘或光盘重新制作安装介质
- 尝试不同的刻录工具或方法
4.2 首次启动问题排查
问题1:系统启动卡在某个服务
- 解决方案:
- 重启系统,在GRUB菜单选择内核后按e键编辑
- 在linux16行末尾添加
systemd.unit=rescue.target - 按Ctrl+X启动到救援模式
- 使用journalctl查看日志:
journalctl -xb -p3
问题2:忘记root密码
- 解决方案:
- 重启系统,在GRUB菜单选择内核后按e键编辑
- 在linux16行末尾添加
rd.break - 按Ctrl+X启动
- 依次执行:
bash复制mount -o remount,rw /sysroot chroot /sysroot passwd root touch /.autorelabel exit reboot
问题3:网络无法连接
- 解决方案:
- 检查网线连接和物理状态
- 查看网卡是否启用:
ip link - 检查NetworkManager服务状态:
systemctl status NetworkManager - 尝试手动启动网络:
nmcli dev connect eth0
4.3 性能优化建议
磁盘I/O优化:
- 调整I/O调度器(针对SSD):
bash复制echo 'deadline' > /sys/block/sda/queue/scheduler - 禁用文件系统访问时间记录:
在/etc/fstab中添加noatime,nodiratime挂载选项
内存优化:
- 调整swappiness值(减少交换分区使用):
bash复制echo 'vm.swappiness=10' >> /etc/sysctl.conf sysctl -p
网络优化:
- 调整TCP缓冲区大小:
bash复制echo 'net.core.rmem_max=16777216' >> /etc/sysctl.conf echo 'net.core.wmem_max=16777216' >> /etc/sysctl.conf sysctl -p
安全优化:
- 禁用不必要的服务:
bash复制sudo systemctl disable bluetooth cups abrtd - 配置SSH安全:
bash复制修改以下参数:sudo vi /etc/ssh/sshd_configcode复制PermitRootLogin no PasswordAuthentication no
在实际使用CentOS 7的过程中,我发现很多问题其实都有清晰的日志记录。养成查看系统日志的习惯能快速定位大多数问题。对于服务器环境,建议定期更新系统但不要盲目升级内核,保持稳定才是关键。另外,虽然CentOS 7已经进入维护期,但它仍然是许多企业环境的主力系统,掌握其安装和配置技巧对Linux管理员来说非常重要。
