离线部署yum依赖

利用本地源解决在无网环境部署应用需要解决的问题:

  1. 应用需要哪些软件包?
  2. 如何把应用依赖的软件包制作成一个精简的本地源?
  3. 如何使用本地源?

第一个问题使用yum-utils解决,它带的repotrack 命令可以把应用所依赖的软件包全部下载到本地,安装:

yum install -y yum-utils  # repotrack 工具用来下载yum依赖

以要离线部署gcc为例来下载所有相关依赖:

mkdir -p /home/oaksharks/install/yumRepo/packages
repotrack gcc -p /home/oaksharks/install/yumRepo/packages

repotrack 下载的都是 rpm包,如果用rpm安装不容易解决依赖关系,可以给这些包生成索引作为一个本地的yum源,可以使用createrepo完成
先安装:

yum install -y createrepo # 使用createrepo 创建私有yum源

给rpm包创建索引:

createrepo /home/oaksharks/install/yumRepo/packages

索引会创建到createrepo /home/oaksharks/install/yumRepo/packages/repo目录。

配置使用本地源:
创建文件/etc/yum.repos.d/CentOS-Local.repo 内容为:

[Local]
name=Local Yum
baseurl=file:///home/oaksharks/install/yumRepo/packages
gpgcheck=0
enabled=1

软件重建缓存:

yum clean all
yum makecache

可以使用yum利用本地源安装软件了:

yum install -y gcc

常见问题

怎么新加软件包?

  1. 使用repotrack 下载新的包
  2. 删除 repo目录,然后重新创建索引

已经验证此种方式切断网卡后可以正常使用,可放心食用。

posted @ 2020-09-04 16:29  oaksharks  阅读(912)  评论(0编辑  收藏  举报