summaryrefslogtreecommitdiffstats
path: root/man/systemd-fsck@.service.xml
blob: f68c79bff5b28629d867fb68ca2f30eb0bd92085 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
<?xml version="1.0"?>
<!--*-nxml-*-->
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
  "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd">
<!-- SPDX-License-Identifier: LGPL-2.1-or-later -->
<refentry id="systemd-fsck_.service" xmlns:xi="http://www.w3.org/2001/XInclude">

  <refentryinfo>
    <title>systemd-fsck@.service</title>
    <productname>systemd</productname>
  </refentryinfo>

  <refmeta>
    <refentrytitle>systemd-fsck@.service</refentrytitle>
    <manvolnum>8</manvolnum>
  </refmeta>

  <refnamediv>
    <refname>systemd-fsck@.service</refname>
    <refname>systemd-fsck-root.service</refname>
    <refname>systemd-fsck-usr.service</refname>
    <refname>systemd-fsck</refname>
    <refpurpose>File system checker logic</refpurpose>
  </refnamediv>

  <refsynopsisdiv>
    <para><simplelist>
      <member><filename>systemd-fsck@.service</filename></member>
      <member><filename>systemd-fsck-root.service</filename></member>
      <member><filename>systemd-fsck-usr.service</filename></member>
      <member><filename>/usr/lib/systemd/systemd-fsck</filename></member>
    </simplelist></para>
  </refsynopsisdiv>

  <refsect1>
    <title>Description</title>

    <para><filename>systemd-fsck@.service</filename>, <filename>systemd-fsck-root.service</filename>, and
    <filename>systemd-fsck-usr.service</filename> are services responsible for file system checks. They are
    instantiated for each device that is configured for file system checking.
    <filename>systemd-fsck-root.service</filename> and <filename>systemd-fsck-usr.service</filename> are
    responsible for file system checks on the root and /usr file system, respectively, but only if the root
    filesystem was not checked in the initrd. <filename>systemd-fsck@.service</filename> is used for all
    other file systems and for the root file system in the initrd.</para>

    <para>These services are started at boot if <option>passno</option> in <filename>/etc/fstab</filename>
    for the file system is set to a value greater than zero, but only if it is also configured to be
    mounted at boot (i.e. without <literal>noauto</literal> option). The file system check for root is
    performed before the other file systems. Other file systems may be checked in parallel, except when
    they are on the same rotating disk.</para>

    <para><filename>systemd-fsck</filename> does not know any details
    about specific filesystems, and simply executes file system
    checkers specific to each filesystem type
    (<filename>fsck.<replaceable>type</replaceable></filename>). These checkers will decide if
    the filesystem should actually be checked based on the time since
    last check, number of mounts, unclean unmount, etc.</para>

    <para><filename>systemd-fsck-root.service</filename> and <filename>systemd-fsck-usr.service</filename>
    will activate <filename>reboot.target</filename> if
    <citerefentry project='man-pages'><refentrytitle>fsck</refentrytitle><manvolnum>8</manvolnum></citerefentry>
    returns the "System
    should reboot" condition, or <filename>emergency.target</filename> if <command>fsck</command>
    returns the "Filesystem errors left uncorrected" condition.</para>

    <para><filename>systemd-fsck@.service</filename> will fail if
    <command>fsck</command> returns with either "System should reboot"
    or "Filesystem errors left uncorrected" conditions. For filesystems
    listed in <filename>/etc/fstab</filename> without <literal>nofail</literal>
    or <literal>noauto</literal> options, <literal>local-fs.target</literal>
    will then activate <filename>emergency.target</filename>.</para>
  </refsect1>

  <refsect1>
    <title>Kernel Command Line</title>

    <para><command>systemd-fsck</command> understands these kernel
    command line parameters:</para>

    <variablelist class='kernel-commandline-options'>
      <varlistentry>
        <term><varname>fsck.mode=</varname></term>

        <listitem><para>One of <literal>auto</literal>,
        <literal>force</literal>, <literal>skip</literal>. Controls
        the mode of operation. The default is <literal>auto</literal>,
        and ensures that file system checks are done when the file
        system checker deems them necessary. <literal>force</literal>
        unconditionally results in full file system checks.
        <literal>skip</literal> skips any file system
        checks.</para>

        <xi:include href="version-info.xml" xpointer="v186"/></listitem>
      </varlistentry>

      <varlistentry>
        <term><varname>fsck.repair=</varname></term>

        <listitem><para>One of <literal>preen</literal>,
        <literal>yes</literal>, <literal>no</literal>. Controls the
        mode of operation. The default is <literal>preen</literal>,
        and will automatically repair problems that can be safely
        fixed. <literal>yes</literal> will answer yes to all
        questions by fsck and <literal>no</literal> will answer no to
        all questions. </para>

        <xi:include href="version-info.xml" xpointer="v213"/></listitem>
      </varlistentry>
    </variablelist>
  </refsect1>

  <refsect1>
    <title>See Also</title>
    <para><simplelist type="inline">
      <member><citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry></member>
      <member><citerefentry project='man-pages'><refentrytitle>fsck</refentrytitle><manvolnum>8</manvolnum></citerefentry></member>
      <member><citerefentry><refentrytitle>systemd-quotacheck.service</refentrytitle><manvolnum>8</manvolnum></citerefentry></member>
      <member><citerefentry project='url'><refentrytitle url='https://btrfs.readthedocs.io/en/latest/fsck.btrfs.html'>fsck.btrfs</refentrytitle><manvolnum>8</manvolnum></citerefentry></member>
      <member><citerefentry project='man-pages'><refentrytitle>fsck.cramfs</refentrytitle><manvolnum>8</manvolnum></citerefentry></member>
      <member><citerefentry project='man-pages'><refentrytitle>fsck.ext4</refentrytitle><manvolnum>8</manvolnum></citerefentry></member>
      <member><citerefentry project='man-pages'><refentrytitle>fsck.fat</refentrytitle><manvolnum>8</manvolnum></citerefentry></member>
      <member><citerefentry project='man-pages'><refentrytitle>fsck.hfsplus</refentrytitle><manvolnum>8</manvolnum></citerefentry></member>
      <member><citerefentry project='man-pages'><refentrytitle>fsck.minix</refentrytitle><manvolnum>8</manvolnum></citerefentry></member>
      <member><citerefentry project='man-pages'><refentrytitle>fsck.ntfs</refentrytitle><manvolnum>8</manvolnum></citerefentry></member>
      <member><citerefentry project='man-pages'><refentrytitle>fsck.xfs</refentrytitle><manvolnum>8</manvolnum></citerefentry></member>
    </simplelist></para>
  </refsect1>

</refentry>