yum离线下载实践

一、介绍

  • 通过yum包管理工具将安装包及依赖包下载到本地,使用createrepo创建本地仓库,通过yum进行本地安装,由yum仓库自行解决依赖安装问题,实现快速离线安装
  • 下载其他软件同理

二、示例离线安装ansible

1. 测试机下载安装及依赖包

sudo yum install --downloadonly --downloaddir=/tmp/createrepo createrepo
sudo yum install --downloadonly --downloaddir=/tmp/ansible ansible
tar -zcvf ansible.tar.gz /tmp/ansible
tar -zcvf createrepo.tar.gz /tmp/createrepo

打包复制到需要部署的目标服务器

2. 目标服务器安装ansible

# 解压缩
tar -zxvf ansible.tar.gz
tar -zxvf createrepo.tar.gz

# 安装createrepo
cd /tmp/createrepo/
rpm -ivh deltarpm-3.6-3.el7.x86_64.rpm
rpm -ivh python-deltarpm-3.6-3.el7.x86_64.rpm
rpm -ivh createrepo-0.9.9-28.el7.noarch.rpm

# 创建本地仓库
createrepo /tmp/ansible

# 创建yum源文件
cat  << EOF > /etc/yum.repos.d/local_repo.repo 
[local_repo]
name=My Local Repository
baseurl=file:///tmp/ansible
enabled=1
gpgcheck=0
EOF

# 加载yum并生成缓存
sudo yum makecache

# 下载ansible
sudo yum --enablerepo=local_repo install ansible