如何下载带有所有依赖项和子依赖项的软件包?

如何下载带有所有依赖项和子依赖项的软件包?

已经有人问过类似的问题,但没有一个能解决我的问题:

我需要在独立的 Linux 机器上安装一个软件包,具体来说是 kdbg。现在我尝试了该命令

sudo apt-get install --download-only kdbg

在连接到互联网的盒子上,但它只下载软件包和依赖项我没有安装其中一些依赖项(该命令共下载了 117 个包)具有子依赖项,而这些子依赖项具有更多的依赖项,因此我正试图从存储库中找出这些包。

现在我尝试使用其他几个命令,据说这些命令会下载全部依赖项,甚至是我安装的依赖项。我试过了

  1. apt-get download PACKAGE && apt-cache depends -i PACKAGE | awk '/Depends:/ {print $2}' | xargs apt-get download

  1. apt-get download $(apt-rdepends <package>|grep -v "^ ")

命令一仅下载直接依赖项,例如您在 packages.ubuntu.com 上搜索 kdbg 时找到的依赖项,而命令二则给了我错误消息:

Can't select candidate version for package <package> as it has no candidate

针对几个不同的包。

因此,重申我的问题,有没有办法让我下载 kdbg、它的所有依赖项、所有这些依赖项的依赖项等等?或者也许我错误地使用了上述命令之一?

提前致谢。

答案1

您需要运行一个命令,该命令会自动解析 .deb 文件的所有依赖项,并使用相同的命令安装 .deb 文件及其缺失的依赖项。您需要一个可用的互联网连接(您有)和已安装的软件以sudo apt update && sudo apt upgrade下载任何缺失的依赖项。打开终端并输入:

apt 下载包裹名字  
apt 安装--模拟./软件包名称.deb# 试运行不安装任何东西

在哪里包裹名字应该替换为您尝试下载的包的名称,并且软件包名称.deb应该替换为您尝试安装的 .deb 文件的名称。

第二个命令不会安装任何东西,它只是一个模拟运行,用于列出离线机器上需要安装的依赖项。如果您下载的一个或多个 .deb 文件本身有未满足的依赖项,您可能还需要再次运行该命令。apt install --simulate ./package-name.deb


如果您要下载软件包的计算机上没有安装 Ubuntu,那么您可以从安装 Ubuntu 时使用的相同可启动媒体启动,并从 Ubuntu 实时会话下载 .deb 文件,或者访问官方Ubuntu 软件包搜索网站并手动下载.deb 文件。

相关内容