下载通道:夸克盘
按 需 下 载 即 可

1. CentOS 7 的起源与历史背景
CentOS(Community ENTerprise Operating System,社区企业操作系统)项目始于2004年,由一群开源爱好者和开发者发起,旨在提供一个免费的、与Red Hat Enterprise Linux (RHEL) 100%二进制兼容的操作系统。CentOS 7 是该系列的第七个主要版本,于2014年7月7日正式发布,基于RHEL 7.0的源代码重新构建。

关键历史节点:
- 2014年发布:CentOS 7.0 推出,引入了大量现代特性,如systemd作为默认初始化系统,取代了传统的SysV init。这标志着CentOS从一个"克隆版"向更稳定的企业级系统转型。
- 更新周期:CentOS 7 遵循RHEL的更新策略,提供长达10年的支持周期。早期版本如CentOS 7.1(2015年3月)引入了更多安全补丁和内核优化。
- Red Hat 的影响:2014年,Red Hat 收购了CentOS项目,但承诺保持其社区导向。CentOS 7 的所有更新都直接镜像RHEL的补丁,确保稳定性。
- EOL(End of Life)转折:CentOS 7 的官方支持原计划到2024年6月30日结束(与RHEL 7一致)。在2020年,Red Hat 宣布CentOS Linux项目转向CentOS Stream(一个滚动更新的开发分支),导致CentOS 7成为最后一个"稳定克隆"版本。2024年后,用户需迁移到替代品如Rocky Linux、AlmaLinux或CentOS Stream。
- 2026年现状:在2026年,CentOS 7 已正式EOL,不再接收官方安全更新。但社区和第三方仓库(如Vault仓库)仍提供镜像和补丁,许多遗留系统仍在运行。香港地区的用户(如云服务器提供商阿里云、腾讯云)常将其用于测试环境或兼容旧软件。
CentOS 7 的诞生体现了开源精神的精髓:免费、高稳定、易扩展,曾被广泛用于Web服务器、数据库、云计算等领域。根据Statista数据,截至2020年,CentOS在服务器市场占有率一度超过20%。
2. CentOS 7 的主要特点与优势
CentOS 7 在设计上强调稳定性、安全性和企业级功能,与桌面发行版如Ubuntu不同,它更偏向服务器应用。以下是其核心特点的详细剖析:
系统架构与内核
- 内核版本:默认使用Linux内核3.10系列(长期支持版),支持x86_64(64位)架构。内核优化了虚拟化支持(如KVM)和网络性能(如TCP优化)。
- 初始化系统:首次引入systemd(System and Service Manager),取代init.d脚本。systemd提供并行启动服务、依赖管理、日志记录(journalctl),大大提升了开机速度和系统管理效率。例如,启动服务只需systemctl start httpd。
- 文件系统:默认XFS(高性能文件系统),支持ext4、btrfs。XFS适合大文件存储,如数据库场景。
软件管理和包管理器
- YUM(Yellowdog Updater Modified):CentOS 7 的核心包管理工具,支持RPM包格式。YUM可以从仓库下载、安装、更新软件(如yum install nginx)。它智能处理依赖关系,避免手动解决冲突。
- 仓库系统:默认仓库包括Base、Updates、Extras、CentOSPlus。启用EPEL(Extra Packages for Enterprise Linux)仓库可访问更多社区包(如yum install epel-release)。
- DNF的引入:后期更新中,DNF(Dandified YUM)作为YUM的升级版出现,但CentOS 7 默认仍用YUM。
网络与安全功能
- 防火墙:firewalld作为默认防火墙,支持动态规则(如firewall-cmd --add-service=http)。它比iptables更易用,提供区域概念(public、internal等)。
- SELinux(Security-Enhanced Linux):默认启用Enforcing模式,提供强制访问控制(MAC),防止进程越权。初学者常遇到权限问题,可临时切换到Permissive模式(setenforce 0)。
- 网络管理:NetworkManager支持Wi-Fi、VPN、Bonding。命令行工具如nmcli便于脚本化配置。
虚拟化和容器支持
- KVM(Kernel-based Virtual Machine):内置虚拟化hypervisor,支持virt-manager图形管理。
- Docker支持:CentOS 7 是早期Docker的流行平台,虽未内置,但可轻松安装(yum install docker)。后期版本兼容Podman作为无root容器替代。
桌面环境(可选)
- CentOS 7 默认是服务器版(Minimal Install),无图形界面。但可安装GNOME(yum groupinstall "GNOME Desktop"),适合桌面使用。其他桌面如KDE、Xfce也可通过仓库添加。
优势总结
- 稳定性:作为RHEL克隆,CentOS 7 经过严格测试,适合生产环境。崩溃率低,兼容性强。
- 免费与开源:GPL许可,无需订阅费,与RHEL兼容性高达99.9%。
- 社区支持:庞大的用户基数,论坛如CentOS.org、Reddit r/CentOS提供帮助。
- 缺点:软件包较旧(例如默认Python 2.7),需手动更新;EOL后安全风险增加。
3. 系统要求与兼容性
CentOS 7 的硬件要求较低,适合老旧服务器或虚拟机:
- CPU:x86_64兼容处理器(Intel/AMD),最低1GHz。
- 内存:最小1GB(推荐2GB+ for服务器),桌面版至少2GB。
- 存储:最小10GB(推荐20GB+),支持LVM逻辑卷管理。
- 兼容硬件:支持大多数网络卡、存储控制器。虚拟化平台如VMware、VirtualBox、Hyper-V完美兼容。
- 软件兼容:与RHEL 7生态一致,支持Apache、MySQL、PHP(LAMP栈)、Java等企业软件。
在香港云环境(如AWS Lightsail或本地VPS),CentOS 7 镜像仍可用,但建议检查提供商的EOL政策。
4. CentOS 7 的安装指南(步步详解)
安装CentOS 7 简单,通常通过ISO镜像完成。以下是详细步骤(假设使用虚拟机或U盘安装)。
准备工作
- 下载ISO:从Vault仓库(如vault.centos.org)获取CentOS-7-x86_64-Minimal-2009.iso(约1GB)。
- 制作启动介质:用Rufus或dd命令刻录U盘。
- BIOS设置:启用Secure Boot(可选),设置启动顺序为U盘/光盘。
安装步骤
- 启动安装:插入介质,重启进入Anaconda安装器。选择"Install CentOS 7"。
- 语言与键盘:默认英语/美式键盘,支持中文(搜索"Chinese")。
- 安装摘要:点击"Installation Destination"选择磁盘分区(自动或手动)。推荐LVM分区:根分区(/)至少10GB,swap分区等于内存大小。
- 网络配置:启用网络,设置主机名(如centos7.local)。
- 软件选择:Minimal Install(服务器默认),或添加组如"Development Tools"。
- 用户设置:创建root密码和普通用户。
- 开始安装:点击"Begin Installation",过程10-30分钟。
- 重启:安装完重启,进入命令行界面(tty1)。
安装后初始配置
- 更新系统:yum update -y(可能需几小时)。
- 安装常用工具:yum install -y vim net-tools wget。
- 设置时区(上海):timedatectl set-timezone Asia/shanghai。
- 启用服务:systemctl enable sshd(远程登录)。
潜在问题:如果网络不可达,检查/etc/sysconfig/network-scripts/ifcfg-eth0(设置ONBOOT=yes),然后systemctl restart NetworkManager。
5. 基本配置与管理
用户与权限
- 添加用户:useradd username; passwd username。
- sudo权限:编辑/etc/sudoers添加username ALL=(ALL) ALL。
- 组管理:groupadd developers; usermod -aG developers username。
网络配置
- 静态IP:编辑/etc/sysconfig/network-scripts/ifcfg-ens32(BOOTPROTO=static, IPADDR=192.168.1.100 等),重启网络。
- DNS:编辑/etc/resolv.conf添加nameserver 8.8.8.8。
服务管理
- 启动/停止:systemctl start/stop/restart nginx。
- 开机自启:systemctl enable nginx。
- 日志查看:journalctl -u nginx或tail -f /var/log/messages。
存储管理
- 分区工具:fdisk或parted。
- LVM扩展:lvextend -L +10G /dev/centos/root; xfs_growfs /。
6. 软件安装与管理
YUM是核心:
- 搜索包:yum search mysql。
- 安装:yum install -y mariadb-server。
- 卸载:yum remove mariadb-server。
- 仓库管理:yum repolist查看仓库,添加第三方如Remi(PHP仓库)。
示例:安装LAMP栈:
- yum install -y httpd mariadb-server php php-mysql。
- systemctl start httpd mariadb。
- 配置/etc/httpd/conf/httpd.conf。
7. 安全机制与最佳实践
- 更新与补丁:定期yum update。EOL后,使用Vault仓库:编辑/etc/yum.repos.d/CentOS-Base.repo,替换mirror为vault.centos.org。
- 防火墙:firewall-cmd --permanent --add-port=80/tcp; firewall-cmd --reload。
- SELinux:查看状态getenforce,自定义规则用semanage。
- SSH安全:编辑/etc/ssh/sshd_config禁用root登录(PermitRootLogin no),用密钥认证。
- 入侵检测:安装Fail2Ban(yum install fail2ban)防暴力破解。
- 备份:用rsync或Cron定时备份/etc和/var/www。
常见安全问题:端口扫描用nmap检查,日志监控用rsyslog。
8. 常见应用场景与案例
- Web服务器:部署Apache/Nginx + PHP + MySQL,适合香港电商网站或博客。
- 数据库服务器:MariaDB/PostgreSQL,高可用集群用Keepalived。
- 云计算:OpenStack或Kubernetes基础节点。
- 桌面开发:安装GNOME后,用作测试机,支持VS Code、Git。
- 遗留系统:兼容老软件如Java 8应用。
9. 与其他发行版的比较
- vs Ubuntu Server:CentOS 7 更稳定(企业级),但软件较旧;Ubuntu更新更快,适合桌面。
- vs Fedora:Fedora是RHEL上游,CentOS 7 是下游克隆,更保守。
- vs Rocky/AlmaLinux:这些是CentOS 8+的继任者,建议从CentOS 7 迁移。
- vs Debian:CentOS RPM包管理 vs Debian DEB,CentOS更贴近企业生态。
10. 2026年使用建议与迁移路径
在2026年,CentOS 7 已EOL,官方不再提供补丁。风险包括安全漏洞(如CVE)。建议:
- 短期使用:启用Vault仓库继续更新。
- 迁移:转到Rocky Linux 8/9(兼容性高),步骤包括备份数据、安装新系统、恢复配置。
- 容器化:用Docker运行CentOS 7 镜像,避免主机升级。