CentOS 8安装与配置完整指南
1. CentOS 8安装前的准备工作
在开始安装CentOS 8之前,我们需要做好充分的准备工作。首先需要明确的是,CentOS 8已于2021年底停止维护,取而代之的是CentOS Stream。但考虑到部分企业仍在使用CentOS 8,了解其安装过程仍有实际意义。
1.1 系统镜像获取
官方推荐从阿里云镜像站下载CentOS 8的ISO文件:
https://mirrors.aliyun.com/centos/8/isos/x86_64/常见的镜像文件有两种:
- CentOS-8.x.xxxx-x86_64-boot.iso(最小安装镜像,约1GB)
- CentOS-8.x.xxxx-x86_64-dvd1.iso(完整安装镜像,约7GB)
建议下载boot.iso,它体积小且支持网络安装。下载完成后务必验证SHA256校验值,确保文件完整性。
1.2 虚拟机环境配置
如果使用VMware Workstation创建虚拟机,建议配置:
- 内存:至少2GB(4GB更佳)
- 磁盘:20GB起步(系统分区建议采用XFS格式)
- 网络适配器:NAT模式(便于主机访问互联网)
- 处理器:1个CPU核心即可满足基本需求
提示:生产环境建议使用KVM或物理机安装,虚拟机仅适合测试和学习用途。
2. 详细安装步骤图解
2.1 启动安装程序
将ISO镜像挂载后启动虚拟机,会看到如下启动菜单:
- Install CentOS Linux 8.0
- Test this media & install CentOS Linux 8.0
- Troubleshooting
选择第一项直接安装。安装界面加载完成后,将进入图形化安装向导。
2.2 语言与时区设置
第一个配置界面是语言选择:
- 建议选择"English - United States"(避免中文路径可能带来的兼容性问题)
- 时区选择"Asia/Shanghai"
- 键盘布局保持默认"US"即可
2.3 安装源配置
这是最容易出错的环节。点击"Installation Source",需要配置正确的仓库地址:
http://mirrors.aliyun.com/centos/8/BaseOS/x86_64/os/如果网络连通正常,系统会自动验证源可用性。若出现"为仓库'appstream'下载元数据失败"错误,通常是因为:
- 网络未正确配置
- CentOS 8源已停止维护
- 防火墙阻止了连接
解决方法:
# 临时解决方案:更换为vault源 sed -i 's|mirrorlist=|#mirrorlist=|g' /etc/yum.repos.d/CentOS-* sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-*2.4 磁盘分区方案
对于新手建议选择"Automatic"自动分区。高级用户可选择"Custom"手动分区,典型方案:
- /boot:1GB(ext4)
- swap:内存的1-2倍(不超过8GB)
- /:剩余所有空间(XFS)
重要提示:企业生产环境务必单独划分/home和/var分区,避免系统崩溃时数据丢失。
2.5 网络与主机名
点击"Network & Hostname":
- 启用以太网连接
- 设置主机名(如centos8.localdomain)
- 建议开启"Connect automatically"自动连接
安装完成后可通过以下命令查看IP:
ip addr show eth02.6 软件包选择
根据用途选择安装模式:
- Minimal Install:最小化安装(仅命令行)
- Server with GUI:带图形界面
- Custom:自定义选择软件包组
建议选择"Minimal Install"并额外添加:
- Development Tools(开发工具)
- System Administration Tools(系统管理工具)
3. 安装后必要配置
3.1 用户账户设置
安装完成后首次启动需要:
- 接受许可证协议
- 创建普通用户(避免直接使用root)
- 设置root密码(需满足复杂度要求)
3.2 更换国内软件源
由于官方源已不可用,必须更换为阿里云或清华源:
# 备份原有源 mkdir /etc/yum.repos.d/backup mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/backup/ # 下载阿里云源 curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-vault-8.5.2111.repo # 生成缓存 dnf clean all dnf makecache3.3 基础工具安装
建议立即安装的实用工具:
dnf install -y epel-release dnf install -y vim wget curl net-tools bash-completion3.4 防火墙配置
默认启用的firewalld可能需要调整:
# 查看当前规则 firewall-cmd --list-all # 永久开放SSH端口 firewall-cmd --permanent --add-service=ssh firewall-cmd --reload4. 常见问题解决方案
4.1 无法找到有效baseurl
错误信息:"Cannot find a valid baseurl for repo: baseos"
解决方法:
- 检查网络连接
- 更换为vault源(见3.2节)
- 临时禁用repo:
dnf --disablerepo=* --enablerepo=baseos list available
4.2 EPEL源失效
错误信息:"Ignoring repo: epel"
解决方案:
dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm sed -i 's|^#baseurl|baseurl|g' /etc/yum.repos.d/epel* sed -i 's|^mirrorlist|#mirrorlist|g' /etc/yum.repos.d/epel*4.3 软件依赖冲突
使用以下命令强制解决依赖问题:
dnf update --allowerasing5. 生产环境优化建议
5.1 安全加固措施
- 修改SSH默认端口:
sed -i 's/#Port 22/Port 2222/g' /etc/ssh/sshd_config systemctl restart sshd - 禁用root远程登录:
sed -i 's/PermitRootLogin yes/PermitRootLogin no/g' /etc/ssh/sshd_config - 安装fail2ban防暴力破解:
dnf install -y fail2ban systemctl enable --now fail2ban
5.2 性能调优参数
编辑/etc/sysctl.conf添加:
vm.swappiness = 10 net.ipv4.tcp_fin_timeout = 30 net.core.somaxconn = 4096应用配置:
sysctl -p5.3 日志管理方案
- 安装logrotate:
dnf install -y logrotate - 配置journald持久化:
mkdir /var/log/journal systemctl restart systemd-journald
6. 替代方案建议
考虑到CentOS 8已停止维护,建议考虑以下替代系统:
- CentOS Stream 8/9
- Rocky Linux 8/9
- AlmaLinux 8/9
- Oracle Linux 8/9
迁移工具推荐:
# 迁移到AlmaLinux curl -O https://raw.githubusercontent.com/AlmaLinux/almalinux-deploy/master/almalinux-deploy.sh bash almalinux-deploy.sh对于仍必须使用CentOS 8的环境,建议:
- 定期手动打补丁
- 使用第三方提供的扩展支持(如CIQ)
- 严格控制外网访问
- 加强监控和日志审计
