原理
1. yum install --downloadonly命令可以只获取rpm包及其相关依赖但不进行安装
2. yum install --downloadonly命令执行时,只会获取该系统未安装的那些rpm包
3. 可以利用docker环境模拟一个纯净的系统镜像,这样可以利用以上两点完成rpm获取
操作步骤
在一个可以通外网的linux环境下,安装好docker,然后拉取一下纯净的centos镜像:
docker pull centos:centos7.6.1810
编辑Dockerfile,给该镜像装一些必要的组件:
FROM centos:centos7.6.1810
RUN yum install -y centos-release-scl-rh
用该Dockerfile构建出一个新镜像:
使用以下命令获取rpm包,比如我要下载llvm-toolset-7-clang这个rpm包及其所有相关依赖:
docker run -v /mnt/vdb/download:/tmp/download centos:centos7.6.1810-extras yum install -y --downloadonly llvm-toolset-7-clang --downloaddir=/tmp/download
下载后的所有rpm包将存到本地的/mnt/vdb/download这个目录下。