Pan Xie <xie...@skyguard.com.cn> writes:
1. Does a substitute server keeps all the packages it build? If
the
answer is yes, won't it consume huge storage resources? If the
answer
is no, then the user who use time-machine travel back to
years before have to build all the packages from scratch?
You are correct on all points. In practice some substitute
servers will drop some substitutes that haven't been accessed in a
while.
On ci.guix.gnu.org we have attached 100TB storage of which 37TB
are in use (for the cache of substitutes, the active store, and
the system).
2. If I am going to create a mirror of guix's official
substitute
server, what is the requirement of the storage?
This depends on whether you intend to keep everything or only
store a recent subset.
3. Does a package really has lots of build on a substitute
server? For
example, emacs-29.1 has lots of inputs. I guess each time there
is a
commit to guix repository which change the inputs, there will be
a
build
of it, so there must be lots of emacs-29.1 builds, with
different
hash numbers. Or am I wrong?
You are not wrong. In this case many files will be shared among
these different builds, though, so on a deduplicating file system
this is not much of a problem. Storage requirements can go up
when the similarities between builds are hidden from the
deduplicating storage, e.g. when the substitutes are stored as
compressed archives.
--
Ricardo