ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

CentOS 7 Minimal版下载、安装与EOL后配置全指南

CentOS 7 Minimal版下载、安装与EOL后配置全指南 1. 为什么今天还需要CentOS 7 Mini版如果你点开这篇文章大概率是在为一个老旧的服务器、一台尘封的工控机或者一个必须运行在特定历史环境下的应用寻找一个轻量级的操作系统基础。是的在CentOS 8早已停止维护、CentOS Stream成为主流的今天CentOS 7依然有它顽固的生存空间。我最近就因为一个客户的遗留生产系统不得不重新翻出CentOS 7.9的ISO搭建一个最小化的测试环境。这个“最小化安装”Minimal Install版本没有图形界面没有多余的开发工具甚至连vim和wget都需要手动安装但它纯净、高效占用资源极少是搭建服务器基础镜像、容器基础镜像或运行单一服务的绝佳起点。网络上流传的下载链接鱼龙混杂从官方镜像站到各种国内高校、云厂商的镜像源版本号和完整性校验是个大问题。更麻烦的是随着CentOS 7在2024年6月30日结束了其生命周期EOL官方镜像的维护状态也发生了变化直接影响了我们获取和验证镜像的方式。这篇文章我就结合最近的实操把CentOS 7各个版本尤其是7.9最终版Mini版本的可靠下载渠道、校验方法、以及安装后的“开箱即用”必备配置给你彻底讲清楚。让你不仅能安全下载更能快速搭建一个稳定可用的基础系统。2. 官方与镜像站寻找可靠的下载源首先必须明确一点CentOS项目本身已经归档。我们现在访问的vault.centos.org是官方历史的归档站点而mirrors.centos.org则主要指向CentOS Stream。对于CentOS 7我们的主战场是vault。2.1 核心官方归档站点vault.centos.org这是最权威、最完整的CentOS历史版本仓库。所有正式发布过的CentOS 7 ISO镜像都能在这里找到。其目录结构非常清晰http://vault.centos.org/centos/7/进入这个目录后你会看到isos/和os/等子目录。我们需要的ISO镜像就在isos/目录下。但这里有一个关键选择isos/x86_64/和isos/aarch64/分别对应Intel/AMD的64位架构和ARM64架构。对于绝大多数服务器和虚拟机我们选择x86_64。直接下载链接以CentOS 7.9.2009为例这是7系列的最终版本Minimal ISO (推荐):http://vault.centos.org/centos/7.9.2009/isos/x86_64/CentOS-7-x86_64-Minimal-2009.isoEverything ISO:http://vault.centos.org/centos/7.9.2009/isos/x86_64/CentOS-7-x86_64-Everything-2009.isoDVD ISO:http://vault.centos.org/centos/7.9.2009/isos/x86_64/CentOS-7-x8664-DVD-2009.isoMinimal ISO大小约1GEverything ISO约10GDVD ISO约4.4G。对于服务器环境Minimal是不二之选。注意直接从vault站点下载速度可能非常慢因为它位于国外。这是我们需要寻找国内镜像站的主要原因。2.2 国内主流镜像站推荐与选择国内高校和云服务商提供了优秀的镜像服务速度飞快。但需要注意的是由于CentOS 7已EOL部分镜像站可能不再同步或更新其vault目录。以下是我验证过仍可用的几个路径模式基本与官方一致阿里云镜像地址https://mirrors.aliyun.com/centos-vault/7.9.2009/isos/x86_64/特点速度稳定版本齐全是国内最常用的镜像源之一。centos-vault这个路径专门用于归档版本。腾讯云镜像地址https://mirrors.cloud.tencent.com/centos-vault/7.9.2009/isos/x86_64/特点同样提供vault归档速度优秀是阿里云之外的可靠备选。华为云镜像地址https://repo.huaweicloud.com/centos-vault/7.9.2009/isos/x86_64/特点网络质量好尤其适合华为云用户内网加速。清华大学镜像地址https://mirrors.tuna.tsinghua.edu.cn/centos-vault/7.9.2009/isos/x86_64/特点老牌教育网镜像信誉极高。使用技巧你不需要记住完整的URL。通常你只需要将官方vault.centos.org链接中的域名部分替换为上述镜像站的域名即可。例如将http://vault.centos.org/centos/7.9.2009/isos/x86_64/CentOS-7-x86_64-Minimal-2009.iso中的vault.centos.org替换为mirrors.aliyun.com/centos-vault。2.3 版本选择7.9.2009 与更早版本我强烈建议你直接使用CentOS 7.9.2009。这是CentOS 7的最后一个更新版本包含了截至生命周期结束前的所有安全补丁和错误修复。版本号中的“2009”代表2020年9月发布。虽然之后可能还有通过其他渠道发布的零星更新但2009是这个版本树的官方终点。你可能会在网络上看到7.6、7.5甚至更早的版本链接。除非你的应用软件明确要求某个特定子版本这种情况在老旧工业软件中偶有发生否则没有任何理由不选择7.9。使用旧版本意味着你从安装完成的那一刻起就带着大量已知的安全漏洞后续修补极其麻烦。3. 下载后的关键一步完整性校验从网络下载一个近1GB的文件必须进行校验以确保文件在传输过程中没有发生损坏。一个损坏的ISO镜像会导致安装过程中出现不可预知的错误甚至安装成功后系统不稳定。官方提供了两种校验文件SHA256SUM和SHA256SUM.asc。3.1 获取并验证校验和文件在镜像站的ISO文件同级目录下你总能找到这两个文件。以阿里云镜像为例https://mirrors.aliyun.com/centos-vault/7.9.2009/isos/x86_64/sha256sum.txthttps://mirrors.aliyun.com/centos-vault/7.9.2009/isos/x86_64/sha256sum.txt.asc首先下载这两个文件。然后计算你本地下载的ISO文件的SHA256值。在Linux或macOS终端下使用sha256sum命令sha256sum CentOS-7-x86_64-Minimal-2009.iso在Windows PowerShell下可以使用Get-FileHash命令Get-FileHash -Algorithm SHA256 .\CentOS-7-x86_64-Minimal-2009.iso计算出的那一长串哈希值应该与sha256sum.txt文件中对应ISO文件名的那一行哈希值完全一致。哪怕只有一个字符不同都说明文件已损坏必须重新下载。3.2 进阶使用GPG进行签名验证sha256sum.txt.asc是校验和文件的GPG签名文件用于验证sha256sum.txt文件本身是否被篡改。这多了一层安全保障。导入CentOS官方公钥。你需要先获取并导入CentOS的GPG公钥。公钥ID通常可以在CentOS官网或镜像站找到。一个常见的方法是gpg --keyserver keyserver.ubuntu.com --recv-keys 0x24C6A8A7F4A80EB5密钥ID可能随时代变化如果失败请搜索当前有效的CentOS 7发布公钥。验证签名gpg --verify sha256sum.txt.asc sha256sum.txt如果输出中包含“Good signature from CentOS ...”并且没有“WARNING: This key is not certified...”之类的严重警告则说明校验文件可信。对于绝大多数个人和测试环境做到第一步的SHA256值比对已经足够。但在生产环境或对安全要求极高的场景下执行GPG签名验证是更严谨的做法。4. 安装实战从Minimal ISO到可用系统假设你已经使用RufusWindows、Etcher跨平台或dd命令Linux/macOS将Minimal ISO正确写入U盘或配置为虚拟机的光驱。启动安装过程后以下几个节点的选择至关重要。4.1 安装界面中的关键配置语言和键盘在“安装信息摘要”界面虽然我们选择了英文安装但建议将“键盘”和“语言支持”都添加“中文”。这样安装后系统可以正常显示和处理中文避免后续配置麻烦。安装目的地自动配置分区对于新手或测试环境直接点击完成即可。手动分区对于生产环境我强烈建议手动分区。一个经典的分区方案是/boot1GB ext4格式。存放内核和引导文件。swap物理内存小于8G时设为内存的2倍大于8G时与内存等大或略大。用于交换空间。/剩余所有空间 ext4或xfs格式。根目录。对于有经验的运维可能会为/var、/home、/opt等单独分区便于管理和备份。网络和主机名务必在这里就打开以太网连接点击右上角开关从“OFF”变“ON”。这样安装程序就能从网络获取时间并可以在安装过程中选择额外的软件包。设置一个有意义的主机名。软件选择这是Minimal安装的核心。默认就是“Minimal Install”一个纯净的基础系统。不要勾选任何其他环境如“开发工具”我们需要的所有东西都留到安装后通过yum按需安装这样系统最干净。4.2 首次启动后的“开箱即用”配置清单安装完成重启后你用root账户登录会面对一个极其“干净”的命令行。别慌按顺序执行以下命令就能快速得到一个可用的服务器基础环境。第一步更新系统并安装最核心的工具# 首先更新整个系统到最新状态虽然已EOL但这是安装时的最新状态 yum update -y # 安装网络工具、进程查看、编辑器等必备软件 yum install -y wget curl net-tools vim-enhanced tree htop nc lsof bash-completionwget/curl下载文件。net-tools包含ifconfig、netstat等传统网络命令虽然推荐用ip命令但很多脚本依赖它们。vim-enhanced功能完整的vim编辑器比自带的vi好用得多。tree以树状图列出目录内容直观。htop交互式进程查看器比top更强大。bash-completion为bash命令提供tab键自动补全极大提升效率。第二步配置静态IP地址如果需要Minimal安装后网络默认是DHCP。对于服务器通常需要静态IP。找到网卡配置文件通常是/etc/sysconfig/network-scripts/ifcfg-ens33网卡名可能是ens32, eth0等用ip addr命令查看。用vim编辑它vim /etc/sysconfig/network-scripts/ifcfg-ens33修改或确保以下关键参数BOOTPROTOstatic # 改为static ONBOOTyes # 确保是yes开机自启 IPADDR192.168.1.100 # 你的静态IP NETMASK255.255.255.0 # 子网掩码或使用PREFIX24 GATEWAY192.168.1.1 # 网关 DNS18.8.8.8 # 主DNS DNS2114.114.114.114 # 备DNS重启网络服务systemctl restart network第三步更换软件源Yum Repo由于官方源已停止更新直接使用会报错或找不到包。我们必须将基础源切换到vault.centos.org的归档源并添加第三方持续维护的源如EPEL。备份原有repo文件cd /etc/yum.repos.d/ mkdir bak mv CentOS-*.repo bak/创建新的CentOS-Base.repovim /etc/yum.repos.d/CentOS-Base.repo填入以下内容以阿里云vault源为例[base] nameCentOS-$releasever - Base - mirrors.aliyun.com baseurlhttps://mirrors.aliyun.com/centos-vault/7.9.2009/os/$basearch/ gpgcheck1 gpgkeyhttps://mirrors.aliyun.com/centos-vault/RPM-GPG-KEY-CentOS-7 [updates] nameCentOS-$releasever - Updates - mirrors.aliyun.com baseurlhttps://mirrors.aliyun.com/centos-vault/7.9.2009/updates/$basearch/ gpgcheck1 gpgkeyhttps://mirrors.aliyun.com/centos-vault/RPM-GPG-KEY-CentOS-7 [extras] nameCentOS-$releasever - Extras - mirrors.aliyun.com baseurlhttps://mirrors.aliyun.com/centos-vault/7.9.2009/extras/$basearch/ gpgcheck1 gpgkeyhttps://mirrors.aliyun.com/centos-vault/RPM-GPG-KEY-CentOS-7安装EPEL源 EPELExtra Packages for Enterprise Linux由Fedora社区维护提供了大量CentOS官方源中没有的优质软件包。# 从阿里云下载EPEL的安装包 wget -O /tmp/epel-release.rpm https://mirrors.aliyun.com/epel/epel-release-latest-7.noarch.rpm # 安装 rpm -ivh /tmp/epel-release.rpm安装后编辑/etc/yum.repos.d/epel.repo将其中的metalink行注释掉启用baseurl行并将baseurl指向阿里云镜像例如baseurlhttps://mirrors.aliyun.com/epel/7/$basearch清理并重建缓存yum clean all yum makecache第四步安全与便利性基础设置创建日常用户并赋予sudo权限useradd yourusername passwd yourusername usermod -aG wheel yourusername # 将用户加入wheel组默认wheel组有sudo权限之后建议使用新用户通过SSH登录而非直接使用root。配置SSH服务可选但重要修改SSH端口编辑/etc/ssh/sshd_config修改Port 22为其他端口如Port 2222。禁止root直接登录找到PermitRootLogin yes改为PermitRootLogin no。重启SSH服务systemctl restart sshd。注意修改端口和禁止root前务必确保你的新用户可以通过sudo提权并且防火墙放行了新的SSH端口否则可能导致无法远程连接。配置防火墙 CentOS 7默认使用firewalld。开放常用端口firewall-cmd --permanent --add-servicessh # 如果改了SSH端口用 --add-port2222/tcp firewall-cmd --permanent --add-servicehttp firewall-cmd --permanent --add-servicehttps firewall-cmd --reload5. 针对常见场景的深度配置与避坑指南一个纯净的Minimal系统只是开始。根据你要部署的应用还需要进行针对性配置。这里分享几个高频场景下的关键步骤和容易踩的坑。5.1 场景一部署Web服务如NginxPHP安装NginxEPEL源中的Nginx版本可能较旧。可以考虑从Nginx官方Yum源安装。# 添加Nginx官方源 vim /etc/yum.repos.d/nginx.repo输入[nginx-stable] namenginx stable repo baseurlhttp://nginx.org/packages/centos/$releasever/$basearch/ gpgcheck1 enabled1 gpgkeyhttps://nginx.org/keys/nginx_signing.key然后安装yum install -y nginx安装PHPCentOS 7默认源中的PHP是5.4太老。必须用Remi源。# 安装Remi源 yum install -y https://rpms.remirepo.net/enterprise/remi-release-7.rpm # 启用Remi仓库中的PHP 7.4或其他版本 yum-config-manager --enable remi-php74 # 安装PHP及常用扩展 yum install -y php php-fpm php-mysqlnd php-gd php-mbstring php-xml避坑点Remi源和EPEL源有依赖关系确保EPEL源已正确安装和启用。安装后PHP-FPM的配置文件在/etc/php-fpm.d/www.conf需要配置用户、组以及与Nginx的通信方式通常是socket。配置Nginx与PHP-FPM联动在Nginx的server配置块中处理.php请求的典型配置location ~ \.php$ { fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; }确保/var/run/php-fpm/目录的权限让Nginx用户通常是nginx能访问到socket文件。通常将nginx用户加入php-fpm用户的组或直接修改socket文件的权限。5.2 场景二部署数据库如MySQL 5.7CentOS 7默认源中的MySQL被替换为了MariaDB。如果需要原版MySQL 5.7这也是很多老应用的要求必须从MySQL官方Yum源安装。添加MySQL官方Yum源wget https://dev.mysql.com/get/mysql80-community-release-el7-7.noarch.rpm rpm -ivh mysql80-community-release-el7-7.noarch.rpm这个包默认启用的是MySQL 8.0。我们需要禁用8.0启用5.7。yum-config-manager --disable mysql80-community yum-config-manager --enable mysql57-community安装MySQL 5.7yum install -y mysql-community-server启动与安全初始化systemctl start mysqld systemctl enable mysqld安装后MySQL会为root生成一个临时密码查看日志获取grep temporary password /var/log/mysqld.log使用该密码登录并立即运行安全脚本修改密码mysql_secure_installation避坑点MySQL 5.7默认启用了密码强度验证插件。如果你设置的密码过于简单会报错。可以临时降低密码策略级别修改后再恢复。-- 登录MySQL后执行 SET GLOBAL validate_password_policyLOW; SET GLOBAL validate_password_length4; -- 然后修改密码 ALTER USER rootlocalhost IDENTIFIED BY 你的新密码;5.3 场景三时间同步与本地化设置服务器时间不准会引发无数诡异问题。配置Chrony推荐 CentOS 7默认已安装Chrony它是一个更现代的NTP客户端。# 编辑配置文件 vim /etc/chrony.conf # 添加或替换为国内的NTP服务器例如 server ntp.aliyun.com iburst server ntp1.aliyun.com iburst server ntp2.aliyun.com iburst # 重启服务并设为开机自启 systemctl restart chronyd systemctl enable chronyd # 查看同步状态 chronyc sources -v设置系统时区timedatectl set-timezone Asia/Shanghai # 检查 timedatectl status系统语言环境 虽然我们安装了中文支持但服务器环境通常建议保持LANGen_US.UTF-8避免某些软件在中文环境下出现乱码或行为异常。可以在用户配置文件~/.bashrc或~/.bash_profile中设置echo export LANGen_US.UTF-8 ~/.bash_profile source ~/.bash_profile6. 生命周期结束EOL后的维护策略CentOS 7已于2024年6月30日停止所有维护。这意味着不再有官方的安全更新、错误修复或功能增强。继续使用它存在安全风险。但现实是大量遗留系统无法立即迁移。如果你不得不继续使用必须采取额外的加固和监控措施。严格的网络隔离将CentOS 7系统置于内网通过跳板机访问严格限制其暴露在公网的服务和端口。使用防火墙规则firewalld或iptables实施最小化访问原则。应用层安全既然系统层无法更新就要确保运行在其上的应用软件如Web服务器、数据库、业务应用保持最新并遵循安全最佳实践。例如即使系统内核有漏洞如果攻击无法通过Nginx、MySQL或你的业务应用触达风险也能降低。考虑替代的更新源谨慎评估CentOS 7的扩展支持一些第三方商业公司如CloudLinux提供付费的扩展生命周期支持ELS可以继续获得关键安全补丁。这需要付费订阅。迁移到兼容发行版这是最推荐的长期方案。可以考虑迁移到AlmaLinux或Rocky Linux它们旨在1:1兼容RHEL以及曾经的CentOS并且承诺提供10年的支持周期。从CentOS 7迁移到它们有官方工具支持例如elevate但过程仍需仔细测试。Oracle Linux也提供免费版本并与RHEL高度兼容。彻底重装对于非核心测试环境备份数据后直接在新系统如AlmaLinux 8/9上重新部署应用可能是最干净的选择。加强监控与审计部署入侵检测系统如OSSEC、加强日志审计配置auditd规则、定期进行漏洞扫描使用OpenSCAP等工具及时发现异常行为。最后我想说的是下载和安装CentOS 7 Mini版在今天更像是一个“考古”或“救火”动作。这篇文章提供的所有链接和步骤是为了帮助那些确实有历史包袱的同行能安全、高效地完成基础搭建。但每一个新项目、新环境的起点都应该是那些拥有活跃社区和长期支持的现代发行版。处理好旧系统是为了更好地拥抱新时代。
返回列表