doc: Typos and small stylistic changes.
* guix.texi: Correct typos and make minor changes.
This commit is contained in:
parent
03d55eeca7
commit
1068f26b79
234
doc/guix.texi
234
doc/guix.texi
|
@ -5590,7 +5590,7 @@ also be installed on top of a running GNU/Linux system,
|
|||
@ifinfo
|
||||
@c This paragraph is for people reading this from tty2 of the
|
||||
@c installation image.
|
||||
You're reading this documentation with an Info reader. For details on
|
||||
You are reading this documentation with an Info reader. For details on
|
||||
how to use it, hit the @key{RET} key (``return'' or ``enter'') on the
|
||||
link that follows: @pxref{Help,,, info, Info: An Introduction}. Hit
|
||||
@kbd{l} afterwards to come back here.
|
||||
|
@ -5928,7 +5928,7 @@ system} command, specifically:
|
|||
guix system disk-image --image-size=850MiB gnu/system/install.scm
|
||||
@end example
|
||||
|
||||
@xref{Invoking guix system}, for more information. See
|
||||
@xref{Invoking guix system} and
|
||||
@file{gnu/system/install.scm} in the source tree for more information
|
||||
about the installation image.
|
||||
|
||||
|
@ -5944,12 +5944,12 @@ a @dfn{system configuration} can be @dfn{instantiated}---i.e., effected.
|
|||
|
||||
One of the advantages of putting all the system configuration under the
|
||||
control of Guix is that it supports transactional system upgrades, and
|
||||
makes it possible to roll-back to a previous system instantiation,
|
||||
makes it possible to roll back to a previous system instantiation,
|
||||
should something go wrong with the new one (@pxref{Features}). Another
|
||||
one is that it makes it easy to replicate the exact same configuration
|
||||
advantage is that it makes it easy to replicate the exact same configuration
|
||||
across different machines, or at different points in time, without
|
||||
having to resort to additional administration tools layered on top of
|
||||
the system's own tools.
|
||||
the own tools of the system.
|
||||
@c Yes, we're talking of Puppet, Chef, & co. here. ↑
|
||||
|
||||
This section describes this mechanism. First we focus on the system
|
||||
|
@ -6104,7 +6104,7 @@ file, the @command{guix system reconfigure my-system-config.scm} command
|
|||
instantiates that configuration, and makes it the default GRUB boot
|
||||
entry (@pxref{Invoking guix system}).
|
||||
|
||||
The normal way to change the system's configuration is by updating this
|
||||
The normal way to change the system configuration is by updating this
|
||||
file and re-running @command{guix system reconfigure}. One should never
|
||||
have to touch files in @command{/etc} or to run commands that modify the
|
||||
system state such as @command{useradd} or @command{grub-install}. In
|
||||
|
@ -6161,7 +6161,7 @@ possible to use the GNU@tie{}Hurd.}.
|
|||
|
||||
@item @code{kernel-arguments} (default: @code{'()})
|
||||
List of strings or gexps representing additional arguments to pass on
|
||||
the kernel's command-line---e.g., @code{("console=ttyS0")}.
|
||||
the command-line of the kernel---e.g., @code{("console=ttyS0")}.
|
||||
|
||||
@item @code{bootloader}
|
||||
The system bootloader configuration object. @xref{GRUB Configuration}.
|
||||
|
@ -6217,13 +6217,13 @@ For instance, a valid value may look like this:
|
|||
|
||||
@item @code{issue} (default: @var{%default-issue})
|
||||
A string denoting the contents of the @file{/etc/issue} file, which is
|
||||
what displayed when users log in on a text console.
|
||||
displayed when users log in on a text console.
|
||||
|
||||
@item @code{packages} (default: @var{%base-packages})
|
||||
The set of packages installed in the global profile, which is accessible
|
||||
at @file{/run/current-system/profile}.
|
||||
|
||||
The default set includes core utilities, but it is good practice to
|
||||
The default set includes core utilities and it is good practice to
|
||||
install non-core utilities in user profiles (@pxref{Invoking guix
|
||||
package}).
|
||||
|
||||
|
@ -6248,7 +6248,7 @@ to build the locale definitions. @xref{Locales}, for compatibility
|
|||
considerations that justify this option.
|
||||
|
||||
@item @code{name-service-switch} (default: @var{%default-nss})
|
||||
Configuration of libc's name service switch (NSS)---a
|
||||
Configuration of the libc name service switch (NSS)---a
|
||||
@code{<name-service-switch>} object. @xref{Name Service Switch}, for
|
||||
details.
|
||||
|
||||
|
@ -6282,7 +6282,7 @@ is that only @code{root} and members of the @code{wheel} group may use
|
|||
@subsection File Systems
|
||||
|
||||
The list of file systems to be mounted is specified in the
|
||||
@code{file-systems} field of the operating system's declaration
|
||||
@code{file-systems} field of the operating system declaration
|
||||
(@pxref{Using the Configuration System}). Each file system is declared
|
||||
using the @code{file-system} form, like this:
|
||||
|
||||
|
@ -6346,7 +6346,7 @@ result, this is not recommended: These special device nodes are created
|
|||
by the udev daemon and may be unavailable at the time the device is
|
||||
mounted.}.
|
||||
|
||||
However, when a file system's source is a mapped device (@pxref{Mapped
|
||||
However, when the source of a file system is a mapped device (@pxref{Mapped
|
||||
Devices}), its @code{device} field @emph{must} refer to the mapped
|
||||
device name---e.g., @file{/dev/mapper/root-partition}---and consequently
|
||||
@code{title} must be set to @code{'device}. This is required so that
|
||||
|
@ -6497,7 +6497,7 @@ This must be a @code{mapped-device-kind} object, which specifies how
|
|||
|
||||
@defvr {Scheme Variable} luks-device-mapping
|
||||
This defines LUKS block device encryption using the @command{cryptsetup}
|
||||
command, from the same-named package. This relies on the
|
||||
command from the package with the same name. It relies on the
|
||||
@code{dm-crypt} Linux kernel module.
|
||||
@end defvr
|
||||
|
||||
|
@ -6550,7 +6550,7 @@ latter case, a number is automatically chosen by the system when the
|
|||
account is created.
|
||||
|
||||
@item @code{comment} (default: @code{""})
|
||||
A comment about the account, such as the account's owner full name.
|
||||
A comment about the account, such as the account owner's full name.
|
||||
|
||||
@item @code{home-directory}
|
||||
This is the name of the home directory for the account.
|
||||
|
@ -6592,7 +6592,7 @@ This type is for, well, user groups. There are just a few fields:
|
|||
|
||||
@table @asis
|
||||
@item @code{name}
|
||||
The group's name.
|
||||
The name of the group.
|
||||
|
||||
@item @code{id} (default: @code{#f})
|
||||
The group identifier (a number). If @code{#f}, a new number is
|
||||
|
@ -6604,7 +6604,7 @@ System groups have low numerical IDs.
|
|||
|
||||
@item @code{password} (default: @code{#f})
|
||||
What, user groups can have a password? Well, apparently yes. Unless
|
||||
@code{#f}, this field specifies the group's password.
|
||||
@code{#f}, this field specifies the password of the group.
|
||||
|
||||
@end table
|
||||
@end deftp
|
||||
|
@ -6703,7 +6703,7 @@ IANA}.
|
|||
@end deftp
|
||||
|
||||
@defvr {Scheme Variable} %default-locale-definitions
|
||||
An arbitrary list of commonly used UTF-8 locales, used as the default
|
||||
A list of commonly used UTF-8 locales, used as the default
|
||||
value of the @code{locale-definitions} field of @code{operating-system}
|
||||
declarations.
|
||||
|
||||
|
@ -6834,7 +6834,7 @@ this module are listed below.
|
|||
This variable contains a list of basic services (@pxref{Service Types
|
||||
and Services}, for more information on service objects) one would
|
||||
expect from the system: a login service (mingetty) on each tty, syslogd,
|
||||
libc's name service cache daemon (nscd), the udev device manager, and
|
||||
the libc name service cache daemon (nscd), the udev device manager, and
|
||||
more.
|
||||
|
||||
This is the default value of the @code{services} field of
|
||||
|
@ -6893,19 +6893,19 @@ The Mingetty package to use.
|
|||
@cindex nscd
|
||||
@deffn {Scheme Procedure} nscd-service [@var{config}] [#:glibc glibc] @
|
||||
[#:name-services '()]
|
||||
Return a service that runs libc's name service cache daemon (nscd) with the
|
||||
Return a service that runs the libc name service cache daemon (nscd) with the
|
||||
given @var{config}---an @code{<nscd-configuration>} object. @xref{Name
|
||||
Service Switch}, for an example.
|
||||
@end deffn
|
||||
|
||||
@defvr {Scheme Variable} %nscd-default-configuration
|
||||
This is the default @code{<nscd-configuration>} value (see below) used
|
||||
by @code{nscd-service}. This uses the caches defined by
|
||||
by @code{nscd-service}. It uses the caches defined by
|
||||
@var{%nscd-default-caches}; see below.
|
||||
@end defvr
|
||||
|
||||
@deftp {Data Type} nscd-configuration
|
||||
This is the type representing the name service cache daemon (nscd)
|
||||
This is the data type representing the name service cache daemon (nscd)
|
||||
configuration.
|
||||
|
||||
@table @asis
|
||||
|
@ -6919,11 +6919,11 @@ Package object denoting the GNU C Library providing the @command{nscd}
|
|||
command.
|
||||
|
||||
@item @code{log-file} (default: @code{"/var/log/nscd.log"})
|
||||
Name of nscd's log file. This is where debugging output goes when
|
||||
Name of the nscd log file. This is where debugging output goes when
|
||||
@code{debug-level} is strictly positive.
|
||||
|
||||
@item @code{debug-level} (default: @code{0})
|
||||
Integer denoting the debugging levels. Higher numbers mean more
|
||||
Integer denoting the debugging levels. Higher numbers mean that more
|
||||
debugging output is logged.
|
||||
|
||||
@item @code{caches} (default: @var{%nscd-default-caches})
|
||||
|
@ -6974,7 +6974,7 @@ Maximum size in bytes of the database cache.
|
|||
|
||||
@defvr {Scheme Variable} %nscd-default-caches
|
||||
List of @code{<nscd-cache>} objects used by default by
|
||||
@code{nscd-configuration} (see above.)
|
||||
@code{nscd-configuration} (see above).
|
||||
|
||||
It enables persistent and aggressive caching of service and host name
|
||||
lookups. The latter provides better host name lookup performance,
|
||||
|
@ -6986,7 +6986,7 @@ external name servers do not even need to be queried.
|
|||
|
||||
@deffn {Scheme Procedure} syslog-service @
|
||||
[#:config-file @var{%default-syslog.conf}]
|
||||
Return a service that runs @command{syslogd}. If configuration file
|
||||
Return a service that runs @command{syslogd}. If the configuration file
|
||||
name @var{config-file} is not specified, use some reasonable default
|
||||
settings.
|
||||
|
||||
|
@ -7101,7 +7101,7 @@ and @command{wicd-curses} user interfaces.
|
|||
@deffn {Scheme Procedure} network-manager-service @
|
||||
[#:network-manager @var{network-manager}]
|
||||
Return a service that runs NetworkManager, a network connection manager
|
||||
that attempting to keep active network connectivity when available.
|
||||
attempting to keep network connectivity active when available.
|
||||
@end deffn
|
||||
|
||||
@deffn {Scheme Procedure} ntp-service [#:ntp @var{ntp}] @
|
||||
|
@ -7290,7 +7290,7 @@ When @var{allow-empty-passwords?} is true, allow logins with an empty
|
|||
password. When @var{auto-login?} is true, log in automatically as
|
||||
@var{default-user}.
|
||||
|
||||
If @var{theme} is @code{#f}, the use the default log-in theme; otherwise
|
||||
If @var{theme} is @code{#f}, use the default log-in theme; otherwise
|
||||
@var{theme} must be a gexp denoting the name of a directory containing the
|
||||
theme to use. In that case, @var{theme-name} specifies the name of the
|
||||
theme.
|
||||
|
@ -7356,7 +7356,7 @@ environment and networking:
|
|||
|
||||
@defvr {Scheme Variable} %desktop-services
|
||||
This is a list of services that builds upon @var{%base-services} and
|
||||
adds or adjust services for a typical ``desktop'' setup.
|
||||
adds or adjusts services for a typical ``desktop'' setup.
|
||||
|
||||
In particular, it adds a graphical login manager (@pxref{X Window,
|
||||
@code{slim-service}}), screen lockers,
|
||||
|
@ -7382,7 +7382,7 @@ support for @var{services}.
|
|||
|
||||
@uref{http://dbus.freedesktop.org/, D-Bus} is an inter-process communication
|
||||
facility. Its system bus is used to allow system services to communicate
|
||||
and be notified of system-wide events.
|
||||
and to be notified of system-wide events.
|
||||
|
||||
@var{services} must be a list of packages that provide an
|
||||
@file{etc/dbus-1/system.d} directory containing additional D-Bus configuration
|
||||
|
@ -7402,7 +7402,7 @@ example suspending the system when a lid is closed, or shutting it down
|
|||
when the power button is pressed.
|
||||
|
||||
The @var{config} keyword argument specifies the configuration for
|
||||
elogind, and should be the result of a @code{(elogind-configuration
|
||||
elogind, and should be the result of an @code{(elogind-configuration
|
||||
(@var{parameter} @var{value})...)} invocation. Available parameters and
|
||||
their default values are:
|
||||
|
||||
|
@ -7506,11 +7506,11 @@ site} for more information.
|
|||
@end deffn
|
||||
|
||||
@deffn {Scheme Procedure} geoclue-application name [#:allowed? #t] [#:system? #f] [#:users '()]
|
||||
Return an configuration allowing an application to access GeoClue
|
||||
Return a configuration allowing an application to access GeoClue
|
||||
location data. @var{name} is the Desktop ID of the application, without
|
||||
the @code{.desktop} part. If @var{allowed?} is true, the application
|
||||
will have access to location information by default. The boolean
|
||||
@var{system?} value indicates that an application is a system component
|
||||
@var{system?} value indicates whether an application is a system component
|
||||
or not. Finally @var{users} is a list of UIDs of all users for which
|
||||
this application is allowed location info access. An empty users list
|
||||
means that all users are allowed.
|
||||
|
@ -7518,10 +7518,10 @@ means that all users are allowed.
|
|||
|
||||
@defvr {Scheme Variable} %standard-geoclue-applications
|
||||
The standard list of well-known GeoClue application configurations,
|
||||
granting authority to GNOME's date-and-time utility to ask for the
|
||||
current location in order to set the time zone, and allowing the Firefox
|
||||
(IceCat) and Epiphany web browsers to request location information.
|
||||
Firefox and Epiphany both query the user before allowing a web page to
|
||||
granting authority to the GNOME date-and-time utility to ask for the
|
||||
current location in order to set the time zone, and allowing the
|
||||
IceCat and Epiphany web browsers to request location information.
|
||||
IceCat and Epiphany both query the user before allowing a web page to
|
||||
know the user's location.
|
||||
@end defvr
|
||||
|
||||
|
@ -7574,12 +7574,12 @@ To add an IMAP/POP3 server to a GuixSD system, add a
|
|||
Return a service that runs the Dovecot IMAP/POP3/LMTP mail server.
|
||||
@end deffn
|
||||
|
||||
By default, Dovecot doesn't need much configuration; the default
|
||||
By default, Dovecot does not need much configuration; the default
|
||||
configuration object created by @code{(dovecot-configuration)} will
|
||||
suffice if your mail is delivered to @code{~/Maildir}. A self-signed
|
||||
certificate will be generated for TLS-protected connections, though
|
||||
Dovecot will also listen on cleartext ports by default. There are a
|
||||
number of options though which mail administrators might need to change,
|
||||
number of options, though, which mail administrators might need to change,
|
||||
and as is the case with other services, Guix allows the system
|
||||
administrator to specify these parameters via a uniform Scheme interface.
|
||||
|
||||
|
@ -7614,8 +7614,8 @@ The dovecot package.
|
|||
@end deftypevr
|
||||
|
||||
@deftypevr {@code{dovecot-configuration} parameter} comma-separated-string-list listen
|
||||
A list of IPs or hosts where to listen in for connections. @samp{*}
|
||||
listens in all IPv4 interfaces, @samp{::} listens in all IPv6
|
||||
A list of IPs or hosts where to listen for connections. @samp{*}
|
||||
listens on all IPv4 interfaces, @samp{::} listens on all IPv6
|
||||
interfaces. If you want to specify non-default ports or anything more
|
||||
complex, customize the address and port fields of the
|
||||
@samp{inet-listener} of the specific services you are interested in.
|
||||
|
@ -7632,9 +7632,9 @@ The name of the protocol.
|
|||
@end deftypevr
|
||||
|
||||
@deftypevr {@code{protocol-configuration} parameter} string auth-socket-path
|
||||
UNIX socket path to master authentication server to find users.
|
||||
UNIX socket path to the master authentication server to find users.
|
||||
This is used by imap (for shared users) and lda.
|
||||
Defaults to @samp{"/var/run/dovecot/auth-userdb"}.
|
||||
It defaults to @samp{"/var/run/dovecot/auth-userdb"}.
|
||||
@end deftypevr
|
||||
|
||||
@deftypevr {@code{protocol-configuration} parameter} space-separated-string-list mail-plugins
|
||||
|
@ -7664,7 +7664,7 @@ The service kind. Valid values include @code{director},
|
|||
@end deftypevr
|
||||
|
||||
@deftypevr {@code{service-configuration} parameter} listener-configuration-list listeners
|
||||
Listeners for the service. A listener is either an
|
||||
Listeners for the service. A listener is either a
|
||||
@code{unix-listener-configuration}, a @code{fifo-listener-configuration}, or
|
||||
an @code{inet-listener-configuration}.
|
||||
Defaults to @samp{()}.
|
||||
|
@ -7770,7 +7770,7 @@ Defaults to @samp{()}.
|
|||
@end deftypevr
|
||||
|
||||
@deftypevr {@code{dovecot-configuration} parameter} passdb-configuration-list passdbs
|
||||
List of passdb configurations, each one created by the
|
||||
A list of passdb configurations, each one created by the
|
||||
@code{passdb-configuration} constructor.
|
||||
|
||||
Available @code{passdb-configuration} fields are:
|
||||
|
@ -7848,7 +7848,7 @@ Defaults to @samp{""}.
|
|||
@end deftypevr
|
||||
|
||||
@deftypevr {@code{namespace-configuration} parameter} string location
|
||||
Physical location of the mailbox. This is in same format as
|
||||
Physical location of the mailbox. This is in the same format as
|
||||
mail_location, which is also the default for it.
|
||||
Defaults to @samp{""}.
|
||||
@end deftypevr
|
||||
|
@ -7870,8 +7870,8 @@ Defaults to @samp{#f}.
|
|||
@end deftypevr
|
||||
|
||||
@deftypevr {@code{namespace-configuration} parameter} boolean list?
|
||||
Show the mailboxes under this namespace with LIST command. This
|
||||
makes the namespace visible for clients that don't support NAMESPACE
|
||||
Show the mailboxes under this namespace with the LIST command. This
|
||||
makes the namespace visible for clients that do not support the NAMESPACE
|
||||
extension. The special @code{children} value lists child mailboxes, but
|
||||
hides the namespace prefix.
|
||||
Defaults to @samp{#t}.
|
||||
|
@ -7880,7 +7880,7 @@ Defaults to @samp{#t}.
|
|||
@deftypevr {@code{namespace-configuration} parameter} boolean subscriptions?
|
||||
Namespace handles its own subscriptions. If set to @code{#f}, the
|
||||
parent namespace handles them. The empty prefix should always have this
|
||||
as @code{#t}.)
|
||||
as @code{#t}).
|
||||
Defaults to @samp{#t}.
|
||||
@end deftypevr
|
||||
|
||||
|
@ -7925,7 +7925,7 @@ Defaults to @samp{"Dovecot ready."}.
|
|||
List of trusted network ranges. Connections from these IPs are
|
||||
allowed to override their IP addresses and ports (for logging and for
|
||||
authentication checks). @samp{disable-plaintext-auth} is also ignored
|
||||
for these networks. Typically you'd specify your IMAP proxy servers
|
||||
for these networks. Typically you would specify your IMAP proxy servers
|
||||
here.
|
||||
Defaults to @samp{()}.
|
||||
@end deftypevr
|
||||
|
@ -7937,8 +7937,8 @@ Defaults to @samp{()}.
|
|||
|
||||
@deftypevr {@code{dovecot-configuration} parameter} boolean verbose-proctitle?
|
||||
Show more verbose process titles (in ps). Currently shows user name
|
||||
and IP address. Useful for seeing who are actually using the IMAP
|
||||
processes (e.g. shared mailboxes or if same uid is used for multiple
|
||||
and IP address. Useful for seeing who is actually using the IMAP
|
||||
processes (e.g. shared mailboxes or if the same uid is used for multiple
|
||||
accounts).
|
||||
Defaults to @samp{#f}.
|
||||
@end deftypevr
|
||||
|
@ -7947,7 +7947,7 @@ Defaults to @samp{#f}.
|
|||
Should all processes be killed when Dovecot master process shuts down.
|
||||
Setting this to @code{#f} means that Dovecot can be upgraded without
|
||||
forcing existing client connections to close (although that could also
|
||||
be a problem if the upgrade is e.g. because of a security fix).
|
||||
be a problem if the upgrade is e.g. due to a security fix).
|
||||
Defaults to @samp{#t}.
|
||||
@end deftypevr
|
||||
|
||||
|
@ -9058,7 +9058,7 @@ pointed to by the @code{GIT_SSL_CAINFO} environment variable.
|
|||
@cindex name service switch
|
||||
@cindex NSS
|
||||
The @code{(gnu system nss)} module provides bindings to the
|
||||
configuration file of libc's @dfn{name service switch} or @dfn{NSS}
|
||||
configuration file of the libc @dfn{name service switch} or @dfn{NSS}
|
||||
(@pxref{NSS Configuration File,,, libc, The GNU C Library Reference
|
||||
Manual}). In a nutshell, the NSS is a mechanism that allows libc to be
|
||||
extended with new ``name'' lookup methods for system databases, which
|
||||
|
@ -9104,8 +9104,8 @@ for host names ending in @code{.local}:
|
|||
(name "mdns")))))
|
||||
@end example
|
||||
|
||||
Don't worry: the @code{%mdns-host-lookup-nss} variable (see below)
|
||||
contains this configuration, so you won't have to type it if all you
|
||||
Do not worry: the @code{%mdns-host-lookup-nss} variable (see below)
|
||||
contains this configuration, so you will not have to type it if all you
|
||||
want is to have @code{.local} host lookup working.
|
||||
|
||||
Note that, in this case, in addition to setting the
|
||||
|
@ -9130,12 +9130,12 @@ lookup over multicast DNS (mDNS) for host names ending in @code{.local}.
|
|||
@end defvr
|
||||
|
||||
The reference for name service switch configuration is given below. It
|
||||
is a direct mapping of the C library's configuration file format, so
|
||||
is a direct mapping of the configuration file format of the C library , so
|
||||
please refer to the C library manual for more information (@pxref{NSS
|
||||
Configuration File,,, libc, The GNU C Library Reference Manual}).
|
||||
Compared to libc's NSS configuration file format, it has the advantage
|
||||
Compared to the configuration file format of libc NSS, it has the advantage
|
||||
not only of adding this warm parenthetic feel that we like, but also
|
||||
static checks: you'll know about syntax errors and typos as soon as you
|
||||
static checks: you will know about syntax errors and typos as soon as you
|
||||
run @command{guix system}.
|
||||
|
||||
@deftp {Data Type} name-service-switch
|
||||
|
@ -9159,7 +9159,7 @@ system databases.
|
|||
@itemx services
|
||||
@itemx shadow
|
||||
The system databases handled by the NSS. Each of these fields must be a
|
||||
list of @code{<name-service>} objects (see below.)
|
||||
list of @code{<name-service>} objects (see below).
|
||||
@end table
|
||||
@end deftp
|
||||
|
||||
|
@ -9197,7 +9197,7 @@ Reference Manual}). For example:
|
|||
@cindex initrd (initial RAM disk)
|
||||
For bootstrapping purposes, the Linux-Libre kernel is passed an
|
||||
@dfn{initial RAM disk}, or @dfn{initrd}. An initrd contains a temporary
|
||||
root file system, as well as an initialization script. The latter is
|
||||
root file system as well as an initialization script. The latter is
|
||||
responsible for mounting the real root file system, and for loading any
|
||||
kernel modules that may be needed to achieve that.
|
||||
|
||||
|
@ -9223,13 +9223,13 @@ system declaration like this:
|
|||
@end example
|
||||
|
||||
The @code{base-initrd} procedure also handles common use cases that
|
||||
involves using the system as a QEMU guest, or as a ``live'' system whose
|
||||
root file system is volatile.
|
||||
involves using the system as a QEMU guest, or as a ``live'' system with
|
||||
volatile root file system.
|
||||
|
||||
The initial RAM disk produced by @code{base-initrd} honors several
|
||||
options passed on the Linux kernel command line (that is, arguments
|
||||
passed @i{via} GRUB's @code{linux} command, or with QEMU's
|
||||
@code{-append} option), notably:
|
||||
passed @i{via} the @code{linux} command of GRUB, or the
|
||||
@code{-append} option) of QEMU, notably:
|
||||
|
||||
@table @code
|
||||
@item --load=@var{boot}
|
||||
|
@ -9241,7 +9241,7 @@ service activation programs and then spawns the GNU@tie{}Shepherd, the
|
|||
initialization system.
|
||||
|
||||
@item --root=@var{root}
|
||||
Mount @var{root} as the root file system. @var{root} can be a device
|
||||
Mount @var{root} as the root file system. @var{root} can be a
|
||||
device name like @code{/dev/sda1}, a partition label, or a partition
|
||||
UUID.
|
||||
|
||||
|
@ -9274,14 +9274,14 @@ further.
|
|||
[#:qemu-networking? #f] [#:virtio? #t] [#:volatile-root? #f] @
|
||||
[#:extra-modules '()] [#:mapped-devices '()]
|
||||
Return a monadic derivation that builds a generic initrd. @var{file-systems} is
|
||||
a list of file-systems to be mounted by the initrd, possibly in addition to
|
||||
a list of file systems to be mounted by the initrd, possibly in addition to
|
||||
the root file system specified on the kernel command line via @code{--root}.
|
||||
@var{mapped-devices} is a list of device mappings to realize before
|
||||
@var{file-systems} are mounted (@pxref{Mapped Devices}).
|
||||
|
||||
When @var{qemu-networking?} is true, set up networking with the standard QEMU
|
||||
parameters. When @var{virtio?} is true, load additional modules so the initrd can
|
||||
be used as a QEMU guest with para-virtualized I/O drivers.
|
||||
parameters. When @var{virtio?} is true, load additional modules so that the
|
||||
initrd can be used as a QEMU guest with para-virtualized I/O drivers.
|
||||
|
||||
When @var{volatile-root?} is true, the root file system is writable but any changes
|
||||
to it are lost.
|
||||
|
@ -9318,8 +9318,8 @@ initrd.
|
|||
|
||||
The operating system uses GNU@tie{}GRUB as its boot loader
|
||||
(@pxref{Overview, overview of GRUB,, grub, GNU GRUB Manual}). It is
|
||||
configured using @code{grub-configuration} declarations. This data type
|
||||
is exported by the @code{(gnu system grub)} module, and described below.
|
||||
configured using a @code{grub-configuration} declaration. This data type
|
||||
is exported by the @code{(gnu system grub)} module and described below.
|
||||
|
||||
@deftp {Data Type} grub-configuration
|
||||
The type of a GRUB configuration declaration.
|
||||
|
@ -9338,8 +9338,8 @@ entries to appear in the GRUB boot menu, in addition to the current
|
|||
system entry and the entry pointing to previous system generations.
|
||||
|
||||
@item @code{default-entry} (default: @code{0})
|
||||
The index of the default boot menu entry. Index 0 is for the current
|
||||
system's entry.
|
||||
The index of the default boot menu entry. Index 0 is for the entry of the
|
||||
current system.
|
||||
|
||||
@item @code{timeout} (default: @code{5})
|
||||
The number of seconds to wait for keyboard input before booting. Set to
|
||||
|
@ -9390,7 +9390,7 @@ fancy background image displaying the GNU and Guix logos.
|
|||
@node Invoking guix system
|
||||
@subsection Invoking @code{guix system}
|
||||
|
||||
Once you have written an operating system declaration, as seen in the
|
||||
Once you have written an operating system declaration as seen in the
|
||||
previous section, it can be @dfn{instantiated} using the @command{guix
|
||||
system} command. The synopsis is:
|
||||
|
||||
|
@ -9413,7 +9413,7 @@ This effects all the configuration specified in @var{file}: user
|
|||
accounts, system services, global package list, setuid programs, etc.
|
||||
The command starts system services specified in @var{file} that are not
|
||||
currently running; if a service is currently running, it does not
|
||||
attempt to upgrade it since it would not be possible without stopping it
|
||||
attempt to upgrade it since this would not be possible without stopping it
|
||||
first.
|
||||
|
||||
It also adds a GRUB menu entry for the new OS configuration, and moves
|
||||
|
@ -9430,7 +9430,7 @@ once @command{reconfigure} has completed.
|
|||
@end quotation
|
||||
|
||||
@item build
|
||||
Build the operating system's derivation, which includes all the
|
||||
Build the derivation of the operating system, which includes all the
|
||||
configuration files and programs needed to boot and run the system.
|
||||
This action does not actually install anything.
|
||||
|
||||
|
@ -9456,9 +9456,9 @@ This command also installs GRUB on the device specified in
|
|||
@cindex virtual machine
|
||||
@cindex VM
|
||||
@anchor{guix system vm}
|
||||
Build a virtual machine that contain the operating system declared in
|
||||
Build a virtual machine that contains the operating system declared in
|
||||
@var{file}, and return a script to run that virtual machine (VM).
|
||||
Arguments given to the script are passed as is to QEMU.
|
||||
Arguments given to the script are passed to QEMU.
|
||||
|
||||
The VM shares its store with the host system.
|
||||
|
||||
|
@ -9469,7 +9469,7 @@ provides read-only access to the shared directory.
|
|||
|
||||
The example below creates a VM in which the user's home directory is
|
||||
accessible read-only, and where the @file{/exchange} directory is a
|
||||
read-write mapping of the host's @file{$HOME/tmp}:
|
||||
read-write mapping of @file{$HOME/tmp} on the host:
|
||||
|
||||
@example
|
||||
guix system vm my-config.scm \
|
||||
|
@ -9478,13 +9478,13 @@ guix system vm my-config.scm \
|
|||
|
||||
On GNU/Linux, the default is to boot directly to the kernel; this has
|
||||
the advantage of requiring only a very tiny root disk image since the
|
||||
host's store can then be mounted.
|
||||
store of the host can then be mounted.
|
||||
|
||||
The @code{--full-boot} option forces a complete boot sequence, starting
|
||||
with the bootloader. This requires more disk space since a root image
|
||||
containing at least the kernel, initrd, and bootloader data files must
|
||||
be created. The @code{--image-size} option can be used to specify the
|
||||
image's size.
|
||||
size of the image.
|
||||
|
||||
@item vm-image
|
||||
@itemx disk-image
|
||||
|
@ -9498,7 +9498,7 @@ for more information on how to run the image in a virtual machine.
|
|||
|
||||
When using @code{disk-image}, a raw disk image is produced; it can be
|
||||
copied as is to a USB stick, for instance. Assuming @code{/dev/sdc} is
|
||||
the device corresponding to a USB stick, one can copy the image on it
|
||||
the device corresponding to a USB stick, one can copy the image to it
|
||||
using the following command:
|
||||
|
||||
@example
|
||||
|
@ -9539,7 +9539,7 @@ following:
|
|||
@table @option
|
||||
@item --system=@var{system}
|
||||
@itemx -s @var{system}
|
||||
Attempt to build for @var{system} instead of the host's system type.
|
||||
Attempt to build for @var{system} instead of the host system type.
|
||||
This works as per @command{guix build} (@pxref{Invoking guix build}).
|
||||
|
||||
@item --derivation
|
||||
|
@ -9567,8 +9567,8 @@ Likewise, but also display a backtrace.
|
|||
@item debug
|
||||
Report the error and enter Guile's debugger. From there, you can run
|
||||
commands such as @code{,bt} to get a backtrace, @code{,locals} to
|
||||
display local variable values, and more generally inspect the program's
|
||||
state. @xref{Debug Commands,,, guile, GNU Guile Reference Manual}, for
|
||||
display local variable values, and more generally inspect the state of the
|
||||
program. @xref{Debug Commands,,, guile, GNU Guile Reference Manual}, for
|
||||
a list of available debugging commands.
|
||||
@end table
|
||||
@end table
|
||||
|
@ -9577,8 +9577,8 @@ Note that all the actions above, except @code{build} and @code{init},
|
|||
rely on KVM support in the Linux-Libre kernel. Specifically, the
|
||||
machine should have hardware virtualization support, the corresponding
|
||||
KVM kernel module should be loaded, and the @file{/dev/kvm} device node
|
||||
must exist and be readable and writable by the user and by the daemon's
|
||||
build users.
|
||||
must exist and be readable and writable by the user and by the
|
||||
build users of the daemon.
|
||||
|
||||
Once you have built, configured, re-configured, and re-re-configured
|
||||
your GuixSD installation, you may find it useful to list the operating
|
||||
|
@ -9596,7 +9596,7 @@ disk, in a human-readable way. This is similar to the
|
|||
Optionally, one can specify a pattern, with the same syntax that is used
|
||||
in @command{guix package --list-generations}, to restrict the list of
|
||||
generations displayed. For instance, the following command displays
|
||||
generations up to 10-day old:
|
||||
generations that are up to 10 days old:
|
||||
|
||||
@example
|
||||
$ guix system list-generations 10d
|
||||
|
@ -9664,18 +9664,18 @@ host.
|
|||
@item -net user
|
||||
Enable the unprivileged user-mode network stack. The guest OS can
|
||||
access the host but not vice versa. This is the simplest way to get the
|
||||
guest OS online. If you don't choose a network stack, the boot will
|
||||
guest OS online. If you do not choose a network stack, the boot will
|
||||
fail.
|
||||
|
||||
@item -net nic,model=virtio
|
||||
You must create a network interface of a given model. If you don't
|
||||
You must create a network interface of a given model. If you do not
|
||||
create a NIC, the boot will fail. Assuming your hardware platform is
|
||||
x86_64, you can get a list of available NIC models by running
|
||||
@command{qemu-system-x86_64 -net nic,model=help}.
|
||||
|
||||
@item -enable-kvm
|
||||
If your system has hardware virtualization extensions, enabling the
|
||||
Linux kernel's virtual machine support (KVM) will make things run
|
||||
virtual machine support (KVM) of the Linux kernel will make things run
|
||||
faster.
|
||||
|
||||
@item -m 256
|
||||
|
@ -9706,7 +9706,7 @@ them in the first place? And what is a service anyway?
|
|||
@cindex services
|
||||
@cindex daemons
|
||||
Here we define a @dfn{service} as, broadly, something that extends the
|
||||
operating system's functionality. Often a service is a process---a
|
||||
functionality of the operating system. Often a service is a process---a
|
||||
@dfn{daemon}---started when the system boots: a secure shell server, a
|
||||
Web server, the Guix build daemon, etc. Sometimes a service is a daemon
|
||||
whose execution can be triggered by another daemon---e.g., an FTP server
|
||||
|
@ -9715,12 +9715,12 @@ started by @command{inetd} or a D-Bus service activated by
|
|||
daemon. For instance, the ``account'' service collects user accounts
|
||||
and makes sure they exist when the system runs; the ``udev'' service
|
||||
collects device management rules and makes them available to the eudev
|
||||
daemon; the @file{/etc} service populates the system's @file{/etc}
|
||||
directory.
|
||||
daemon; the @file{/etc} service populates the @file{/etc} directory
|
||||
of the system.
|
||||
|
||||
@cindex service extensions
|
||||
GuixSD services are connected by @dfn{extensions}. For instance, the
|
||||
secure shell service @emph{extends} the Shepherd---GuixSD's
|
||||
secure shell service @emph{extends} the Shepherd---the GuixSD
|
||||
initialization system, running as PID@tie{}1---by giving it the command
|
||||
lines to start and stop the secure shell daemon (@pxref{Networking
|
||||
Services, @code{lsh-service}}); the UPower service extends the D-Bus
|
||||
|
@ -9774,7 +9774,7 @@ with a simple example, the service type for the Guix build daemon
|
|||
@end example
|
||||
|
||||
@noindent
|
||||
It defines a two things:
|
||||
It defines two things:
|
||||
|
||||
@enumerate
|
||||
@item
|
||||
|
@ -9782,8 +9782,8 @@ A name, whose sole purpose is to make inspection and debugging easier.
|
|||
|
||||
@item
|
||||
A list of @dfn{service extensions}, where each extension designates the
|
||||
target service type and a procedure that, given the service's
|
||||
parameters, returns a list of object to extend the service of that type.
|
||||
target service type and a procedure that, given the parameters of the
|
||||
service, returns a list of objects to extend the service of that type.
|
||||
|
||||
Every service type has at least one service extension. The only
|
||||
exception is the @dfn{boot service type}, which is the ultimate service.
|
||||
|
@ -9861,7 +9861,7 @@ Services can extend the udev service by passing it lists of rules; we
|
|||
compose those extensions simply by concatenating them.
|
||||
|
||||
@item extend
|
||||
This procedure defines how the service's value is @dfn{extended} with
|
||||
This procedure defines how the value of the service is @dfn{extended} with
|
||||
the composition of the extensions.
|
||||
|
||||
Udev extensions are composed into a list of rules, but the udev service
|
||||
|
@ -9967,7 +9967,7 @@ and Services}).
|
|||
This is a symbol, used only to simplify inspection and debugging.
|
||||
|
||||
@item @code{extensions}
|
||||
A non-empty list of @code{<service-extension>} objects (see below.)
|
||||
A non-empty list of @code{<service-extension>} objects (see below).
|
||||
|
||||
@item @code{compose} (default: @code{#f})
|
||||
If this is @code{#f}, then the service type denotes services that cannot
|
||||
|
@ -9983,7 +9983,7 @@ the service instance.
|
|||
If this is @code{#f}, services of this type cannot be extended.
|
||||
|
||||
Otherwise, it must be a two-argument procedure: @code{fold-services}
|
||||
calls it, passing it the service's initial value as the first argument
|
||||
calls it, passing it the initial value of the service as the first argument
|
||||
and the result of applying @code{compose} to the extension values as the
|
||||
second argument.
|
||||
@end table
|
||||
|
@ -10063,8 +10063,8 @@ extend it by passing it lists of packages to add to the system profile.
|
|||
The @code{(gnu services shepherd)} module provides a way to define
|
||||
services managed by the GNU@tie{}Shepherd, which is the GuixSD
|
||||
initialization system---the first process that is started when the
|
||||
system boots, aka. PID@tie{}1 (@pxref{Introduction,,, shepherd, The GNU
|
||||
Shepherd Manual}).
|
||||
system boots, also known as PID@tie{}1
|
||||
(@pxref{Introduction,,, shepherd, The GNU Shepherd Manual}).
|
||||
|
||||
Services in the Shepherd can depend on each other. For instance, the
|
||||
SSH daemon may need to be started after the syslog daemon has been
|
||||
|
@ -10202,9 +10202,9 @@ directory using the @code{directory} command (@pxref{Source Path,
|
|||
@c XXX: keep me up-to-date
|
||||
The @code{debug} output mechanism in Guix is implemented by the
|
||||
@code{gnu-build-system} (@pxref{Build Systems}). Currently, it is
|
||||
opt-in---debugging information is available only for those packages
|
||||
whose definition explicitly declares a @code{debug} output. This may be
|
||||
changed to opt-out in the future, if our build farm servers can handle
|
||||
opt-in---debugging information is available only for the packages
|
||||
with definitions explicitly declaring a @code{debug} output. This may be
|
||||
changed to opt-out in the future if our build farm servers can handle
|
||||
the load. To check whether a package has a @code{debug} output, use
|
||||
@command{guix package --list-available} (@pxref{Invoking guix package}).
|
||||
|
||||
|
@ -10229,7 +10229,7 @@ distribution would need to be rebuilt. Using pre-built binaries helps
|
|||
desired.
|
||||
|
||||
@cindex grafts
|
||||
To address that, Guix implements @dfn{grafts}, a mechanism that allows
|
||||
To address this, Guix implements @dfn{grafts}, a mechanism that allows
|
||||
for fast deployment of critical updates without the costs associated
|
||||
with a whole-distribution rebuild. The idea is to rebuild only the
|
||||
package that needs to be patched, and then to ``graft'' it onto packages
|
||||
|
@ -10256,7 +10256,7 @@ From there on, any package depending directly or indirectly on Bash---as
|
|||
reported by @command{guix gc --requisites} (@pxref{Invoking guix
|
||||
gc})---that is installed is automatically ``rewritten'' to refer to
|
||||
@var{bash-fixed} instead of @var{bash}. This grafting process takes
|
||||
time proportional to the size of the package, but expect less than a
|
||||
time proportional to the size of the package, usually less than a
|
||||
minute for an ``average'' package on a recent machine. Grafting is
|
||||
recursive: when an indirect dependency requires grafting, then grafting
|
||||
``propagates'' up to the package that the user is installing.
|
||||
|
@ -10301,8 +10301,8 @@ emacs)} module must be stored in a @file{my-packages/emacs.scm} file
|
|||
relative to the load path specified with @option{--load-path} or
|
||||
@code{GUIX_PACKAGE_PATH}. @xref{Modules and the File System,,,
|
||||
guile, GNU Guile Reference Manual}, for details.}. These package definitions
|
||||
will not be visible by default. Thus, users can invoke commands such as
|
||||
@command{guix package} and @command{guix build} have to be used with the
|
||||
will not be visible by default. Users can invoke commands such as
|
||||
@command{guix package} and @command{guix build} with the
|
||||
@code{-e} option so that they know where to find the package. Better
|
||||
yet, they can use the
|
||||
@code{-L} option of these commands to make those modules visible
|
||||
|
@ -10312,9 +10312,9 @@ variable makes it easy to extend or customize the distribution and is
|
|||
honored by all the user interfaces.
|
||||
|
||||
@defvr {Environment Variable} GUIX_PACKAGE_PATH
|
||||
This is a colon-separated list of directories to search for package
|
||||
modules. Directories listed in this variable take precedence over the
|
||||
distribution's own modules.
|
||||
This is a colon-separated list of directories to search for additional
|
||||
package modules. Directories listed in this variable take precedence
|
||||
over the own modules of the distribution.
|
||||
@end defvr
|
||||
|
||||
The distribution is fully @dfn{bootstrapped} and @dfn{self-contained}:
|
||||
|
@ -10418,11 +10418,11 @@ software distribution guidelines}. Among other things, these guidelines
|
|||
reject non-free firmware, recommendations of non-free software, and
|
||||
discuss ways to deal with trademarks and patents.
|
||||
|
||||
Some packages contain a small and optional subset that violates the
|
||||
above guidelines, for instance because this subset is itself non-free
|
||||
code. When that happens, the offending items are removed with
|
||||
appropriate patches or code snippets in the package definition's
|
||||
@code{origin} form (@pxref{Defining Packages}). That way, @code{guix
|
||||
Some otherwise free upstream package sources contain a small and optional
|
||||
subset that violates the above guidelines, for instance because this subset
|
||||
is itself non-free code. When that happens, the offending items are removed
|
||||
with appropriate patches or code snippets in the @code{origin} form of the
|
||||
package (@pxref{Defining Packages}). This way, @code{guix
|
||||
build --source} returns the ``freed'' source rather than the unmodified
|
||||
upstream source.
|
||||
|
||||
|
|
Loading…
Reference in New Issue