man: describe the reason why runlevels are obsolete

Put it at the top of the file, where it's hard to miss.

Also add the mapping of runlevel → target because since it is now
static.

I'm not adding runlevel(7), because we do not want to make obsolete
stuff even more prominent.
This commit is contained in:
Zbigniew Jędrzejewski-Szmek 2015-11-08 15:15:07 +01:00
parent 28f90ea25f
commit 9f6434a675
2 changed files with 53 additions and 10 deletions

1
TODO
View File

@ -649,7 +649,6 @@ Features:
- document systemd-journal-flush.service properly
- documentation: recommend to connect the timer units of a service to the service via Also= in [Install]
- man: document the very specific env the shutdown drop-in tools live in
- man: extend runlevel(8) to mention that runlevels suck, and are dead. Maybe add runlevel(7) with a note about that too
- man: add more examples to man pages
- man: maybe sort directives in man pages, and take sections from --help and apply them to man too

View File

@ -51,10 +51,61 @@
<refsynopsisdiv>
<cmdsynopsis>
<command>runlevel <arg choice="opt" rep="repeat">options</arg></command>
<command>runlevel</command>
<arg choice="opt" rep="repeat">options</arg>
</cmdsynopsis>
</refsynopsisdiv>
<refsect1>
<title>Overview</title>
<para>"Runlevels" are an obsolete way to start and stop groups of
services used in SysV init. systemd provides a compatibility layer
that maps runlevels to targets, and associated binaries like
<command>runlevel</command>. Nevertheless, only one runlevel can
be "active" at a given time, while systemd can activate multiple
targets concurrently, so the mapping to runlevels is confusing
and only approximate. Runlevels should not be used in new code,
and are mostly useful as a shorthand way to refer the matching
systemd targets in kernel boot parameters.</para>
<table>
<title>Mapping between runlevels and systemd targets</title>
<tgroup cols='2' align='left' colsep='1' rowsep='1'>
<colspec colname="runlevel" />
<colspec colname="target" />
<thead>
<row>
<entry>Runlevel</entry>
<entry>Target</entry>
</row>
</thead>
<tbody>
<row>
<entry>0</entry>
<entry><filename>poweroff.target</filename></entry>
</row>
<row>
<entry>1</entry>
<entry><filename>rescue.target</filename></entry>
</row>
<row>
<entry>2, 3, 4</entry>
<entry><filename>multi-user.target</filename></entry>
</row>
<row>
<entry>5</entry>
<entry><filename>graphical.target</filename></entry>
</row>
<row>
<entry>6</entry>
<entry><filename>reboot.target</filename></entry>
</row>
</tbody>
</tgroup>
</table>
</refsect1>
<refsect1>
<title>Description</title>
@ -129,18 +180,11 @@
</variablelist>
</refsect1>
<refsect1>
<title>Notes</title>
<para>This is a legacy command available for compatibility only.
It should not be used anymore, as the concept of runlevels is
obsolete.</para>
</refsect1>
<refsect1>
<title>See Also</title>
<para>
<citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
<citerefentry><refentrytitle>systemd.target</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
<citerefentry><refentrytitle>systemctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>
</para>
</refsect1>