[转帖]yum 下载全量依赖 rpm 包及离线安装(终极解决方案)

yum,下载,依赖,rpm,离线,安装,终极,解决方案 · 浏览次数 : 0

小编点评

**简介** 通常生产环境由于安全原因无法访问互联网,因此需要进行离线安装。主要有两种方式:源码编译和 RPM 包安装。 **验证环境** * Centos 7.2 **依赖包查询** 可以使用 `yum deplist ansible软件包:ansible.noarch 2.9.3-1.el7` 命令查找 `ansible` rpm 的依赖包。 **安装方案** **方案一:repotrack** 1. 安装 `yum-utils`。 2. 下载 `ansible` 全量依赖包。 3. 使用 `repotrack` 命令安装 `ansible`。 **方案二:yumdownloader** 1. 安装 `yum-utils`。 2. 下载 `ansible` 依赖包。 3. 使用 `yumdownloader` 命令安装 `ansible`。 **方案三:yum 的 downloadonly 插件** 1. 安装 `yum-download` 插件。 2. 下载 `ansible` 依赖包。 3. 使用 `yum -y install ansible --downloadonly --downloaddir=/tmp` 命令安装 `ansible`。 **其他提示** * 使用 `--destdir` 参数指定 rpm 包下载目录。 * 使用 `--resolve` 参数确保下载所有依赖关系包。 * 使用 `--downloadonly` 参数仅下载主软件包和依赖关系包。

正文

简介

通常生产环境由于安全原因都无法访问互联网。此时就需要进行离线安装,主要有两种方式:源码编译、rpm包安装。源码编译耗费时间长且缺乏编译环境,所以一般都选择使用离线 rpm 包安装。

验证环境

Centos 7.2

查看依赖包

可以使用“yum deplist”命令来查找 rpm 包的依赖列表。例如,要查找“ansible”rpm的依赖包:

  1. $ yum deplist ansible
  2. 软件包:ansible.noarch 2.9.3-1.el7
  3. 依赖:/usr/bin/env
  4. provider: coreutils.x86_64 8.22-24.el7
  5. 依赖:/usr/bin/python2
  6. provider: python.x86_64 2.7.5-86.el7
  7. 依赖:PyYAML
  8. provider: PyYAML.x86_64 3.10-11.el7
  9. 依赖:python(abi) = 2.7
  10. provider: python.x86_64 2.7.5-86.el7
  11. 依赖:python-httplib2
  12. provider: python-httplib2.noarch 0.9.2-1.el7
  13. 依赖:python-jinja2
  14. provider: python-jinja2.noarch 2.7.2-4.el7
  15. 依赖:python-paramiko
  16. provider: python-paramiko.noarch 2.1.1-9.el7
  17. 依赖:python-setuptools
  18. provider: python-setuptools.noarch 0.9.8-7.el7
  19. 依赖:python-six
  20. provider: python-six.noarch 1.9.0-2.el7
  21. 依赖:python2-cryptography
  22. provider: python2-cryptography.x86_64 1.7.2-2.el7
  23. 依赖:python2-jmespath
  24. provider: python2-jmespath.noarch 0.9.0-3.el7
  25. 依赖:sshpass
  26. provider: sshpass.x86_64 1.06-2.el7

方案一(推荐):repotrack

  1. # 安装yum-utils
  2. $ yum -y install yum-utils
  3. # 下载 ansible 全量依赖包
  4. $ repotrack ansible

方案二:yumdownloader

  1. # 安装yum-utils
  2. $ yum -y install yum-utils
  3. # 下载 ansible 依赖包
  4. $ yumdownloader --resolve --destdir=/tmp ansible

参数说明:

  • --destdir:指定 rpm 包下载目录(不指定时,默认为当前目录)
  • --resolve:下载依赖的 rpm 包。

注意

仅会将主软件包和基于你现在的操作系统所缺少的依赖关系包一并下载。

方案三:yum 的 downloadonly 插件

  1. # 安装插件
  2. $ yum -y install yum-download
  3. # 下载 ansible 依赖包
  4. $ yum -y install ansible --downloadonly --downloaddir=/tmp

注意

与 yumdownloader 命令一样,也是仅会将主软件包和基于你现在的操作系统所缺少的依赖关系包一并下载。

离线安装 rpm

  1. # 离线安装
  2. $ rpm -Uvh --force --nodeps *.rpm
文章知识点与官方知识档案匹配,可进一步学习相关知识

与[转帖]yum 下载全量依赖 rpm 包及离线安装(终极解决方案)相似的内容:

[转帖]yum 下载全量依赖 rpm 包及离线安装(终极解决方案)

简介 通常生产环境由于安全原因都无法访问互联网。此时就需要进行离线安装,主要有两种方式:源码编译、rpm包安装。源码编译耗费时间长且缺乏编译环境,所以一般都选择使用离线 rpm 包安装。 验证环境 Centos 7.2 查看依赖包 可以使用“yum deplist”命令来查找 rpm 包的依赖列表。

[转帖]使用repotrack下载指定rpm包及其全量依赖包

https://www.cnblogs.com/sunbines/p/16965202.html 查看 查看提供某个命令/value的rpm包: yum provides [value] 查看rpm包所需的全部依赖: yum命令的参数有很多,其中就有只是下载而不需要安装的命令,并且也会自动解决依赖;

[转帖]通过yum命令只下载rpm包

https://www.cnblogs.com/sunbines/p/16404334.html 正文 遇到服务器没有网络的情况下部署环境,或者创建自己的 yum 仓库等。每次都是在网上搜搜搜,都是五花八门,自己整理了下自己用到的以下三种方式,这里没有太多废话,只是如何安装并示例经常用到的方式,如果

[转帖]使用yum install和reposync下载rpm安装包以及wget和curl下载文件

记录:311 场景:在CentOS 7.9操作系统,使用yum install --downloadonly命令下载rpm安装包和依赖包;使用reposync命令下载远程yum源镜像仓库;使用wget命令下载指定文件;使用curl下载指定文件。 版本: 操作系统:CentOS 7.9 1.基础环境

[转帖]通过yum展示安装包依赖关系,下载rpm包

https://www.cnblogs.com/hellxz/p/13212392.html 背景 平时测试环境中,服务器是可以访问外网的,而在内网环境,想要安装一些软件,比如docker,就需要离线安装,需要提前准备好需要的rpm安装包以及其依赖包 本文记录下如何使用yum展示软件包的依赖关系,以

[转帖]mysql8.0的RPM方式安装

https://www.cnblogs.com/asker009/p/15072354.html 1. 下载 https://dev.mysql.com/downloads/ 使用wget下载yum的源信息: wget -i -c https://dev.mysql.com/get/mysql57-

[转帖]docker编译speccpu2017

实验步骤: 1.下载docker和speccpu2017 2.docker下载镜像,创建容器 3.将下载的宿主机speccpu2017拷贝到docker创建的容器中(docker cp) 4.在docker容器(docker exec)中编译运行speccpu2017 下载docker yum in

[转帖]CentOS8安装MySQL8详细教程,爬坑必备

https://www.ab62.cn/article/23022.html 安装环境 CentOS:8.5.2111MySQL:8.0.30 MySQL Community Server 安装过程 下载MySQL Yum Repository 官网查看MySQL的yum仓库列表,地址https:/

[转帖]axel 下载与安装

一.安装必要的库 yum -y install openssl-devel gcc 二.下载源码包 wget -O axel-2.17.11.tar.gz http://github.com/axel-download-accelerator/axel/releases/download/v2.17

[转帖]制作本地epel镜像仓库(reposync下载、createrepo制作、httpd发布)

记录:310 场景:在CentOS 7.9操作系统上,使用reposync从开源镜像站下载epel镜像仓库的rpm包;使用createrepo制作本地epel镜像仓库;使用httpd发布服务。解决内网中使用yum命令安装软件时,缺少依赖包的需求。 版本: 操作系统:CentOS 7.9 名词: EP