summaryrefslogtreecommitdiff
path: root/man
diff options
context:
space:
mode:
authorRonny Chevalier <chevalier.ronny@gmail.com>2014-10-29 16:22:02 +0100
committerRonny Chevalier <chevalier.ronny@gmail.com>2014-11-29 19:28:14 +0100
commit7d4fb3b1c5ec7a117bd5a36e4591819a64e00136 (patch)
tree709f0d9e894b078ded96a135d06b64887ddf88f7 /man
parent507e28d844e335fe9fc84b549577fcce398f3a5d (diff)
systemctl: add edit verb
It helps editing units by either creating a drop-in file, like /etc/systemd/system/my.service.d/override.conf, or by copying the original unit from /usr/lib/systemd/ to /etc/systemd/ if the --full option is specified. It invokes an editor on temporary files related to the unit files and if the editor exited successfully, then it renames the temporary files to their original names (e.g. my.service or override.conf) and daemon-reload is invoked. If the temporary file is empty the modification is canceled. See https://bugzilla.redhat.com/show_bug.cgi?id=906824
Diffstat (limited to 'man')
-rw-r--r--man/less-variables.xml4
-rw-r--r--man/systemctl.xml64
2 files changed, 63 insertions, 5 deletions
diff --git a/man/less-variables.xml b/man/less-variables.xml
index 09cbd42c2f..0fb4d7fbcf 100644
--- a/man/less-variables.xml
+++ b/man/less-variables.xml
@@ -6,7 +6,7 @@
<title>Environment</title>
<variablelist class='environment-variables'>
- <varlistentry>
+ <varlistentry id='pager'>
<term><varname>$SYSTEMD_PAGER</varname></term>
<listitem><para>Pager to use when
@@ -17,7 +17,7 @@
<option>--no-pager</option>.</para></listitem>
</varlistentry>
- <varlistentry>
+ <varlistentry id='less'>
<term><varname>$SYSTEMD_LESS</varname></term>
<listitem><para>Override the default
diff --git a/man/systemctl.xml b/man/systemctl.xml
index 8a0f65181d..d1991e0f97 100644
--- a/man/systemctl.xml
+++ b/man/systemctl.xml
@@ -482,7 +482,7 @@ along with systemd; If not, see <http://www.gnu.org/licenses/>.
<listitem>
<para>When used with <command>enable</command>,
- <command>disable</command>,
+ <command>disable</command>, <command>edit</command>,
(and related commands), make changes only temporarily, so
that they are lost on the next reboot. This will have the
effect that changes are not made in subdirectories of
@@ -1189,6 +1189,43 @@ kobject-uevent 1 systemd-udevd-kernel.socket systemd-udevd.service
<filename>default.target</filename> to the given unit.</para>
</listitem>
</varlistentry>
+
+ <varlistentry>
+ <term><command>edit <replaceable>NAME</replaceable>...</command></term>
+
+ <listitem>
+ <para>Edit a drop-in snippet or a whole replacement file if
+ <option>--full</option> is specified, to extend or override the
+ specified unit.</para>
+
+ <para>Depending on whether <option>--system</option> (the default),
+ <option>--user</option>, or <option>--global</option> is specified,
+ this creates a drop-in file for each unit either for the system,
+ for the calling user or for all futures logins of all users. Then,
+ the editor (see the "Environment" section below) is invoked on
+ temporary files which will be written to the real location if the
+ editor exits successfully.</para>
+
+ <para>If <option>--full</option> is specified, this will copy the
+ original units instead of creating drop-in files.</para>
+
+ <para>If <option>--runtime</option> is specified, the changes will
+ be made temporarily in <filename>/run</filename> and they will be
+ lost on the next reboot.</para>
+
+ <para>If the temporary file is empty upon exit the modification of
+ the related unit is canceled</para>
+
+ <para>After the units have been edited, systemd configuration is
+ reloaded (in a way that is equivalent to <command>daemon-reload</command>).
+ </para>
+
+ <para>Note that this command cannot be used to remotely edit units
+ and that you cannot temporarily edit units which are in
+ <filename>/etc</filename> since they take precedence over
+ <filename>/run</filename>.</para>
+ </listitem>
+ </varlistentry>
</variablelist>
</refsect2>
@@ -1647,7 +1684,28 @@ kobject-uevent 1 systemd-udevd-kernel.socket systemd-udevd.service
code otherwise.</para>
</refsect1>
- <xi:include href="less-variables.xml" />
+ <refsect1>
+ <title>Environment</title>
+
+ <variablelist class='environment-variables'>
+ <varlistentry>
+ <term><varname>$SYSTEMD_EDITOR</varname></term>
+
+ <listitem><para>Editor to use when editing units; overrides
+ <varname>$EDITOR</varname> and <varname>$VISUAL</varname>. If neither
+ <varname>$SYSTEMD_EDITOR</varname> nor <varname>$EDITOR</varname> nor
+ <varname>$VISUAL</varname> are present or if it is set to an empty
+ string or if their execution failed, systemctl will try to execute well
+ known editors in this order:
+ <citerefentry><refentrytitle>nano</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>vim</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>vi</refentrytitle><manvolnum>1</manvolnum></citerefentry>.
+ </para></listitem>
+ </varlistentry>
+ </variablelist>
+ <xi:include href="less-variables.xml" xpointer="pager"/>
+ <xi:include href="less-variables.xml" xpointer="less"/>
+ </refsect1>
<refsect1>
<title>See Also</title>
@@ -1660,7 +1718,7 @@ kobject-uevent 1 systemd-udevd-kernel.socket systemd-udevd.service
<citerefentry><refentrytitle>systemd.resource-management</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
<citerefentry><refentrytitle>systemd.special</refentrytitle><manvolnum>7</manvolnum></citerefentry>,
<citerefentry project='man-pages'><refentrytitle>wall</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
- <citerefentry><refentrytitle>systemd.preset</refentrytitle><manvolnum>5</manvolnum></citerefentry>
+ <citerefentry><refentrytitle>systemd.preset</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
<citerefentry><refentrytitle>glob</refentrytitle><manvolnum>7</manvolnum></citerefentry>
</para>
</refsect1>