我正在使用 CentOS 6.3。
最近我偶然遇到repotrack
了yum-utils
。
yumdownloader --resolve
并且repotrack
看起来非常相似,但它看起来yumdownloader
只下载部分依赖项,而不是repotrack
所有依赖项。
你试一试
yumdownloader --destdir=/tmp/download --assumeyes --resolve parted
相对
repotrack parted
yumdownloader --resolve
和有什么区别repotrack
?
答案1
yumdownloader --resolve
应该解决所有依赖关系并下载软件包
repotrack parted
还解决依赖关系并下载它们
我的猜测是,repotrack 正在下载任何架构的所有依赖项,因为您似乎没有指定架构,这可以解释您看到的下载内容的差异。
我相信你使用repotrack -a
开关来指定你的架构
答案2
请记住,yumdownloader 在解决依赖关系时将使用您的 yum 数据库。
例如,如果您下载需要 glibc 的 bash,它将解析 glibc 并跳过它,因为它已安装。如果您想下载所有依赖项,请使用不同的 installroot。
它下载所有依赖项:
yumdownloader --installroot=/tmp/empty-directory --resolve bash
答案3
yumdownloader [options] package1 [package2...]
http://linux.die.net/man/1/yumdownloader
这似乎会下载软件包及其主要依赖项。但它不会下载依赖项的依赖项。它仅有的下载包的顶级依赖项。
repotrack [options] package1 [package2...]
http://man7.org/linux/man-pages/man1/repotrack.1.html
这将下载软件包及其所有依赖项以及所需的子级依赖项。
后一种选择对于获取填充您自己的单源存储库所需的每个依赖项来说要好得多。
答案4
Repotrack 下载软件包的所有可能依赖项 - 数十或数百个。通常,本地安装这些依赖项的唯一一致方法是本地存储库。
Yumdownloader --resolve 下载您实际需要的依赖项,以及所有第一级依赖项,即使您不需要它们。从这个意义上讲,这有点奇怪,但有时很有用。
Yum --downloadonly 仅下载该特定框所需的实际依赖项。这样可以轻松安装 *.rpm。
yumdownloader 和 yum --downloadonly 都(根据设计)对已安装软件包的存在很敏感,并且应该在安装任何软件包或其依赖项之前运行。