• linux在非联网、无网络环境下,使用yumdownload、reportrack方法安装rpm包



    前言

    当开发者在联网环境下使用Linux时,可以轻松地通过yum或apt-get安装软件。然而,在公司和企业中,由于安全原因,生产环境通常无法访问互联网,这就需要进行离线安装。离线安装有两种主要方式可选:

    1. 源码编译:源码编译耗时且需要合适的编译环境,因此一般情况下较少选择此方法。
    2. RPM包安装:相比源码编译,使用离线的RPM包安装更为便捷和高效。
      因此,本文将详细介绍在无网络环境下如何进行RPM包的安装和使用。

    1、下载yum-utils​​

    首先,在一台可联网的虚拟机上,下载​​yum-utils工具包​​。对于 CentOS/RHEL 系统,可以使用以下命令:

    sudo yum install yum-utils
    
    • 1

    在这个工具包中,两个非常有用的命令,可以帮助用户在没有网络连接的情况下,获取软件包及其依赖项并进行离线安装。分别是:

    1. yumdownloader
    2. repotrack

    2、yumdownloader

    在安装 yum-utils 包后。在大多数基于 RHEL/CentOS 的系统上,可以直接使用以下组合命令去下载:

    yumdownloader --resolve --destdir=<destination-folder> <package-name>
    
    • 1
    解释:
     :替换为要下载的软件包的名称。
    --resolve:此命令将下载指定软件包及其所有依赖项。
    --destdir:指定下载目录。将  替换为要保存软件包的目录。
    
    • 1
    • 2
    • 3
    • 4

    以下载net-tools为例:

    yumdownloader --resolve --destdir=/opt/temp/yumdownloader/net-tools net-tools
    
    • 1

    在这里插入图片描述
    下载的内容:

    cd /opt/temp/yumdownloader/net-tools
    
    • 1

    在这里插入图片描述


    3、repotrack

    可以直接使用以下命令去下载:

    repotrack -p  
    
    • 1
    解释:
     :替换为要下载的软件包的名称。
    -p:指定下载的地址。将  替换为要保存软件包的目录。
    
    • 1
    • 2
    • 3

    以下载net-tools为例:

    repotrack -p /opt/temp/repotrack/net-tools net-tools
    
    • 1

    在这里插入图片描述
    下载的内容:

    cd /opt/temp/repotrack/net-tools
    
    • 1

    在这里插入图片描述


    4、区别:

    总之,两个命令的选择,取决于具体需求和场景:
    yumdownloader:下载指定软件包及其依赖项,下载速度较快。但它无法自动下载依赖包的依赖项,需要手动处理。
    repotrack:下载整个软件仓库的所有软件包及其依赖项,并自动处理软件包之间的依赖关系,节省了寻找依赖项的时间。但是下载速度较慢。

    两个命令如何选择?
    对于新的虚拟机,由于缺少的安装包较多,建议使用 repotrack。
    当需要进行安装包升级,或者所需软件包不缺少依赖项时,推荐使用 yumdownloader。


    总结

    yumdownloader:下载速度较快。但是无法下载依赖包的依赖包
    repotrack:下载速度较慢。但可以下载依赖包的依赖包。

  • 相关阅读:
    Hadoop Hive HBase调优
    236. 二叉树的最近公共祖先
    虚拟化知识学习
    JVM在线分析-监控工具(jps, jstat, jstatd)
    JavaWeb概念视频笔记
    Docker服务systemd配置文件详解
    关于相亲的那些事儿
    这些功能要是没有,我大 Pro 还怎么出来混!
    Spring架构浅析
    JAVA传值和传引用的区别
  • 原文地址:https://blog.csdn.net/weixin_45118229/article/details/134480175