Rename "osname" → "stateroot"

I never really liked the term "osname". I feel "stateroot" is a *lot* clearer,
since the osname/stateroot mostly just holds `/var`. Further it avoids the `os`
prefix which is already overloaded.

Some of the existing docs already talked about "operating system state", which
further reinforces this.

There's *lot* more things than this which reference the term "osname", but I
don't want to change *everything* yet in this patch in case we decide to do
something different - this just gets the highlights.

Closes: #794
Approved by: jlebon
This commit is contained in:
Colin Walters 2017-04-14 10:34:38 -04:00 committed by Atomic Bot
parent 0c4aeff1cb
commit 55603a0c52
10 changed files with 37 additions and 25 deletions

View File

@ -55,7 +55,7 @@ checking it back out of the repo into a deployment.
## Assembling a new deployment directory ## Assembling a new deployment directory
Given a commit to deploy, OSTree first allocates a directory for Given a commit to deploy, OSTree first allocates a directory for
it. This is of the form `/boot/loader/entries/ostree-$osname-$checksum.$serial.conf`. it. This is of the form `/boot/loader/entries/ostree-$stateroot-$checksum.$serial.conf`.
The `$serial` is normally `0`, but if a The `$serial` is normally `0`, but if a
given commit is deployed more than once, it will be incremented. given commit is deployed more than once, it will be incremented.
This is supported because the previous deployment may have This is supported because the previous deployment may have

View File

@ -8,23 +8,24 @@ operating systems (accessible via `ostree admin`). The core content of these op
are treated as read-only, but they transparently share storage. are treated as read-only, but they transparently share storage.
A deployment is physically located at a path of the form A deployment is physically located at a path of the form
`/ostree/deploy/$osname/deploy/$checksum`. `/ostree/deploy/$stateroot/deploy/$checksum`.
OSTree is designed to boot directly into exactly one deployment OSTree is designed to boot directly into exactly one deployment
at a time; each deployment is intended to be a target for at a time; each deployment is intended to be a target for
`chroot()` or equivalent. `chroot()` or equivalent.
### "osname": Group of deployments that share /var ### "stateroot" (AKA "osname"): Group of deployments that share /var
Each deployment is grouped in exactly one "osname". From above, you Each deployment is grouped in exactly one "stateroot" (also known as an "osname");
can see that an osname is physically represented in the the former term is preferred.
`/ostree/deploy/$osname` directory. For example, OSTree can allow
parallel installing Debian in `/ostree/deploy/debian` and Red Hat
Enterprise Linux in `/ostree/deploy/rhel` (subject to operating system
support, present released versions of these operating systems may not
support this).
Each osname has exactly one copy of the traditional Unix `/var`, From above, you can see that an stateroot is physically represented in the
stored physically in `/ostree/deploy/$osname/var`. OSTree provides `/ostree/deploy/$stateroot` directory. For example, OSTree can allow parallel
installing Debian in `/ostree/deploy/debian` and Red Hat Enterprise Linux in
`/ostree/deploy/rhel` (subject to operating system support, present released
versions of these operating systems may not support this).
Each stateroot has exactly one copy of the traditional Unix `/var`,
stored physically in `/ostree/deploy/$stateroot/var`. OSTree provides
support tools for `systemd` to create a Linux bind mount that ensures support tools for `systemd` to create a Linux bind mount that ensures
the booted deployment sees the shared copy of `/var`. the booted deployment sees the shared copy of `/var`.
@ -81,7 +82,7 @@ files.
When a tree is deployed, it will have a configuration file generated When a tree is deployed, it will have a configuration file generated
of the form of the form
`/boot/loader/entries/ostree-$osname-$checksum.$serial.conf`. This `/boot/loader/entries/ostree-$stateroot-$checksum.$serial.conf`. This
configuration file will include a special `ostree=` kernel argument configuration file will include a special `ostree=` kernel argument
that allows the initramfs to find (and `chroot()` into) the specified that allows the initramfs to find (and `chroot()` into) the specified
deployment. deployment.

View File

@ -97,7 +97,7 @@ parallel install inside an existing OS or distribution
occupying the physical `/` root. occupying the physical `/` root.
On each client machine, there is an OSTree repository stored On each client machine, there is an OSTree repository stored
in `/ostree/repo`, and a set of "deployments" stored in `/ostree/deploy/$OSNAME/$CHECKSUM`. in `/ostree/repo`, and a set of "deployments" stored in `/ostree/deploy/$STATEROOT/$CHECKSUM`.
Each deployment is primarily composed of a set of hardlinks Each deployment is primarily composed of a set of hardlinks
into the repository. This means each version is deduplicated; into the repository. This means each version is deduplicated;
an upgrade process only costs disk space proportional to the an upgrade process only costs disk space proportional to the

View File

@ -66,10 +66,10 @@ Boston, MA 02111-1307, USA.
<variablelist> <variablelist>
<varlistentry> <varlistentry>
<term><option>--os</option>="OSNAME"</term> <term><option>--os</option>="STATEROOT"</term>
<listitem><para> <listitem><para>
Use a different operating system root than the current one. Use a different operating system stateroot than the current one.
</para></listitem> </para></listitem>
</varlistentry> </varlistentry>
</variablelist> </variablelist>

View File

@ -66,7 +66,7 @@ Boston, MA 02111-1307, USA.
<variablelist> <variablelist>
<varlistentry> <varlistentry>
<term><option>--os</option>="OSNAME"</term> <term><option>--os</option>="STATEROOT"</term>
<listitem><para> <listitem><para>
Use a different operating system root than the current one. Use a different operating system root than the current one.

View File

@ -49,7 +49,7 @@ Boston, MA 02111-1307, USA.
<refsynopsisdiv> <refsynopsisdiv>
<cmdsynopsis> <cmdsynopsis>
<command>ostree admin os-init</command> <arg choice="req">OSNAME</arg> <command>ostree admin os-init</command> <arg choice="req">STATEROOT</arg>
</cmdsynopsis> </cmdsynopsis>
</refsynopsisdiv> </refsynopsisdiv>
@ -57,15 +57,19 @@ Boston, MA 02111-1307, USA.
<title>Description</title> <title>Description</title>
<para> <para>
Initializes an new state for an operating system. Ensures that the core subdirectories of /var (/tmp, /lib, /run, and /lock) exist and initialize the given OSNAME as OSTree root. Each deployment location is comprised of a single shared <filename>var</filename> and a set of deployments (chroots). Initializes an new stateroot (AKA "osname") for an operating system.
Ensures that the core subdirectories of /var (/tmp, /lib, /run, and
/lock) exist and initialize the given STATEROOT as OSTree stateroot.
Each deployment location is comprised of a single shared
<filename>var</filename> and a set of deployments (chroots).
</para> </para>
</refsect1> </refsect1>
<refsect1> <refsect1>
<title>Example</title> <title>Example</title>
<para><command>$ ostree admin os-init gnome-ostree</command></para> <para><command>$ ostree admin os-init exampleos</command></para>
<programlisting> <programlisting>
ostree/deploy/gnome-ostree initialized as OSTree root ostree/deploy/exampleos initialized as OSTree root
</programlisting> </programlisting>
</refsect1> </refsect1>
</refentry> </refentry>

View File

@ -66,7 +66,7 @@ Boston, MA 02111-1307, USA.
<variablelist> <variablelist>
<varlistentry> <varlistentry>
<term><option>--os</option>="OSNAME"</term> <term><option>--os</option>="STATEROOT"</term>
<listitem><para> <listitem><para>
Use a different operating system root than the current one. Use a different operating system root than the current one.

View File

@ -69,7 +69,7 @@ Boston, MA 02111-1307, USA.
<variablelist> <variablelist>
<varlistentry> <varlistentry>
<term><option>--os</option>="OSNAME"</term> <term><option>--os</option>="STATEROOT"</term>
<listitem><para> <listitem><para>
Use a different operating system root than the current one. Use a different operating system root than the current one.

View File

@ -65,8 +65,9 @@ Boston, MA 02111-1307, USA.
Instead, they parallel install to the new toplevel Instead, they parallel install to the new toplevel
<filename>/ostree</filename> directory. Each <filename>/ostree</filename> directory. Each
installed system gets its own installed system gets its own
<filename>/ostree/deploy/<replaceable>osname</replaceable></filename> <filename>/ostree/deploy/<replaceable>stateroot</replaceable></filename>
directory. directory. (<literal>stateroot</literal> is the
newer term for <literal>osname</literal>).
</para> </para>
<para> <para>
Unlike <literal>rpm</literal> or Unlike <literal>rpm</literal> or

View File

@ -39,6 +39,12 @@ ostree_deployment_get_bootcsum (OstreeDeployment *self)
return self->bootcsum; return self->bootcsum;
} }
/*
* ostree_deployment_get_osname:
* @self: Deployemnt
*
* Returns: The "stateroot" name, also known as an "osname"
*/
const char * const char *
ostree_deployment_get_osname (OstreeDeployment *self) ostree_deployment_get_osname (OstreeDeployment *self)
{ {