os-release.xml revision 08307930b297fd1c6335afc746e4404dece6ef21
64eed40c07efb4e2b316ebb4e7481b7a891b7934Zbigniew Jędrzejewski-Szmek<?xml version='1.0'?> <!--*-nxml-*-->
64eed40c07efb4e2b316ebb4e7481b7a891b7934Zbigniew Jędrzejewski-Szmek<?xml-stylesheet type="text/xsl" href="http://docbook.sourceforge.net/release/xsl/current/xhtml/docbook.xsl"?>
64eed40c07efb4e2b316ebb4e7481b7a891b7934Zbigniew Jędrzejewski-Szmek<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
64eed40c07efb4e2b316ebb4e7481b7a891b7934Zbigniew Jędrzejewski-Szmek "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
64eed40c07efb4e2b316ebb4e7481b7a891b7934Zbigniew Jędrzejewski-Szmek
64eed40c07efb4e2b316ebb4e7481b7a891b7934Zbigniew Jędrzejewski-Szmek<!--
64eed40c07efb4e2b316ebb4e7481b7a891b7934Zbigniew Jędrzejewski-Szmek This file is part of systemd.
64eed40c07efb4e2b316ebb4e7481b7a891b7934Zbigniew Jędrzejewski-Szmek
64eed40c07efb4e2b316ebb4e7481b7a891b7934Zbigniew Jędrzejewski-Szmek Copyright 2010 Lennart Poettering
64eed40c07efb4e2b316ebb4e7481b7a891b7934Zbigniew Jędrzejewski-Szmek
64eed40c07efb4e2b316ebb4e7481b7a891b7934Zbigniew Jędrzejewski-Szmek systemd is free software; you can redistribute it and/or modify it
64eed40c07efb4e2b316ebb4e7481b7a891b7934Zbigniew Jędrzejewski-Szmek under the terms of the GNU Lesser General Public License as published by
64eed40c07efb4e2b316ebb4e7481b7a891b7934Zbigniew Jędrzejewski-Szmek the Free Software Foundation; either version 2.1 of the License, or
64eed40c07efb4e2b316ebb4e7481b7a891b7934Zbigniew Jędrzejewski-Szmek (at your option) any later version.
64eed40c07efb4e2b316ebb4e7481b7a891b7934Zbigniew Jędrzejewski-Szmek
64eed40c07efb4e2b316ebb4e7481b7a891b7934Zbigniew Jędrzejewski-Szmek systemd is distributed in the hope that it will be useful, but
64eed40c07efb4e2b316ebb4e7481b7a891b7934Zbigniew Jędrzejewski-Szmek WITHOUT ANY WARRANTY; without even the implied warranty of
64eed40c07efb4e2b316ebb4e7481b7a891b7934Zbigniew Jędrzejewski-Szmek MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
64eed40c07efb4e2b316ebb4e7481b7a891b7934Zbigniew Jędrzejewski-Szmek Lesser General Public License for more details.
64eed40c07efb4e2b316ebb4e7481b7a891b7934Zbigniew Jędrzejewski-Szmek
64eed40c07efb4e2b316ebb4e7481b7a891b7934Zbigniew Jędrzejewski-Szmek You should have received a copy of the GNU Lesser General Public License
64eed40c07efb4e2b316ebb4e7481b7a891b7934Zbigniew Jędrzejewski-Szmek along with systemd; If not, see <http://www.gnu.org/licenses/>.
64eed40c07efb4e2b316ebb4e7481b7a891b7934Zbigniew Jędrzejewski-Szmek-->
64eed40c07efb4e2b316ebb4e7481b7a891b7934Zbigniew Jędrzejewski-Szmek
64eed40c07efb4e2b316ebb4e7481b7a891b7934Zbigniew Jędrzejewski-Szmek<refentry id="os-release">
64eed40c07efb4e2b316ebb4e7481b7a891b7934Zbigniew Jędrzejewski-Szmek <refentryinfo>
64eed40c07efb4e2b316ebb4e7481b7a891b7934Zbigniew Jędrzejewski-Szmek <title>os-release</title>
761a7c71b649b5e926c28c703a11fbdc22dd6df1Thomas Hindoe Paaboel Andersen <productname>systemd</productname>
761a7c71b649b5e926c28c703a11fbdc22dd6df1Thomas Hindoe Paaboel Andersen
761a7c71b649b5e926c28c703a11fbdc22dd6df1Thomas Hindoe Paaboel Andersen <authorgroup>
761a7c71b649b5e926c28c703a11fbdc22dd6df1Thomas Hindoe Paaboel Andersen <author>
761a7c71b649b5e926c28c703a11fbdc22dd6df1Thomas Hindoe Paaboel Andersen <contrib>Developer</contrib>
64eed40c07efb4e2b316ebb4e7481b7a891b7934Zbigniew Jędrzejewski-Szmek <firstname>Lennart</firstname>
64eed40c07efb4e2b316ebb4e7481b7a891b7934Zbigniew Jędrzejewski-Szmek <surname>Poettering</surname>
761a7c71b649b5e926c28c703a11fbdc22dd6df1Thomas Hindoe Paaboel Andersen <email>lennart@poettering.net</email>
761a7c71b649b5e926c28c703a11fbdc22dd6df1Thomas Hindoe Paaboel Andersen </author>
20bde8192332cff5a2fcf7059a4b48b9fca75e63Evgeny Vereshchagin </authorgroup>
20bde8192332cff5a2fcf7059a4b48b9fca75e63Evgeny Vereshchagin </refentryinfo>
8c7db2fb2186277f9572d58b664cc59792ee4f50Evgeny Vereshchagin
64eed40c07efb4e2b316ebb4e7481b7a891b7934Zbigniew Jędrzejewski-Szmek <refmeta>
64eed40c07efb4e2b316ebb4e7481b7a891b7934Zbigniew Jędrzejewski-Szmek <refentrytitle>os-release</refentrytitle>
64eed40c07efb4e2b316ebb4e7481b7a891b7934Zbigniew Jędrzejewski-Szmek <manvolnum>5</manvolnum>
20bde8192332cff5a2fcf7059a4b48b9fca75e63Evgeny Vereshchagin </refmeta>
20bde8192332cff5a2fcf7059a4b48b9fca75e63Evgeny Vereshchagin
20bde8192332cff5a2fcf7059a4b48b9fca75e63Evgeny Vereshchagin <refnamediv>
20bde8192332cff5a2fcf7059a4b48b9fca75e63Evgeny Vereshchagin <refname>os-release</refname>
64eed40c07efb4e2b316ebb4e7481b7a891b7934Zbigniew Jędrzejewski-Szmek <refpurpose>Operating system identification</refpurpose>
64eed40c07efb4e2b316ebb4e7481b7a891b7934Zbigniew Jędrzejewski-Szmek </refnamediv>
64eed40c07efb4e2b316ebb4e7481b7a891b7934Zbigniew Jędrzejewski-Szmek
64eed40c07efb4e2b316ebb4e7481b7a891b7934Zbigniew Jędrzejewski-Szmek <refsynopsisdiv>
64eed40c07efb4e2b316ebb4e7481b7a891b7934Zbigniew Jędrzejewski-Szmek <para><filename>/etc/os-release</filename></para>
64eed40c07efb4e2b316ebb4e7481b7a891b7934Zbigniew Jędrzejewski-Szmek </refsynopsisdiv>
64eed40c07efb4e2b316ebb4e7481b7a891b7934Zbigniew Jędrzejewski-Szmek
64eed40c07efb4e2b316ebb4e7481b7a891b7934Zbigniew Jędrzejewski-Szmek <refsect1>
64eed40c07efb4e2b316ebb4e7481b7a891b7934Zbigniew Jędrzejewski-Szmek <title>Description</title>
20bde8192332cff5a2fcf7059a4b48b9fca75e63Evgeny Vereshchagin
64eed40c07efb4e2b316ebb4e7481b7a891b7934Zbigniew Jędrzejewski-Szmek <para>The <filename>/etc/os-release</filename> file
64eed40c07efb4e2b316ebb4e7481b7a891b7934Zbigniew Jędrzejewski-Szmek contains operating system identification data.</para>
64eed40c07efb4e2b316ebb4e7481b7a891b7934Zbigniew Jędrzejewski-Szmek
20bde8192332cff5a2fcf7059a4b48b9fca75e63Evgeny Vereshchagin <para>The basic file format of
64eed40c07efb4e2b316ebb4e7481b7a891b7934Zbigniew Jędrzejewski-Szmek <filename>os-release</filename> is a newline-separated
64eed40c07efb4e2b316ebb4e7481b7a891b7934Zbigniew Jędrzejewski-Szmek list of environment-like shell-compatible variable
64eed40c07efb4e2b316ebb4e7481b7a891b7934Zbigniew Jędrzejewski-Szmek assignments. It is possible to source the
64eed40c07efb4e2b316ebb4e7481b7a891b7934Zbigniew Jędrzejewski-Szmek configuration from shell scripts, however, beyond mere
64eed40c07efb4e2b316ebb4e7481b7a891b7934Zbigniew Jędrzejewski-Szmek variable assignments no shell features are supported
64eed40c07efb4e2b316ebb4e7481b7a891b7934Zbigniew Jędrzejewski-Szmek (this means variable expansion is explicitly not
761a7c71b649b5e926c28c703a11fbdc22dd6df1Thomas Hindoe Paaboel Andersen supported), allowing applications to read the file
761a7c71b649b5e926c28c703a11fbdc22dd6df1Thomas Hindoe Paaboel Andersen without implementing a shell compatible execution
761a7c71b649b5e926c28c703a11fbdc22dd6df1Thomas Hindoe Paaboel Andersen engine. Variable assignment values should be enclosed
761a7c71b649b5e926c28c703a11fbdc22dd6df1Thomas Hindoe Paaboel Andersen in double or single quotes if they include spaces,
761a7c71b649b5e926c28c703a11fbdc22dd6df1Thomas Hindoe Paaboel Andersen semicolons or other special characters outside of A-Z,
761a7c71b649b5e926c28c703a11fbdc22dd6df1Thomas Hindoe Paaboel Andersen a-z, 0-9. All strings should be in UTF-8 format, and
761a7c71b649b5e926c28c703a11fbdc22dd6df1Thomas Hindoe Paaboel Andersen non-printable characters should not be used. If double
761a7c71b649b5e926c28c703a11fbdc22dd6df1Thomas Hindoe Paaboel Andersen or single quotes or backslashes are to be used within
761a7c71b649b5e926c28c703a11fbdc22dd6df1Thomas Hindoe Paaboel Andersen variable assignments they should be escaped with
761a7c71b649b5e926c28c703a11fbdc22dd6df1Thomas Hindoe Paaboel Andersen backslashes, following shell style. It is not
761a7c71b649b5e926c28c703a11fbdc22dd6df1Thomas Hindoe Paaboel Andersen supported to concatenate multiple individually quoted
761a7c71b649b5e926c28c703a11fbdc22dd6df1Thomas Hindoe Paaboel Andersen strings. Lines beginning with "#" shall be ignored as
761a7c71b649b5e926c28c703a11fbdc22dd6df1Thomas Hindoe Paaboel Andersen comments.</para>
761a7c71b649b5e926c28c703a11fbdc22dd6df1Thomas Hindoe Paaboel Andersen
761a7c71b649b5e926c28c703a11fbdc22dd6df1Thomas Hindoe Paaboel Andersen <para><filename>/etc/os-release</filename> contains
761a7c71b649b5e926c28c703a11fbdc22dd6df1Thomas Hindoe Paaboel Andersen data that is defined by the operating system vendor
761a7c71b649b5e926c28c703a11fbdc22dd6df1Thomas Hindoe Paaboel Andersen and should not be changed by the administrator.</para>
f961371fb7a6d1cb5897255cd66608bdc43579ccEvgeny Vereshchagin
f961371fb7a6d1cb5897255cd66608bdc43579ccEvgeny Vereshchagin <para>As this file only encodes names and identifiers
f961371fb7a6d1cb5897255cd66608bdc43579ccEvgeny Vereshchagin it should not be localized.</para>
761a7c71b649b5e926c28c703a11fbdc22dd6df1Thomas Hindoe Paaboel Andersen
761a7c71b649b5e926c28c703a11fbdc22dd6df1Thomas Hindoe Paaboel Andersen <para>The file <filename>/etc/os-release</filename> might
761a7c71b649b5e926c28c703a11fbdc22dd6df1Thomas Hindoe Paaboel Andersen be a symlink to another file, but it is important that
761a7c71b649b5e926c28c703a11fbdc22dd6df1Thomas Hindoe Paaboel Andersen the file is available from earliest boot on, and hence
761a7c71b649b5e926c28c703a11fbdc22dd6df1Thomas Hindoe Paaboel Andersen must be located on the root file system.</para>
761a7c71b649b5e926c28c703a11fbdc22dd6df1Thomas Hindoe Paaboel Andersen
761a7c71b649b5e926c28c703a11fbdc22dd6df1Thomas Hindoe Paaboel Andersen <para>For a longer rationale for
761a7c71b649b5e926c28c703a11fbdc22dd6df1Thomas Hindoe Paaboel Andersen <filename>/etc/os-release</filename> please refer to
761a7c71b649b5e926c28c703a11fbdc22dd6df1Thomas Hindoe Paaboel Andersen the <ulink
761a7c71b649b5e926c28c703a11fbdc22dd6df1Thomas Hindoe Paaboel Andersen url="http://0pointer.de/blog/projects/os-release">Announcement of <filename>/etc/os-release</filename></ulink>.</para>
761a7c71b649b5e926c28c703a11fbdc22dd6df1Thomas Hindoe Paaboel Andersen </refsect1>
761a7c71b649b5e926c28c703a11fbdc22dd6df1Thomas Hindoe Paaboel Andersen
761a7c71b649b5e926c28c703a11fbdc22dd6df1Thomas Hindoe Paaboel Andersen <refsect1>
20bde8192332cff5a2fcf7059a4b48b9fca75e63Evgeny Vereshchagin <title>Options</title>
20bde8192332cff5a2fcf7059a4b48b9fca75e63Evgeny Vereshchagin
20bde8192332cff5a2fcf7059a4b48b9fca75e63Evgeny Vereshchagin <para>The following OS identifications parameters may be set using
20bde8192332cff5a2fcf7059a4b48b9fca75e63Evgeny Vereshchagin <filename>/etc/os-release</filename>:</para>
20bde8192332cff5a2fcf7059a4b48b9fca75e63Evgeny Vereshchagin
64eed40c07efb4e2b316ebb4e7481b7a891b7934Zbigniew Jędrzejewski-Szmek <variablelist>
64eed40c07efb4e2b316ebb4e7481b7a891b7934Zbigniew Jędrzejewski-Szmek
64eed40c07efb4e2b316ebb4e7481b7a891b7934Zbigniew Jędrzejewski-Szmek <varlistentry>
64eed40c07efb4e2b316ebb4e7481b7a891b7934Zbigniew Jędrzejewski-Szmek <term><varname>NAME=</varname></term>
64eed40c07efb4e2b316ebb4e7481b7a891b7934Zbigniew Jędrzejewski-Szmek
64eed40c07efb4e2b316ebb4e7481b7a891b7934Zbigniew Jędrzejewski-Szmek <listitem><para>A string identifying
64eed40c07efb4e2b316ebb4e7481b7a891b7934Zbigniew Jędrzejewski-Szmek the operating system, without a
64eed40c07efb4e2b316ebb4e7481b7a891b7934Zbigniew Jędrzejewski-Szmek version component, and suitable for
64eed40c07efb4e2b316ebb4e7481b7a891b7934Zbigniew Jędrzejewski-Szmek presentation to the user. If not set
64eed40c07efb4e2b316ebb4e7481b7a891b7934Zbigniew Jędrzejewski-Szmek defaults to
<literal>NAME=Linux</literal>. Example:
<literal>NAME=Fedora</literal> or
<literal>NAME="Debian
GNU/Linux"</literal>.</para></listitem>
</varlistentry>
<varlistentry>
<term><varname>VERSION=</varname></term>
<listitem><para>A string identifying
the operating system version,
excluding any OS name information,
possibly including a release code
name, and suitable for presentation to
the user. This field is
optional. Example:
<literal>VERSION=17</literal> or
<literal>VERSION="17 (Beefy
Miracle)"</literal>.</para></listitem>
</varlistentry>
<varlistentry>
<term><varname>ID=</varname></term>
<listitem><para>A lower-case string
(no spaces or other characters outside
of 0-9, a-z, ".", "_" and "-")
identifying the operating system,
excluding any version information and
suitable for processing by scripts or
usage in generated file names. If not
set defaults to
<literal>ID=linux</literal>. Example:
<literal>ID=fedora</literal> or
<literal>ID=debian</literal>.</para></listitem>
</varlistentry>
<varlistentry>
<term><varname>ID_LIKE=</varname></term>
<listitem><para>A space-separated list
of operating system identifiers in the
same syntax as the
<varname>ID=</varname> setting. Should
list identifiers of operating systems
that are closely related to the local
operating system in regards to
packaging and programming interfaces,
for example listing one or more
OS identifiers the local
OS is a derivative from. An
OS should generally only list other OS
identifiers it itself is a derivative
from, and not any OSes that
are derived from it, but symmetric
relationships are possible. Build
scripts and similar should check this
variable if they need to identify the
local operating system and the value
of <varname>ID=</varname> is not
recognized. Operating systems should
be listed in order of how closely the
local operating system relates to the
listed ones, starting with the
closest. This field is
optional. Example: for an operating
system with
<literal>ID=centos</literal> an
assignment of <literal>ID_LIKE="rhel
fedora"</literal> would be
appropriate. For an operating system
with <literal>ID=ubuntu</literal> an
assignment of
<literal>ID_LIKE=debian</literal> is
appropriate.</para></listitem>
</varlistentry>
<varlistentry>
<term><varname>VERSION_ID=</varname></term>
<listitem><para>A lower-case string
(mostly numeric, no spaces or other
characters outside of 0-9, a-z, ".",
"_" and "-") identifying the operating
system version, excluding any OS name
information or release code name, and
suitable for processing by scripts or
usage in generated file names. This
field is optional. Example:
<literal>VERSION_ID=17</literal> or
<literal>VERSION_ID=11.04</literal>.</para></listitem>
</varlistentry>
<varlistentry>
<term><varname>PRETTY_NAME=</varname></term>
<listitem><para>A pretty operating
system name in a format suitable for
presentation to the user. May or may
not contain a release code name or OS
version of some kind, as suitable. If
not set defaults to
<literal>PRETTY_NAME="Linux"</literal>. Example:
<literal>PRETTY_NAME="Fedora 17 (Beefy
Miracle)"</literal>.</para></listitem>
</varlistentry>
<varlistentry>
<term><varname>ANSI_COLOR=</varname></term>
<listitem><para>A suggested
presentation color when showing the
OS name on the console. This
should be specified as string suitable
for inclusion in the ESC [ m
ANSI/ECMA-48 escape code for setting
graphical rendition. This field is
optional. Example:
<literal>ANSI_COLOR="0;31"</literal>
for red, or
<literal>ANSI_COLOR="1;34"</literal>
for light blue.</para></listitem>
</varlistentry>
<varlistentry>
<term><varname>CPE_NAME=</varname></term>
<listitem><para>A CPE name for the
operating system, following the <ulink
url="http://cpe.mitre.org/specification/">Common
Platform Enumeration
Specification</ulink> as proposed by
the MITRE Corporation. This field
is optional. Example:
<literal>CPE_NAME="cpe:/o:fedoraproject:fedora:17"</literal>
</para></listitem>
</varlistentry>
<varlistentry>
<term><varname>HOME_URL=</varname></term>
<term><varname>SUPPORT_URL=</varname></term>
<term><varname>BUG_REPORT_URL=</varname></term>
<listitem><para>Links to resources on
the Internet related the operating
system. <varname>HOME_URL=</varname>
should refer to the homepage of the
operating system, or alternatively
some homepage of the specific version
of the operating
system. <varname>SUPPORT_URL=</varname>
should refer to the main support page
for the operating system, if there is
any. This is primarily intended for
operating systems which vendors
provide support
for. <varname>BUG_REPORT_URL=</varname>
should refer to the main bug reporting
page for the operating system, if
there is any. This is primarily
intended for operating systems that
rely on community QA. These settings
are optional, and providing only some
of these settings is common. These
URLs are intended to be exposed in
"About this system" UIs behind links
with captions such as "About this
Operating System", "Obtain Support"
resp. "Report a Bug". The values should
be in <ulink
url="https://tools.ietf.org/html/rfc3986">RFC3986
format</ulink>, and should be
<literal>http:</literal> or
<literal>https:</literal> URLs, and
possibly <literal>mailto:</literal> or
<literal>tel:</literal>. Only one URL
shall be listed in each setting. If
multiple resources need to be
referenced it is recommended to
provide an online landing page linking
all available resources. Examples:
<literal>HOME_URL="https://fedoraproject.org/"</literal>
and
<literal>BUG_REPORT_URL="https://bugzilla.redhat.com/"</literal></para></listitem>
</varlistentry>
</variablelist>
<para>If you are reading this file from C code or a
shell script to determine the OS or a specific version
of it, use the ID and VERSION_ID fields, possibly with
ID_LIKE as fallback for ID. When looking for an OS
identification string for presentation to the user use
the PRETTY_NAME field.</para>
<para>Note that operating system vendors may choose
not to provide version information, for example to
accommodate for rolling releases. In this case VERSION
and VERSION_ID may be unset. Applications should not
rely on these fields to be set.</para>
<para>Operating system vendors may extend the file
format and introduce new fields. It is highly
recommended to prefix new fields with an OS specific
name in order to avoid name clashes. Applications
reading this file must ignore unknown fields. Example:
<literal>DEBIAN_BTS="debbugs://bugs.debian.org/"</literal></para>
</refsect1>
<refsect1>
<title>Example</title>
<programlisting>NAME=Fedora
VERSION="17 (Beefy Miracle)"
ID=fedora
VERSION_ID=17
PRETTY_NAME="Fedora 17 (Beefy Miracle)"
ANSI_COLOR="0;34"
CPE_NAME="cpe:/o:fedoraproject:fedora:17"
HOME_URL="https://fedoraproject.org/"
BUG_REPORT_URL="https://bugzilla.redhat.com/"</programlisting>
</refsect1>
<refsect1>
<title>See Also</title>
<para>
<citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
<citerefentry><refentrytitle>lsb_release</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
<citerefentry><refentrytitle>hostname</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
<citerefentry><refentrytitle>machine-id</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
<citerefentry><refentrytitle>machine-info</refentrytitle><manvolnum>5</manvolnum></citerefentry>
</para>
</refsect1>
</refentry>