背景
有的部署环境不通外网,但希望继续使用yum命令下载依赖包而不修改部署脚本逻辑。因此记录一个本地repo的建立方法。
1、获取依赖包
# 如在通网的机器上下载openssl-devel所有依赖
yumdownloader --resolve --alldeps openssl-devel
2、创建仓库
创建一个(本地)存储库并用yum
它来解决您的依赖关系。
CentOS wiki提供了一个如何做到这一点。CentOS wiki HowTos / CreateLocalRepos。
简要操作如下:
-
为本地存储库创建一个目录,例如
/home/teledb/repo
。 -
将RPM放置到该目录中:
cd /home/teledb/repo
yumdownloader --resolve --alldeps xxx -
修复一些所有权和文件系统权限:
chown -R root:root /home/teledb/repo
-
如果尚未安装,请安装
createrepo
软件包并运行createrepo /home/teledb/repo
chmod -R o-w+r /home/teledb/repo -
创建一个存储库配置文件,例如
/etc/yum.repos.d/myrepo.repo
包含[local]
name=My Awesome Repo
baseurl=file:///home/teledb/repo
enabled=1
gpgcheck=0
protect=1 -
使用安装你的软件包
yum install packagenam