如何通过CentOS镜像轻松实现系统更新,进而有效提升系统性能?
- 内容介绍
- 文章标签
- 相关推荐
说到痛点直击,为何你的CentOS程序更新总是“踩坑”?
亲爱的运维同仁。你是否曾遭遇过以下困境:
-
官方源龟速下载: 执行
yum update半天无响应,下载速度仅几十KB/s,更新一次程序耗时数小时?其实, - 生产环境不敢动: 担心内核升级导致驱动不兼容、业务中断。只能看着CVE漏洞堆积却不敢下手?
- 离线环境“孤岛”难更新: 内网隔离机器无法连外网,手动下载RPM包又陷入“依赖地狱”无法自拔?
- 版本跨度大升级怕: 想从CentOS 7升级到8/9 Stream。却不知从何下手,生怕一条命令把程序搞崩?
别担心,
一、 主要准备:更新前的“保命符”与“体检单”
1. 数据备份——运维铁律。 不可违抗
动机: 任何更新前的第一步先。内核恐慌、配置文件覆盖、应用不兼容均可能导致数据丢失。
# 建议备份关键目录
tar -czvf /backup/etc_$.tar.gz /etc
tar -czvf /backup/var_$.tar.gz /var
# 若有数据库/业务数据,务必单独导出备份!
2. 环境体检——知己知彼百战不殆
-
检查当前版本:
cat /etc/redhat-release -
检查硬盘空间:
df -h /boot / /var/cache/yum # /boot空间不足是内核更新失败主因!预留至少500MB+ -
检查网络/DNS:
- 快照/镜像级备份: 控制台创建自定义镜像或磁盘快照,失败秒级回滚。
二、 场景一:在线极速更新——换源+清理缓存,“飞一般的感觉”
痛点解决 : 官方源慢、连不上、报错 “Cannot find a valid baseurl for repo”。
1 . 极速换源
# CentOS 7示例
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
# CentOS Stream 8/9
# dnf config-manager --add-repo=https://mirrors.aliyun.com/repo/Centos-8.repo #示例
2 . 清理重建缓存——解决元数据损坏/陈旧问题
sudo yum clean all # 清理所有缓存
sudo yum makecache fast # 快速生成元数据缓存
# 或强制重建: sudo yum makecache
3 . 一键更新全量包
sudo yum update -y # 生产环境建议先去掉-y 预览确认
# 或仅更新安全补丁:
# sudo yum update --security -y
4 . 自动化运维工具 —— 配置定时自动更新
sudo yum install -y yum-cron # CentOS 7
sudo systemctl enable --now yum-cron
# 编辑策略: vim /etc/yum/yum-cron.conf
apply_updates = yes # 自动应用更新
update_cmd = security # 仅安全更新
update_messages = yes # 输出日志至/var/log/yum.log
email_to = # 配合mailx发送通知
systemctl restart yum-cron # 生效
# CentOS Stream 8/9 推荐使用 dnf-automatic
sudo dnf install -y dnf-automatic
systemctl enable --now dnf-automatic.timer
三、场景二:离线/内网环境 —— 挂载ISO镜像建立本地YUM/DNF源,“孤岛”也能畅游
1 . 获取并挂载ISO镜像
>mkdir -p /mnt/cdrom >>挂载点自定义<
<-h-<-c-r-e-a-t-e---l-o-c-a-l--r-e-p-o--c-o-n-f-i-g-u-r-a-t-i-o-n--->-<-/h->- <-p-r-e->-><-c-o-d-e->-<-c-a-t------>>//e-t-c-/y-u-m-.r-e-p-o-s-.d-/l-o-c-a-l-.r-e-p-o---<-<-E-O-F- name=Local CentOS $releasever Base baseurl=file:////mnt/cdrom/BaseOS <- <-C-e-n-t-O-S---7--i-s-->P-a-c-k-a-g-e-s-- enabled=1 <- <-S-t-r-e-a-m--8/-9--i-s-->B-a-s-e-O-S-- gpgcheck=1 #-启用GPG校验防篡改- gpgkey=file:////mnt/cdrom/RPM-GPG-KEY-CentOS-Official #-密钥方法随版本调整-
#-Stream8/9必配AppStream- name=Local AppStream #-BaseOs+AppStream双源齐飞- baseurl=file:////mnt/cdrom/AppStream< enabled=1< gpgcheck=1< gpgkey=file:////mnt/cdrom/RPM-GPG-KEY-CentOS-Official< EOF< <-/ c-o-d-e->-<-/ p-r-e->
<-h-<-t-h-r-u-b---s-h-i-p-----t-h-r-u-b----s-h-i-p--------s-h-i-p--------s-h-i-p---->> <-/ p ->
> ⚠️ 超坑避雷教程:
>Centos Stream ISO目录结构变了!老实说,BaseOs -> BasePackages
AppStream -> AppStream/Packages <>
请先 ls/mnt/cdrom确认实际目录名再写 baseurl!GPG密钥文件名可能不同,请 ls/mnt/cdrom 查找!<>/
<>/
<>/
<>/
<>/
<>/
<>/
<>/
<>/
<>/
<>/
<>/
<> <> <> <> <>/> <>/> <>/> <> <> <> <> <> <> <> <> <> <>/> <>/> <> <> <> <>/>
说到痛点直击,为何你的CentOS程序更新总是“踩坑”?
亲爱的运维同仁。你是否曾遭遇过以下困境:
-
官方源龟速下载: 执行
yum update半天无响应,下载速度仅几十KB/s,更新一次程序耗时数小时?其实, - 生产环境不敢动: 担心内核升级导致驱动不兼容、业务中断。只能看着CVE漏洞堆积却不敢下手?
- 离线环境“孤岛”难更新: 内网隔离机器无法连外网,手动下载RPM包又陷入“依赖地狱”无法自拔?
- 版本跨度大升级怕: 想从CentOS 7升级到8/9 Stream。却不知从何下手,生怕一条命令把程序搞崩?
别担心,
一、 主要准备:更新前的“保命符”与“体检单”
1. 数据备份——运维铁律。 不可违抗
动机: 任何更新前的第一步先。内核恐慌、配置文件覆盖、应用不兼容均可能导致数据丢失。
# 建议备份关键目录
tar -czvf /backup/etc_$.tar.gz /etc
tar -czvf /backup/var_$.tar.gz /var
# 若有数据库/业务数据,务必单独导出备份!
2. 环境体检——知己知彼百战不殆
-
检查当前版本:
cat /etc/redhat-release -
检查硬盘空间:
df -h /boot / /var/cache/yum # /boot空间不足是内核更新失败主因!预留至少500MB+ -
检查网络/DNS:
- 快照/镜像级备份: 控制台创建自定义镜像或磁盘快照,失败秒级回滚。
二、 场景一:在线极速更新——换源+清理缓存,“飞一般的感觉”
痛点解决 : 官方源慢、连不上、报错 “Cannot find a valid baseurl for repo”。
1 . 极速换源
# CentOS 7示例
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
# CentOS Stream 8/9
# dnf config-manager --add-repo=https://mirrors.aliyun.com/repo/Centos-8.repo #示例
2 . 清理重建缓存——解决元数据损坏/陈旧问题
sudo yum clean all # 清理所有缓存
sudo yum makecache fast # 快速生成元数据缓存
# 或强制重建: sudo yum makecache
3 . 一键更新全量包
sudo yum update -y # 生产环境建议先去掉-y 预览确认
# 或仅更新安全补丁:
# sudo yum update --security -y
4 . 自动化运维工具 —— 配置定时自动更新
sudo yum install -y yum-cron # CentOS 7
sudo systemctl enable --now yum-cron
# 编辑策略: vim /etc/yum/yum-cron.conf
apply_updates = yes # 自动应用更新
update_cmd = security # 仅安全更新
update_messages = yes # 输出日志至/var/log/yum.log
email_to = # 配合mailx发送通知
systemctl restart yum-cron # 生效
# CentOS Stream 8/9 推荐使用 dnf-automatic
sudo dnf install -y dnf-automatic
systemctl enable --now dnf-automatic.timer
三、场景二:离线/内网环境 —— 挂载ISO镜像建立本地YUM/DNF源,“孤岛”也能畅游
1 . 获取并挂载ISO镜像
>mkdir -p /mnt/cdrom >>挂载点自定义<
<-h-<-c-r-e-a-t-e---l-o-c-a-l--r-e-p-o--c-o-n-f-i-g-u-r-a-t-i-o-n--->-<-/h->- <-p-r-e->-><-c-o-d-e->-<-c-a-t------>>//e-t-c-/y-u-m-.r-e-p-o-s-.d-/l-o-c-a-l-.r-e-p-o---<-<-E-O-F- name=Local CentOS $releasever Base baseurl=file:////mnt/cdrom/BaseOS <- <-C-e-n-t-O-S---7--i-s-->P-a-c-k-a-g-e-s-- enabled=1 <- <-S-t-r-e-a-m--8/-9--i-s-->B-a-s-e-O-S-- gpgcheck=1 #-启用GPG校验防篡改- gpgkey=file:////mnt/cdrom/RPM-GPG-KEY-CentOS-Official #-密钥方法随版本调整-
#-Stream8/9必配AppStream- name=Local AppStream #-BaseOs+AppStream双源齐飞- baseurl=file:////mnt/cdrom/AppStream< enabled=1< gpgcheck=1< gpgkey=file:////mnt/cdrom/RPM-GPG-KEY-CentOS-Official< EOF< <-/ c-o-d-e->-<-/ p-r-e->
<-h-<-t-h-r-u-b---s-h-i-p-----t-h-r-u-b----s-h-i-p--------s-h-i-p--------s-h-i-p---->> <-/ p ->
> ⚠️ 超坑避雷教程:
>Centos Stream ISO目录结构变了!老实说,BaseOs -> BasePackages
AppStream -> AppStream/Packages <>
请先 ls/mnt/cdrom确认实际目录名再写 baseurl!GPG密钥文件名可能不同,请 ls/mnt/cdrom 查找!<>/
<>/
<>/
<>/
<>/
<>/
<>/
<>/
<>/
<>/
<>/
<>/
<> <> <> <> <>/> <>/> <>/> <> <> <> <> <> <> <> <> <> <>/> <>/> <> <> <> <>/>

