mirror of
https://git.in.rschanz.org/ryan77627/guix.git
synced 2024-11-07 15:36:20 -05:00
doc: Add note on store immutability.
* doc/guix.texi (The Store): Mention "store items" and the database location. Add note on the store's immutability.
This commit is contained in:
parent
00eb9fa3e2
commit
1ddee42472
1 changed files with 19 additions and 5 deletions
|
@ -2878,20 +2878,34 @@ with @code{build-expression->derivation} (@pxref{Derivations,
|
|||
@section The Store
|
||||
|
||||
@cindex store
|
||||
@cindex store items
|
||||
@cindex store paths
|
||||
|
||||
Conceptually, the @dfn{store} is the place where derivations that have
|
||||
been built successfully are stored---by default, @file{/gnu/store}.
|
||||
Sub-directories in the store are referred to as @dfn{store paths}. The
|
||||
store has an associated database that contains information such as the
|
||||
store paths referred to by each store path, and the list of @emph{valid}
|
||||
store paths---paths that result from a successful build.
|
||||
Sub-directories in the store are referred to as @dfn{store items} or
|
||||
sometimes @dfn{store paths}. The store has an associated database that
|
||||
contains information such as the store paths referred to by each store
|
||||
path, and the list of @emph{valid} store items---results of successful
|
||||
builds. This database resides in @file{/var/guix/db} (or under whatever
|
||||
state directory was specified @i{via} @option{--localstatedir} at
|
||||
configure time).
|
||||
|
||||
The store is always accessed by the daemon on behalf of its clients
|
||||
The store is @emph{always} accessed by the daemon on behalf of its clients
|
||||
(@pxref{Invoking guix-daemon}). To manipulate the store, clients
|
||||
connect to the daemon over a Unix-domain socket, send requests to it,
|
||||
and read the result---these are remote procedure calls, or RPCs.
|
||||
|
||||
@quotation Note
|
||||
Users must @emph{never} modify files under @file{/gnu/store} directly.
|
||||
This would lead to inconsistencies and break the immutability
|
||||
assumptions of Guix's functional model (@pxref{Introduction}).
|
||||
|
||||
@xref{Invoking guix gc, @command{guix gc --verify}}, for information on
|
||||
how to check the integrity of the store and attempt recovery from
|
||||
accidental modifications.
|
||||
@end quotation
|
||||
|
||||
The @code{(guix store)} module provides procedures to connect to the
|
||||
daemon, and to perform RPCs. These are described below.
|
||||
|
||||
|
|
Loading…
Reference in a new issue