Вики / Хранилище и ФС
Монтирование и fstab
Подключение файловых систем, постоянное монтирование через /etc/fstab, UUID.
В Linux нет «дисков C:/D:» — всё дерево начинается с /, а файловые системы
монтируются в каталоги (точки монтирования).
lsblk -f # блочные устройства + ФС + UUID + точки монтирования
findmnt # дерево монтирования (наглядно)
mount | column -t # что и куда смонтировано (плоско)
df -h # свободное место по смонтированным ФС
sudo mount /dev/sdb1 /mnt/data # смонтировать вручную (временно, до ребута)
sudo mount UUID=1234-ABCD /mnt # по UUID
sudo umount /mnt/data # отмонтировать
sudo umount -l /mnt/data # lazy: отцепить, освободить когда отпустят (аккуратно)
blkid /dev/sdb1 # UUID и тип ФС (для fstab)
sudo mount -o remount,rw / # перемонтировать корень в rw (recovery)
sudo mount -o remount,ro /data # на лету сделать ro
Частые опции -o: ro/rw, noexec, nosuid, nodev (безопасность),
noatime (скорость), _netdev (сетевые ФС).
/etc/fstab монтирует ФС при загрузке. Поля: что · куда · тип · опции · dump · pass.
UUID=1234-ABCD /data ext4 defaults,noatime 0 2
tmpfs /scratch tmpfs size=2G,noexec 0 0
pass(6-е поле):1для корня,2для прочих,0— не проверять fsck.- После правки обязательно проверь, не сломал ли загрузку:
sudo mount -a # смонтировать всё из fstab БЕЗ ребута (увидишь ошибку сразу)
sudo systemctl daemon-reload # перечитать сгенерированные mount-юниты
findmnt --verify # проверить fstab на ошибки
# bind-mount: показать каталог в другом месте дерева
sudo mount --bind /srv/data /var/www/data
# в fstab: /srv/data /var/www/data none bind 0 0
# tmpfs: ФС в ОЗУ (быстрый scratch, чистится при ребуте)
sudo mount -t tmpfs -o size=1G tmpfs /mnt/ram
target is busy при umount
ФС используется. Кто держит: lsof +D /mnt/data или fuser -vm /mnt/data. Закрой
процессы, выйди из каталога (cd /), или umount -l (lazy).
Ошибка в fstab → система не загрузилась
Неверная строка может уронить загрузку в emergency-режим. Всегда после правки
sudo mount -a/findmnt --verify. В recovery: mount -o remount,rw / и поправь fstab.
Смонтировал, но место не там, где ждал
Если в точке монтирования уже были файлы — они «спрятаны» под смонтированной ФС
(не удалены). umount вернёт их.
Сетевая ФС вешает загрузку
Без _netdev система ждёт ФС до сети. Добавь _netdev (и nofail для некритичных)
в опции fstab (см. nfs).
Не та ФС/устройство
Имена /dev/sdX «плавают» между ребутами — монтируй по UUID (blkid), не по /dev/sdX.
lsblk -f ; findmnt # устройства+ФС / дерево монтирования
blkid /dev/sdX1 # UUID для fstab
sudo mount -a # применить fstab без ребута (проверка!)
sudo mount -o remount,rw / # корень в rw (recovery)
sudo mount --bind SRC DST # bind-mount
fuser -vm /mnt # кто держит ФС (для umount)
См. также
- Место на диске (df, du, inode) — Хранилище и ФС
- LVM (логические тома) — Хранилище и ФС