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
|
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="ch-bootable-fstab">
<?dbhtml filename="fstab.html"?>
<title>Creating the /etc/fstab File</title>
<indexterm zone="ch-bootable-fstab">
<primary sortas="e-/etc/fstab">/etc/fstab</primary>
</indexterm>
<para>The <filename>/etc/fstab</filename> file is used by some programs to
determine where file systems are to be mounted by default, in which order, and
which must be checked (for integrity errors) prior to mounting. Create a new
file systems table like this:</para>
<screen revision="sysv"><userinput>cat > /etc/fstab << "EOF"
<literal># Begin /etc/fstab
# file system mount-point type options dump fsck
# order
/dev/<replaceable><xxx></replaceable> / <replaceable><fff></replaceable> defaults 1 1
/dev/<replaceable><yyy></replaceable> swap swap pri=1 0 0
proc /proc proc nosuid,noexec,nodev 0 0
sysfs /sys sysfs nosuid,noexec,nodev 0 0
devpts /dev/pts devpts gid=5,mode=620 0 0
tmpfs /run tmpfs defaults 0 0
devtmpfs /dev devtmpfs mode=0755,nosuid 0 0
# End /etc/fstab</literal>
EOF</userinput></screen>
<screen revision="systemd"><userinput>cat > /etc/fstab << "EOF"
<literal># Begin /etc/fstab
# file system mount-point type options dump fsck
# order
/dev/<replaceable><xxx></replaceable> / <replaceable><fff></replaceable> defaults 1 1
/dev/<replaceable><yyy></replaceable> swap swap pri=1 0 0
# End /etc/fstab</literal>
EOF</userinput></screen>
<para>Replace <replaceable><xxx></replaceable>,
<replaceable><yyy></replaceable>, and <replaceable><fff></replaceable>
with the values appropriate for the system, for example, <filename
class="partition">sda2</filename>, <filename
class="partition">sda5</filename>, and <systemitem
class="filesystem">ext4</systemitem>. For details on the six
fields in this file, see <command>man 5 fstab</command>.</para>
<para>Filesystems with MS-DOS or Windows origin (i.e. vfat, ntfs, smbfs,
cifs, iso9660, udf) need a special option, utf8, in order for non-ASCII
characters in file names to be interpreted properly. For non-UTF-8 locales,
the value of <option>iocharset</option> should be set to be the same as the
character set of the locale, adjusted in such a way that the kernel
understands it. This works if the relevant character set definition (found
under File systems -> Native Language Support when configuring the kernel)
has been compiled into the kernel or built as a module. However, if the
character set of the locale is UTF-8, the corresponding option
<option>iocharset=utf8</option> would make the file system case sensitive. To
fix this, use the special option <option>utf8</option> instead of
<option>iocharset=utf8</option>, for UTF-8 locales. The
<quote>codepage</quote> option is also needed for vfat and smbfs filesystems.
It should be set to the codepage number used under MS-DOS in your country.
For example, in order to mount USB flash drives, a ru_RU.KOI8-R user would
need the following in the options portion of its mount line in
<filename>/etc/fstab</filename>:</para>
<screen><literal>noauto,user,quiet,showexec,codepage=866,iocharset=koi8r</literal></screen>
<para>The corresponding options fragment for ru_RU.UTF-8 users is:</para>
<screen><literal>noauto,user,quiet,showexec,codepage=866,utf8</literal></screen>
<para>Note that using <option>iocharset</option> is the default for
<literal>iso8859-1</literal> (which keeps the file system case
insensitive), and the <option>utf8</option> option tells
the kernel to convert the file names using UTF-8 so they can be
interpreted in the UTF-8 locale.</para>
<!--note>
<para>In the latter case, the kernel emits the following message:</para>
<screen><computeroutput>FAT: utf8 is not a recommended IO charset for FAT filesystems,
filesystem will be case sensitive!</computeroutput></screen>
<para>This negative recommendation should be ignored, since all other values
of the <quote>iocharset</quote> option result in wrong display of filenames in
UTF-8 locales.</para>
</note-->
<para>It is also possible to specify default codepage and iocharset values for
some filesystems during kernel configuration. The relevant parameters
are named
<quote>Default NLS Option</quote> (<option>CONFIG_NLS_DEFAULT)</option>,
<quote>Default Remote NLS Option</quote> (<option>CONFIG_SMB_NLS_DEFAULT</option>),
<quote>Default codepage for FAT</quote> (<option>CONFIG_FAT_DEFAULT_CODEPAGE</option>), and
<quote>Default iocharset for FAT</quote> (<option>CONFIG_FAT_DEFAULT_IOCHARSET</option>).
There is no way to specify these settings for the
ntfs filesystem at kernel compilation time.</para>
<para>It is possible to make the ext3 filesystem reliable across power
failures for some hard disk types. To do this, add the
<option>barrier=1</option> mount option to the appropriate entry in
<filename>/etc/fstab</filename>. To check if the disk drive supports
this option, run
<ulink url="&blfs-book;general/hdparm.html">hdparm</ulink>
on the applicable disk drive. For example, if:</para>
<screen role="nodump"><userinput>hdparm -I /dev/sda | grep NCQ</userinput></screen>
<para>returns non-empty output, the option is supported.</para>
<para>Note: Logical Volume Management (LVM) based partitions cannot use the
<option>barrier</option> option.</para>
</sect1>
|