Lx4U-book/docs/setup/fstab.md

97 lines
7.5 KiB
Markdown
Raw Normal View History

2021-06-02 14:49:42 +08:00
# Создание файла fstab
При загрузке системы, исходя из данных в файле `/etc/fstab`, монтируются различные разделы и диски, в том числе - корневой раздел.
2021-06-10 02:47:21 +08:00
`Fstab` (сокр. от англ. file systems table) — один из конфигурационных файлов, который содержит информацию о различных файловых системах и устройствах хранения информации компьютера, описывает, как диск будет использоваться или как будет интегрирован в систему. Файл `/etc/fstab` делает возможным автоматическое монтирование определенных файловых систем, что особенно нужно при загрузке системы. Он содержит ряд строк, описывающих файловые системы, их точки монтирования и другие параметры.
2021-06-10 02:47:21 +08:00
Строки содержат, по порядку:
- устройство монтируемой файловой системы;
- точку монтирования;
- тип файловой системы;
- параметры монтирования;
- флаг для dump, утилиты создания резервных копий;
- порядок проверки для `fsck` (File System ChecK).
2021-06-10 02:47:21 +08:00
Здесь всегда есть запись о корневой файловой системе. Раздел swap является специальным, поэтому его не видно в древовидной структуре, и в поле точки монтирования для таких разделов всегда содержится ключевое слово swap.
2021-06-10 02:47:21 +08:00
```bash
{{ include('../scripts/fstab.sh') }}
```
2021-06-02 14:49:42 +08:00
2021-06-10 02:47:21 +08:00
Замените `sdX` на нужное значение.
2021-06-02 14:49:42 +08:00
2021-08-03 04:34:49 +08:00
Если вы используете SysVInit, выполните:
```bash
echo "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" >> /etc/fstab
```
2021-08-03 03:13:27 +08:00
2021-06-02 14:49:42 +08:00
Для использования UEFI выполните:
```bash
echo "/dev/sdN /boot/efi vfat umask=0077 0 0" >> /etc/fstab
```
2021-06-10 02:47:21 +08:00
Заменив `sdN` на нужное значение.
2021-06-02 14:49:42 +08:00
2021-06-10 04:33:01 +08:00
Для использования `swap` выполните:
2021-06-02 14:49:42 +08:00
```bash
echo "/dev/sdY swap swap pri=1 0 0" >> /etc/fstab
```
2021-06-10 02:47:21 +08:00
Заменив `sdY` на нужное значение.
При необходимости можете добавить другие разделы в данный файл, руководствуясь примером выше.
2021-06-10 02:47:21 +08:00
Файловым системам MS-DOS или Windows (vfat, ntfs, smbfs, cifs, iso9660, udf) требуется специальный параметр utf8, чтобы символы, не входящие в ASCII, в именах файлов интерпретировались должным образом. Для языковых стандартов, отличных от UTF-8, значение iocharset должно быть установлено таким же, как набор символов языкового стандарта, настроенного таким образом, чтобы ядро его понимало. Это работает, если соответствующее определение набора символов (находится в `File systems -> Native Language Support` при настройке ядра) было скомпилировано в ядро или построено как модуль. Однако, если набор символов локали - UTF-8, соответствующий параметр iocharset = utf8 сделает файловую систему чувствительной к регистру. Чтобы исправить это, используйте специальный параметр utf8 вместо iocharset = utf8 для локалей UTF-8. Параметр «codepage» также необходим для файловых систем vfat и smbfs. Он должен быть установлен на номер кодовой страницы, используемый в MS-DOS в вашей стране. Например, чтобы смонтировать USB-накопители, пользователю ru_RU.KOI8-R потребуется следующее в части параметров его строки монтирования в `/etc/fstab`:
2021-06-10 02:47:21 +08:00
```bash
noauto,user,quiet,showexec,codepage=866,iocharset=koi8r
```
Соответствующий фрагмент опций для пользователей ru_RU.UTF-8:
```bash
noauto,user,quiet,showexec,codepage=866,utf8
```
Обратите внимание, что использование `iocharset` является значением по умолчанию для `iso8859-1` (что делает файловую систему нечувствительной к регистру), а опция `utf8` указывает ядру преобразовать имена файлов с использованием `UTF-8`, чтобы их можно было интерпретировать в локали UTF-8.
Можно сделать файловую систему ext4 надежной при сбоях питания для некоторых типов жёстких дисков. Для этого добавьте параметр монтирования `barrier=1` в соответствующую запись в `/etc/fstab`. Чтобы проверить, поддерживает ли диск этот параметр, запустите `hdparm` на соответствующем диске:
2021-06-10 02:47:21 +08:00
```bash
hdparm -I /dev/sda | grep NCQ
```
2021-06-02 14:49:42 +08:00
2021-06-10 02:47:21 +08:00
Если результат будет пустой - данная опция не поддерживается.
2021-06-02 14:49:42 +08:00
Мы настоятельно советуем использовать вместо метки раздела диска (например, `/dev/sda1`, `/dev/hdc2`, etc.) его UUID. Если метка диска, прописанного в `/etc/fstab` изменится, то могут возникнуть проблемы с загрузкой ОС, либо же она не загрузится вообще.
Узнать UUID для нужного раздела можно, выполнив:
```bash
blkid /dev/sdX
```
Заменив `sdX` на нужное значение, например, `sda2`.
Для того чтобы использовать вместо метки UUID, запись должна иметь следующий вид:
```
UUID=93c7b617-7558-4d1b-ab4b-a56880811037 / ext4 defaults 1 1
```
Т. е. вместо метки `/dev/sdX` используется UUID нужного раздела: `UUID="нужное_значение"`. Всё остальное без изменений.
???+ warning "Предупреждение"
После выполнения данных инструкций внимательно проверьте данный файл на наличие ошибок.
2021-06-13 16:26:44 +08:00