当前位置: 首页 > news >正文

外网下载内网部署:Yum离线升级Linux软件包

近期安全扫描发现我们的生产环境存在多个系统漏洞,需要紧急升级相关安装包。然而,生产服务器部署在内网隔离环境中,无法直接访问外部软件仓库。面对这一挑战,团队同事推荐了一个高效的解决方案:使用yum install --downloadonly命令进行离线包外下内部。今天,我将分享一种高效的方法:利用yum install --downloadonly功能在外网环境下载所需RPM包,然后在内网环境中进行安全部署。

🛠️downloadonly:离线包管理的利器

  • 命令解析
# 基本语法 yum install --downloadonly --downloaddir=/home/offline-packages vsftpd -y # 参数说明 --downloadonly # 仅下载,不安装 --downloaddir # 指定下载目录 -y # 自动 yes

⬇️ 离线包下载流程

  • 单包下载
# 下载单个包及其依赖 yum install --downloadonly --downloaddir=/home/offline-packages/ vsftpd -y # 如果已安装,使用reinstall参数 yum reinstall --downloadonly --downloaddir=/home/offline-packages/ vsftpd -y
  • 批量下载多个包
# 创建需要升级的包列表 cat > package-list.txt << EOF openssl openssh-server kernel vsftpd EOF # 批量下载 while read pkg; do yum install --downloadonly --downloaddir=/home/offline-packages/ $pkg -y done < package-list.txt
  • 下载特定版本
# 下载指定版本的包 yum install --downloadonly --downloaddir=/home/offline-packages/ vsftpd-3.0.3 -y

⏳依赖处理

  • 检查下载完整性
# 查看下载的包 ls -lh /home/offline-packages/*.rpm # 统计数量 find /home/offline-packages/ -name "*.rpm" | wc -l # 生成包列表(用于审计) rpm -qip /home/offline-packages/*.rpm | grep -E "Name|Version|Release" > package-info.txt

💻内网部署

  • 传输包到内网
# 打包压缩 tar -czf offline-packages.tar.gz -C /home/offline-packages/ . # 将此问文件通过介质传输到内网,在内网服务器操作 # 1. 创建本地仓库目录 mkdir -p /opt/local-repo # 2. 解压传输的包 tar -xzf offline-packages.tar.gz -C /opt/local-repo/
  • 内网服务器使用rpm直接安装
# 直接安装所有下载的rpm包 rpm -Uvh /opt/local-repo/*.rpm # 或者按需安装 rpm -Uvh /opt/local-repo/vsftpd*.rpm /opt/local-repo/openssl*.rpm

🚀总结

通过yum install --downloadonly命令,我们可以轻松构将升级部署包在外网下载,然后传输到内网升级。这种方法不仅适用于安全升级,还可用于:

  • 新建内网服务器的快速部署

  • 多服务器批量更新

  • 特定版本软件的标准化部署

  • 紧急漏洞的快速响应

掌握这一技能,你将能够在内网环境中游刃有余地管理Linux服务器的软件包,既保证了安全性,又不失灵活性。


温馨提示:生产环境操作前,请务必在测试环境充分验证,并制定详细的回滚方案。安全无小事,谨慎每一步!

http://www.cnnetsun.cn/news/6197.html

相关文章:

  • 使用质谱进行De Novo测序
  • 5分钟掌握Ant Design Vue Pro Components:打造企业级Vue3应用的终极方案
  • Nilesoft Shell终极配置手册:从入门到精通
  • Qwen3-VL-4B-Instruct-FP8终极指南:重新定义边缘多模态AI
  • NumCpp终极指南:C++科学计算的完整解决方案
  • 从零开始搭建量子模拟环境,全面解析VSCode+Jupyter协同工作流
  • 用 Python 打造一个图形化局域网扫描器:实战网络设备发现工具
  • Android摄像头调试终极指南:V4L2 Camera APK快速上手
  • 36、Red Hat KVM 虚拟化实战指南
  • 861-LangChain框架Use-Cases - Gemini多模态RAG案例分析报告
  • vnpy可视化技术:5步打造专业级K线图表与交易界面
  • 告别机械感,亲测5款AI小说写作工具!让创作更对味
  • 1.3万亿令牌教育数据集登场:FineWeb-Edu如何重塑AI学习能力?
  • 河道水位如何实时掌握?1套监测站的故事,防汛抗旱有了“千里眼”。
  • 从微信群到智能社区:KoalaQA如何重塑企业售后服务新生态
  • 免费获取自动控制原理第3版PDF教材,开启自动化学习之旅
  • 专科女生学云计算前景好吗?怎么样?好就业吗?有前途吗?
  • Responder网络工具配置优化与故障排除实战指南
  • UnityLive2DExtractor终极指南:快速提取Live2D Cubism资源
  • AgentBench完整使用指南:快速上手LLM智能体评测框架
  • Wan2.2-T2V-5B生成视频可用于智能家居场景模拟
  • C++ 虚构造机制深度解析
  • 保护进程的驱动,真正的驱动保护,小弟弟手写并测试通过(直接可以编译)
  • 生成引擎优化(GEO)在优化网站内容与提升访客体验中的实践价值分析
  • LSTM-VAE用于特征提取和数据降维
  • 数据结构——二叉树
  • Qwen3-Next-80B-A3B-Thinking:仅激活3B参数实现800亿模型性能,大模型效率革命深度解析
  • 揭秘FSNotes:现代笔记管理的智能解决方案实战指南
  • Wan2.2-T2V-A14B在游戏开发中的应用:快速制作剧情动画
  • Redmine项目管理平台终极使用指南:新手必读FAQ