yum下载rpm相关包

方法一:yum

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

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

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

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

以上的[repository]表示下载包的来源仓库的名称(例如:base、fedora、updates)

如果你想要将一个包下载到一个指定的目录(如/tmp):

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

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

另外一个重要的事情是,在CentOS/RHEL 6或更早期的版本中,你需要安装一个单独yum插件(名称为 yum-plugin-downloadonly)才能使用--downloadonly命令选项:

  1. $ sudo yum install yum-plugin-downloadonly 

如果没有该插件,你会在使用yum时得到以下错误:

  1. Command line error: no such option: --downloadonly

方法二: Yumdownloader

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

  1. $ sudo yum install yum-utils 

下载一个RPM包:

  1. $ sudo yumdownloader <package-name> 

下载的包会被保存在当前目录中。你需要使用root权限,因为yumdownloader会在下载过程中更新包索引文件。与yum命令不同的是,任何依赖包不会被下载。

下载lsof示例:

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

http://ask.xmodulo.com/yum-download-rpm-package.html

### 使用 Yum 下载 RPM 并保存到本地目录的方法 在 CentOS 或 RedHat 系统中,可以使用 `yum` 命令将 RPM 及其依赖项下载到本地指定目录。以下是具体实现方法: #### 方法一:使用 `--downloadonly` 和 `--downloaddir` 参数 可以通过安装 `yum-downloadonly` 插件来实现只下载而不安装 RPM 的功能。首先需要安装插件: ```bash yum -y install yum-plugin-downloadonly ``` 然后使用以下命令下载 RPM 到指定目录: ```bash yum install --downloadonly --downloaddir=/目标路径 软件名称 ``` 例如,下载 `libXScrnSaver` 到 `/usr/local` 目录: ```bash yum install --downloadonly --downloaddir=/usr/local libXScrnSaver ``` 此方法会将主软件和当前系统缺少的依赖关系一起下载到指定目录[^1]。 #### 方法二:修改 `yum.conf` 配置文件 通过编辑 `/etc/yum.conf` 文件,添加以下两行配置,使得下载RPM 被保存到指定路径: ``` keepcache=1 cachedir=/自定义缓存路径 ``` 之后执行 `yum install xxxx` 命令时,RPM 会被下载到配置的路径下的 `packages` 子目录中。这种方法适合需要批量下载 RPM 的场景[^2]。 #### 方法三:使用 `repotrack` 工具 如果希望确保所有依赖项都被下载括可能已存在于系统的依赖项),可以使用 `repotrack` 工具。首先安装 `yum-utils` : ```bash yum -y install yum-utils ``` 然后使用以下命令下载指定软件及其所有依赖项: ```bash repotrack -a $(arch) -p /目标路径 软件名称 ``` 例如,下载 `gd` 及其依赖项到 `/usr/local/gd` 目录: ```bash repotrack -a $(arch) -p /usr/local/gd gd ``` 此方法适用于需要离线安装的场景,因为它会下载完整的依赖树[^4]。 #### 安装 RPM 下载完成后,可以通过以下命令进行安装: ```bash rpm -Uvh --force --nodeps /路径/*.rpm ``` 例如,安装 `/usr/local` 目录下的所有 RPM : ```bash rpm -Uvh --force --nodeps /usr/local/*.rpm ``` ### 注意事项 - 如果目标机器是离线环境,建议先在联网环境中下载所有必要的 RPM 及其依赖项,再将其复制到离线机器上安装[^3]。 - 在使用 `repotrack` 时,请确保目标路径有足够的存储空间,因为可能会下载大量依赖项[^5]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值