如何下载所有软件( funtoo git 存储库)以供离线使用 funtoo,类似于 apt-mirror

如何下载所有软件( funtoo git 存储库)以供离线使用 funtoo,类似于 apt-mirror

我在船上工作,所以一旦出海我就没有互联网。我的想法是克隆完整的 git 存储库,以便我在离线时仍然可以安装软件。我在 debian 中使用 apt-mirror,效果很好。我希望用 gentoo 做一些类似的事情。

答案1

我对 funtoo 不太了解,但我认为它与 Gentoo 类似。

您将面临的主要问题是 gentoo/funtoo 存储库几乎不存储源代码,只存储元数据(它告诉您在哪里下载它)。一旦离线,如果没有源代码,则无法安装程序

幸运的是,portage 允许您通过 获取程序源代码(或数据)emerge -f <package>,因此使用它,您可以获取每个 ebuild 的数据。这将占用大量空间和时间,但您可以这样做:

cd /usr/portage

# for every ebuild, convert its path into a valid atom name
find . -iname "*.ebuild" | sed -e 's_\./\([^/]\+\)/\([^/]\+\)/\(.*\).ebuild$_=\1/\3_g' > /tmp/all_ebuilds

# for every line of the file, start fetching the source code (or the data)
while read package; do emerge -f "$package"; done < /tmp/all_ebuilds

这不是一个完整的解决方案,但我希望它能让您了解如何做到这一点。

相关内容