我有一个不完整的存储库,我该如何完成它

我有一个不完整的存储库,我该如何完成它

问题如下:

我从朋友那里复制了一个存储库,但该存储库不完整。而且已经过期。因此,

  1. 我怎样才能更新这个 repo?
  2. 我怎样才能仅下载缺少的软件包?

我正在阅读有关 apt-mirror 的信息,我想我可以将旧的/不完整的 repo 所在的文件夹挂载(绑定)到 apt-mirror 用来放置下载的文件/包的文件夹中,但是......我不知道这是否会完全破坏旧的 repo。

有没有正确的方法可以做到这一点?

答案1

你是对的 apt-mirror 是适合这项工作的工具

这里有一份指南 https://www.packtpub.com/books/content/create-local-ubuntu-repository-using-apt-mirror-and-apt-cacher

您应该能够将 apt-mirror 指向您现有的副本,它将继续并获取其余部分。

apt-mirror 的配置文件应该是 /etc/apt/mirror.list

您需要调整“set base_path”或“set mirror_path”以指向不完整镜像所在的目录。

如果您设置了 base_path,则需要确保使用它作为基础的其他配置变量仍然有意义。

如果您设置了mirror_path,您可以将其指向文件夹而无需改变配置的其他方面。

设置配置后,运行 apt-mirror 完成镜像

答案2

按照说明使用 rsync这里- rsync 的优点在于,它会抓取那些与您已有的和您未明确排除的文件不匹配的档案中的所有文件。问题是,由于它不会为您区分,因此您必须自己排除不想要的文件。我建议分配 1TB 的存储空间以确保安全,因为可用的版本越多,您需要的空间就越大。由于可能需要传输大量数据,因此您还需要高速数据连接。我不知道您未完成的存储库中已经有多少数据。如果大部分数据已完成,则将大大减少传输时间。

您可能想考虑一下为什么您的朋友为您提供了部分存储库。也许完整镜像需要的存储空间比您的朋友(或您?)可用的存储空间要大。这可以通过使用 rsync --exclude 开关轻松完成,如前所述这里。由于存储需求巨大且不断增长,您可能希望考虑完整镜像是否是您真正想要的。例如,如果您不需要某些版本、架构或部分,您可能希望将其排除(precise 目前仍受支持,但如果您不使用它,您就不需要它)。

答案3

1.有一个目录, /etc/apt/sources.list.d其中包含您使用 添加的每个 PPA 的单独条目 add-apt-repository。这些是您需要备份的文件。

2.很多人觉得备份和恢复单个文件比处理文件目录更容易。如果您也这样,并且不介意将每个 PPA 存储在其自己的文件中,则/etc/apt/sources.list.d/可以使用以下命令将所有添加的存储库存储在位于主目录中的名为 sources.list 的单个文件中。

 cat /etc/apt/sources.list /etc/apt/sources.list.d/*.list > ~/sources.list

然后您可以将此文件移动到/etc/apt/sources.list 并执行

  sudo apt-get update 

重新添加存储库。如果您打算在 上使用此备份another computer,请确保机器上的 Ubuntu 版本文件matches the versions in the sources.list,否则,您可能会遇到一些问题。

备份存储库的另一种方法是:

3.使用y-ppa-manager 或者您可以使用apt-clone 来做到这一点。

在此处输入图片描述

相关内容