我正在尝试配置 apt-mirror,它适用于 ubuntu 上游,但是当我将它用于 GitLab 之类的东西时,它会下载所有软件包版本。
比如 gitlab-ce 是 72GB,每个版本都在 300MB 以下。我怎样才能只保留最新的甚至最后的 1 或 2 个包,而不是 459?
我正在尝试配置 apt-mirror,它适用于 ubuntu 上游,但是当我将它用于 GitLab 之类的东西时,它会下载所有软件包版本。
比如 gitlab-ce 是 72GB,每个版本都在 300MB 以下。我怎样才能只保留最新的甚至最后的 1 或 2 个包,而不是 459?
APT 镜像旨在仅从条目镜像整个存储库。
mirror.list
在几句话中
apt-mirror
是这样的:从存储库获取索引文件并处理它们(与 相同的过程
apt update
)。如果文件在本地不存在,则从收集的索引文件中下载文件。在此过程中会保留文件夹结构(类似于
wget -c -x <url_file_array>
)。有关如何
apt-mirror
工作以及确认无法部分镜像存储库以仅获取最新版本的更多详细信息,您可以参考apt-mirror 的源代码(用 Perl 编写)。那么,如何从大型存储库中获取最新版本?
我针对您的情况的临时解决方法(例如,
gitlab-ce
Ubuntu 18.04 - Bionic 的存储库):输入镜像路径:
备份
sources.list
:打开并注释中的每一行
sources.list
:添加所需的存储库以进行镜像:
4.1。将其添加到
sources.list
文件并退出:deb https://packages.gitlab.com/gitlab/gitlab-ce/ubuntu/ bionic main
4.2. 添加 GPG:
更新索引文件:
从添加的存储库中获取最新的包 url 并将它们写入文件:
下载具有文件夹结构的 url,由于
-c
选项,它不会下载存在的文件:享受!!!
要恢复所有内容,只需将
sources.list
文件替换为 oldsources.list.bak
并执行以下操作: