yum 系列 离线部署

Posted binarylei

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了yum 系列 离线部署相关的知识,希望对你有一定的参考价值。

yum 系列(三) 离线部署

一、下载 rpm 依赖包

准备一台 全新的 CentOS7 mini 虚拟机 ,联网下载所有所需的 rpm 包和其依赖,

yum install -y --downloadonly --downloaddir=/home/yum/packages createrepo ansible ruby rubygems

注意:

  1. 安装软件包 xxx 下载到 /xxx 位置,然后记得指定 --downloadonly,只下载,不安装。

  2. 此方法,会将主软件包和基于你现在的操作系统缺少的依赖关系包一并下载!

    基于你现在的操作系统,意味着不同版本的操作系统(桌面版、mini版等)下载的软件依赖包个数会不一样!

    你的操作系统已装的包越多,那么下下来的依赖会越少,所以请选择合适的基操作系统!

下载完成后,我们可以看到 /home/yum/packages 下有多个 rpm 包(主包及其依赖),接下来我们就利用这些 rpm 包搭建一个本地 yum 仓库。

二、搭建本地 yum 仓库

(1) 拷贝 rpm 包

将拷贝下载的 rpm 包到离线目标机器(假设为 /home/yum/packages)

(2) createrepo 安装

rpm -qa | grep libxml2 | xargs rpm -e --nodeps
rpm -qa | grep deltarpm| xargs rpm -e --nodeps

rpm -ivh /home/yum/packages/deltarpm-3.6-3.el7.x86_64.rpm
rpm -ivh /home/yum/packages/python-deltarpm-3.6-3.el7.x86_64.rpm
rpm -ivh /home/yum/packages/libxml2-2.9.1-6.el7_2.3.x86_64.rpm
rpm -ivh /home/yum/packages/libxml2-python-2.9.1-6.el7_2.3.x86_64.rpm
rpm -ivh /home/yum/packages/createrepo-0.9.9-28.el7.noarch.rpm

(3) createrepo 生成 yum 仓库

createrepo /home/yum/packages           # 生成 yum 仓库
createrepo --update /home/yum/packages  # 更新 yum 仓库

(4) 添加 yum 配制文件

cat >> /etc/yum.repos.d/yum.repo << EOF
[local]
name=Local Repository               # 名称描述
baseurl=file:///home/yum/packages   # yum 源目录,源地址,可以用 file://,ftp://,http:// 等
enabled=1       # 是否启用该 yum 源,0 为禁用
gpgcheck=0      # 检查 GPG-KEY,0 为不检查,1 为检查
EOF

注:cat > yum.repo 有则覆盖,无则生成;cat >> yum.repo 有则追加,无则生成。

(5) 更新 yum 仓库

yum clean all
yum repolist
yum makecache

完整的 shell 脚本:

# 1. 安装  createrepo
cd /home/yum/packages
rpm -qa | grep libxml2 | xargs rpm -e --nodeps
rpm -qa | grep deltarpm| xargs rpm -e --nodeps

rpm -ivh  deltarpm-3.6-3.el7.x86_64.rpm
rpm -ivh  python-deltarpm-3.6-3.el7.x86_64.rpm
rpm -ivh  libxml2-2.9.1-6.el7_2.3.x86_64.rpm
rpm -ivh  libxml2-python-2.9.1-6.el7_2.3.x86_64.rpm
rpm -ivh  createrepo-0.9.9-28.el7.noarch.rpm

# 2. 生成 yum 仓库
createrepo /home/yum/packages

# 3. 添加配制文件
cat >> /etc/yum.repos.d/yum.repo << EOF
[local]
name=Local Repository               # 名称描述
baseurl=file:///home/yum/packages   # yum 源目录,源地址,可以用 file://,ftp://,http:// 等
enabled=1       # 是否启用该 yum 源,0 为禁用
gpgcheck=0      # 检查 GPG-KEY,0 为不检查,1 为检查
EOF

# 4. 更新 yum 源
mv /etc/yum.repos.d/yum.repo/Cent* /home/yum/yum.repos.d

yum clean all
yum repolist
yum makecache

每天用心记录一点点。内容也许不重要,但习惯很重要!

以上是关于yum 系列 离线部署的主要内容,如果未能解决你的问题,请参考以下文章

本地yum源构建以及Docker离线安装

Zabbix5.4基于CentOS7离线部署

openstack 离线YUM源搭建

离线的docker部署安装

离线的docker部署安装

YUM离线安装基础依赖