如何下载特定版本的 Debian 软件包及其所有依赖项(包括推荐的)而不进行安装?

如何下载特定版本的 Debian 软件包及其所有依赖项(包括推荐的)而不进行安装?

我们可以使用 apt-rdepends 或 apt-cache 来下载一个包及其所有依赖项。

但要下载一个 deb 包具体版本及其各自的依赖项。以上命令不支持指定版本。

我只是想下载它们,以便可以在没有互联网连接的任何其他系统上设置本地 deb repo。

请注意,我将无法获得安装包的系统(离线系统)的详细信息/访问权限。请帮忙。

答案1

您的问题在 stackoverflow 上被问到https://stackoverflow.com/questions/13756800/how-to-download-all-dependencies-and-packages-to-directory

让我们将我的更新后的答案复制到这里。

# aptitude clean
# aptitude --download-only install <your_package_here>=<version_here>
# cp /var/cache/apt/archives/*.deb <your_directory_here>

但上面的答案被评论了

仅当您没有本地安装该包或其依赖项时,此功能才有效。

还有另一个答案。

aptitude --download-only ...只有当您拥有可以连接互联网的 Debian 发行版时,此方法才有效。

如果没有的话,我认为最好在断开连接的 Debian 机器上运行以下脚本:

apt-get --print-uris --yes install <my_package_name> | grep ^\' | cut -d\' -f2 >downloads.list

将 downloads.list 文件移动到连接的 Linux(或非 Linux)机器中,然后运行:

wget --input-file myurilist

这会将您的所有文件下载到当前目录中。之后,您可以将它们复制到 USB 密钥上并安装在断开连接的 Debian 机器上。

致谢:http://www.tuxradar.com/answers/517

PS 我基本上复制了博客文章,因为它的可读性不强,而且以防帖子消失。

上面这个答案有两条评论。

apt-get 方法仅在包未安装时才有效 - A。

添加-qq到 apt-get 行可以消除对 grep 的需求(以及对 --assume-yes 的需求)

我希望您能根据 stackoverflow 文章找到最佳解决方案。

相关内容