如何创建具有正确依赖项的包下载脚本?

如何创建具有正确依赖项的包下载脚本?

在 Synaptic 中,可以选择一组要安装(或重新安装)的软件包,然后单击文件生成包下载脚本获取一组下载相应 deb 文件的命令。这对于将缺失的软件包传输到离线系统进行安装很有用,并且还可以解决依赖关系问题。

不幸的是,据我所知,这个过程存在一些缺点:

  1. 在线的系统无法知道哪些依赖项已安装在离线系统(除非它们以某种方式同步)。在最坏的情况下,这意味着需要多次往返才能下载所有必要的文件。
  2. synaptic在新系统上默认情况下不会安装,所以如果我想在离线系统上生成包下载脚本,我必须使用两次往返 - 一次用于 Synaptic deb 文件,再次用于生成的脚本下载的文件。

apt-get download不是一种替代方案,因为它不能解决依赖关系。

有什么方法可以

  1. 使用 Ubuntu Live CD 上提供的软件包生成软件包下载脚本,或者
  2. 将离线机器上的打包状态转移到在线机器上,并创建具有最新上游状态的包下载脚本?

后一种选择更受欢迎,因为它还可以获得每个包的最新版本。

答案1

这个想法是从离线系统生成下载脚本,该系统知道它需要哪些依赖项。

不应该完全离线,以获得最新的软件包列表,但如果你根本没有任何连接,你仍然可以通过/var/lib/apt/lists/从在线机器(具有相同的sources.list)复制内容来伪造这一点。

答案2

apt-offline 有帮助吗?

https://debian-administration.org/article/648/Offline_Package_Management_for_APT

另外,这里还有关于如何在没有网络连接的情况下使用 apt 的 Debian 手册: https://www.debian.org/doc/manuals/apt-offline/index.en.html

相关内容