linuxlab.io
Учебники▾
  • Линукс и сети
    Файловая система, процессы, TCP/IP, BGP и OSPF
    →
  • Terraform и IaC
    HCL, state, plan/apply на sandbox LocalStack
    →
  • Git и GitHub
    Объектная модель, plumbing, ветвление, GitHub Actions
    →
Все учебники →
ЦеныО платформеВойтиСоздать аккаунт
/
  • Введение
  • Уроки
  • How it works
  • Симулятор
  • База знаний
  • Собеседование
Index
Categories
All entries
Footer
linuxlab-УчебникиЦеныО платформеКонфиденциальность и куки
Copyright © 2026 LinuxLab. Все права защищены.
home/linux/kb/Файловая система/mount-and-fstab

kb/filesystem ── Файловая система ── intermediate

mount и /etc/fstab - подключение ФС

`mount` подключает блочное устройство или ФС к точке монтирования в дереве. `/etc/fstab` - список того что монтировать при загрузке.

view as markdownaka: mount, fstab, mount-options, umount

Что значит «смонтировать»

Linux имеет одно дерево каталогов с корнем /. Чтобы получить доступ к block-devices, его надо «вставить» в дерево - выбрать точку монтирования (пустой каталог) и сказать ядру «дальше под этим путём будет содержимое такого-то устройства».

bash
sudo mkdir /mnt/data
sudo mount /dev/sdb1 /mnt/data        # ext4 определится автоматически
sudo mount -t xfs /dev/sdb1 /mnt/data  # явно указать тип

Просмотр текущих маунтов

bash
mount                                 # все смонтированные ФС (полный формат)
findmnt                                # дерево маунтов (читаемее)
findmnt /                              # инфа про конкретную точку
cat /proc/mounts                       # сырой формат, всегда актуальный
df -hT                                 # размеры + типы ФС

Опции монтирования

Через -o или 4-я колонка в fstab. Самые важные:

опциячто
ro / rwread-only / read-write
noexecзапретить запуск бинарей с этой ФС (защита от malware)
nosuidигнорировать setuid/setgid биты (file-permissions)
nodevигнорировать device-nodes
noatimeне обновлять access-time при чтении (быстрее)
relatimeобновлять atime только если сильно устарело (default)
sync / asyncсинхронные записи vs кеширование
defaultsrw,suid,dev,exec,auto,nouser,async
userразрешить обычному юзеру монтировать

Триада noexec,nosuid,nodev - стандарт для /tmp, /home, user-mounted'ов. Сильно снижает blast-radius эскалации.

/etc/fstab - что монтировать при загрузке

Формат - одна строка на ФС, 6 полей через whitespace:

# <source>          <target>   <fstype>  <options>            <dump>  <pass>
UUID=abc-123        /          ext4      defaults,errors=remount-ro  0  1
UUID=def-456        /home      ext4      defaults,nodev              0  2
UUID=ghi-789        none       swap      sw                          0  0
tmpfs               /tmp       tmpfs     defaults,nosuid,nodev,size=2G  0  0
/dev/sdb1           /mnt/data  xfs       noatime,nofail              0  2

Поля:

  • source - UUID/LABEL/путь устройства (UUID надёжнее, имена меняются)
  • target - точка монтирования
  • fstype - ext4, xfs, tmpfs, nfs, cifs, auto...
  • options - через запятую без пробелов
  • dump - нужно ли в dump-бэкапы (всегда 0 сейчас)
  • pass - порядок fsck при загрузке: 0 = не проверять, 1 = root, 2 = остальные

Применить изменения без ребута:

bash
sudo mount -a                          # смонтировать всё что в fstab и ещё не смонтировано
sudo systemctl daemon-reload           # systemd генерит .mount unit'ы из fstab

nofail - обязательно для опциональных дисков: при отсутствии не блокирует boot.

tmpfs - ФС в RAM

bash
sudo mount -t tmpfs -o size=512M tmpfs /mnt/ramdisk

Полезно для:

  • /tmp (быстрее, очищается при ребуте)
  • /run - runtime state systemd, всегда tmpfs
  • /dev/shm - POSIX shared memory
  • сборок где много временных файлов (CI)

Bind mount - тот же контент в двух местах

bash
sudo mount --bind /var/data /mnt/duplicate

Не копирование! Это второе имя для того же дерева. Применяется в:

  • chroot-окружениях (пробросить /dev, /proc)
  • jail'ах
  • Docker volumes (-v /host/path:/container/path)
  • read-only views: mount --bind + mount -o remount,bind,ro

Размонтирование

bash
sudo umount /mnt/data
sudo umount -l /mnt/data        # lazy: открепить от дерева сейчас, освободить когда последний fd закроется
sudo umount -f /mnt/data        # force (только для NFS/userspace)
# Если "device is busy"
sudo lsof +D /mnt/data           # см. [[cmd-lsof]]: кто держит файлы там
sudo fuser -vm /mnt/data         # альтернатива

NFS / CIFS

bash
# NFS
sudo mount -t nfs server:/export/path /mnt/nfs
# fstab: server:/export/path  /mnt/nfs  nfs  defaults,_netdev  0  0
# CIFS (Samba/Windows)
sudo mount -t cifs //server/share /mnt/win -o username=user,password=pass

Опция _netdev - «требует сети, монтировать после network-online».

§ команды

bash
findmnt

Дерево маунтов в читаемом виде (заменяет голый mount)

bash
sudo mount -a

Применить изменения в /etc/fstab без ребута

bash
sudo mount -o remount,rw /

Перемонтировать корень в rw без размонтирования (для recovery)

bash
sudo mount --bind /var/data /mnt/d

Bind mount: тот же контент в другом пути (как Docker volume)

bash
sudo umount -l /mnt/busy

Lazy unmount - снять с дерева сейчас, освободить позже

§ см. также

  • block-devicesBlock devices - диски в LinuxBlock device - устройство которое читается/пишется блоками фиксированного размера (обычно 512B или 4K). Диски, SSD, NVMe - всё block devices в `/dev/`.
  • cmd-lsblk-blkidlsblk и blkid - block-устройства и UUIDlsblk показывает дерево block-устройств (диск → раздел → LVM/crypt → mountpoint). blkid печатает UUID/LABEL/TYPE ФС. Связка для написания строки в [[mount-and-fstab|/etc/fstab]] по UUID.
  • ext4ext4 - рабочая лошадь Linux-ФСext4 - дефолтная ФС большинства дистро: журналирование, extents, фиксированное число inode при mkfs. Главные тюны - data-mode, noatime, lazy init. Стабилен 15+ лет. Не масштабируется как XFS.
  • xfsXFS - extents и параллельный I/OXFS - дефолт RHEL 7+: allocation groups (параллельный I/O), extents-based allocation, online grow. **Нельзя уменьшить** - только grow. Идеален для big files, БД, parallel workload.
  • tmpfs-overlayfstmpfs и overlayfs - RAM-disk и слоиtmpfs - ФС в RAM (с swap'ом). Дефолт для /run, /dev/shm, часто /tmp. overlayfs - lower + upper = merged: RO-база + RW-слой над ней. Основа Docker (overlay2), Live-ISO, immutable distro.
  • nfsNFS - сетевая файловая системаNFS - сетевая ФС от Sun. v3 - stateless, v4.1+ - stateful с делегациями и pNFS. /etc/exports на сервере, mount -t nfs на клиенте. root_squash, sync/async, lock manager - три главные опции.
  • kubernetes-storageKubernetes storage - PV, PVC, StorageClass, CSIPV - физический volume. PVC - запрос pod'а. StorageClass + CSI - шаблон для dynamic provisioning. ReadWriteOnce типичный (block), ReadWriteMany нужен NFS/CephFS. Эфемерные (emptyDir, configMap) живут пока жив pod.
Footer
linuxlab-
Copyright © 2026 LinuxLab. Все права защищены.
Учебники
Цены
О платформе
Конфиденциальность и куки