mirror of
https://github.com/systemd/systemd.git
synced 2024-11-24 02:33:36 +08:00
a108fcbace
This removes remaining hardcoded occurences of `/sbin/fsck`, and instead uses `find_executable` to find `fsck`. We also use `fsck_exists_for_fstype` to check for the `fsck.*` executable, which also checks in `$PATH`, so it's fair to assume fsck itself is also available.
123 lines
6.0 KiB
XML
123 lines
6.0 KiB
XML
<?xml version="1.0"?>
|
|
<!--*-nxml-*-->
|
|
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
|
|
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
|
|
<!-- SPDX-License-Identifier: LGPL-2.1-or-later -->
|
|
<refentry id="systemd-fsck@.service">
|
|
|
|
<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><filename>systemd-fsck@.service</filename></para>
|
|
<para><filename>systemd-fsck-root.service</filename></para>
|
|
<para><filename>systemd-fsck-usr.service</filename></para>
|
|
<para><filename>/usr/lib/systemd/systemd-fsck</filename></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. 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 <filename>fsck</filename> returns the "System
|
|
should reboot" condition, or <filename>emergency.target</filename> if <filename>fsck</filename>
|
|
returns the "Filesystem errors left uncorrected" condition.</para>
|
|
|
|
<para><filename>systemd-fsck@.service</filename> will fail if
|
|
<filename>fsck</filename> 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><filename>systemd-fsck</filename> 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></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></listitem>
|
|
</varlistentry>
|
|
</variablelist>
|
|
</refsect1>
|
|
|
|
<refsect1>
|
|
<title>See Also</title>
|
|
<para>
|
|
<citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
|
|
<citerefentry project='man-pages'><refentrytitle>fsck</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
|
|
<citerefentry><refentrytitle>systemd-quotacheck.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
|
|
<citerefentry project='man-pages'><refentrytitle>fsck.btrfs</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
|
|
<citerefentry project='man-pages'><refentrytitle>fsck.cramfs</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
|
|
<citerefentry project='man-pages'><refentrytitle>fsck.ext4</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
|
|
<citerefentry project='man-pages'><refentrytitle>fsck.fat</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
|
|
<citerefentry project='man-pages'><refentrytitle>fsck.hfsplus</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
|
|
<citerefentry project='man-pages'><refentrytitle>fsck.minix</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
|
|
<citerefentry project='man-pages'><refentrytitle>fsck.ntfs</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
|
|
<citerefentry project='man-pages'><refentrytitle>fsck.xfs</refentrytitle><manvolnum>8</manvolnum></citerefentry>
|
|
</para>
|
|
</refsect1>
|
|
|
|
</refentry>
|