• 如何使用yum下载rpm包


    yum是基于Red Hat发行版本Linux(如CentOS、Fedora、RHEl)上的默认包管理器。使用yum,你可以安装或者更新一个RPM包,并且他会自动解决包依赖关系。但是如果你只想将一个RPM包下载到你的系统上该怎么办呢? 例如,你可能想要获取一些RPM包在以后使用,或者将他们安装在另外的机器上。

    1、配置yum.conf文件保存缓存

    yum.conf是yum的配置文件,其内容如下:

    $ cat /etc/yum.conf 
     
    [main]
    cachedir=/var/cache/yum      #yum下载的RPM包的缓存目录
    keepcache=0                  #缓存是否保存,1保存,0不保存。
    debuglevel=2                 #调试级别(0-10),默认为2(具体调试级别的应用,我也不了解)。
    logfile=/var/log/yum.log     #yum的日志文件所在的位置
    exactarch=1                  #在更新的时候,是否允许更新不同版本的RPM包,比如是否在i386上更新i686的RPM包。
    obsoletes=1                  #这是一个update的参数,具体请参阅yum(8),简单的说就是相当于upgrade,允许更新陈旧的RPM包。
    gpgcheck=1                   #是否检查GPG(GNU Private Guard),一种密钥方式签名。
    plugins=1                    #是否允许使用插件,默认是0不允许,但是我们一般会用yum-fastestmirror这个插件。
    installonly_limit=3          #允许保留多少个内核包。
    exclude=selinux*             #屏蔽不想更新的RPM包,可用通配符,多个RPM包之间使用空格分离。

    若需要将执行yum install命令时的rpm包保存起来,可以将yum.conf配置文件中keepcache配置为1,并且可以设置cachedir rpm包保存的位置。

    注:该方式需要在本台机器上安装所需要的rpm包。

    2、直接下载rpm

    yum命令本身就可以用来下载一个RPM包,标准的yum命令提供了--downloadonly(只下载)的选项来达到这个目的。命令如下:

    $ sudo yum install --downloadonly <package-name>

    默认情况下,一个下载的RPM包会保存在下面的目录中:

    /var/cache/yum/x86_64/[centos/fedora-version]/[repository]/packages

    以上的[repository]表示下载包的来源仓库的名称(例如:base、fedora、updates),如果你想要将一个包下载到一个指定的目录(如/tmp):

    sudo yum install --downloadonly --downloaddir=/tmp <package-name>

    注意,如果下载的包包含了任何没有满足的依赖关系,yum将会把所有的依赖关系包下载,但是都不会被安装。

    3、使用Yumdownloader

    另外一个下载RPM包的方法就是通过一个专门的包下载工具--yumdownloader。 这个工具是yum工具包(包含了用来进行yum包管理的帮助工具套件)的子集,需要先安装对应的工具:

    sudo yum install yum-utils

    接下来皆可以使用yumdownloader来下载rpm包:

    sudo yumdownloader <package-name>

    下载的包会被保存在当前目录中。你需要使用root权限,因为yumdownloader会在下载过程中更新包索引文件。与yum命令不同的是,任何依赖包不会被下载。可以通过添加参数--destdir来设置下载路径,使用--resolve参数将所依赖的也下载:

    yumdownloader lsof --resolve --destdir=/data/mydepot/  #resolve下载依赖

    好了,本文就到这里,不足之处,欢迎指正!

    参考:https://www.cnblogs.com/wangmo/p/7205528.html

            https://blog.csdn.net/im5437/article/details/53445142

  • 相关阅读:
    如何提交docker镜像到DockerHub
    【leetcode】200. Number of Islands
    【Java NIO】一文了解NIO
    【Java】同步阻塞式(BIO)TCP通信
    【剑指offer】9、斐波拉契数列
    SolidWorks242个使用技巧
    BR(BoomerangRobot)机器人项目
    Android学习笔记基于回调的事件处理
    Android学习笔记基于监听的事件处理
    Android学习笔记Log类输出日志信息
  • 原文地址:https://www.cnblogs.com/qianyeliange/p/9257876.html
Copyright © 2020-2023  润新知