Основные особенности файловой системы Linux
- Единое дерево директорий
- Хотя фактически это может быть не так:
- Разные разделы
- Разные диски
- Сетевые ресурсы
- Хотя фактически это может быть не так:
- «Всё есть файлы»
- Нет, но у многого можно выделить «Файловый интерфейс»
- Чтение-запись параметров объекта
- Задание прав
- Определение мета-данных объекта
- И так далее
- Жёсткие и символьные ссылки на объекты
- В самой ФС такая же схема используется
- Нет, но у многого можно выделить «Файловый интерфейс»
Структура файловой системы Linux
- Filesystem Hierarchy Standard
/bin,/sbin,/lib— утилиты и библиотеки для работы- Системные утилиты
- Базовые утилиты работы с системой
/usr— Пользовательские (но системные ☺) утилиты и библиотеки- Вторичная иерархия объектов
/opt— Каталог для сторонних пакетов- Когда надо поставить что-то общее, но без конфликтов с библиотеками системы
/home— Домашние директории пользователей- Персональные настройки
- Персональные данные
/root— Домашняя директория суперпользователя- Управление системой → изолированная внешняя директория без общего доступа всех пользователей
/boot— Загрузочные файлы/dev— VFS для описания файловых устройств- Список физических устройств управляется специальной службой
systemd-udevd
- Список физических устройств управляется специальной службой
/proc— VFS для описания структур данных ядра- Процессы, параметры ядра, памяти…
/sys— VFS (sysfs) для описания системных параметров/run— Информация о текущем состоянии системы и процессов/tmp— Временные файлы- Гарантировать сохранность данных между перезагрузками нельзя
/var— Изменяемые данные- Почта
- Кеш
- Установленные пакеты
/mediaи/mnt— Директории монтирования внешних ФС- Автоматически (например, съёмные носители)
- Вручную
/srv— Данные сервисов для внешнего доступа- Или место их правильного размещения
Возможности монтирования файловых систем
mount / umountдля управления монтированиемfindmntдля просмотра смонтированных ФС
$ findmnt
$ cat /etc/fstab
- Монтирование существующих компонентов с флагом
--bind- Именно подключение, аналог жёсткой ссылки на файлы
$ mkdir /home/Someone
$ cat > /home/Someone/hello
…
$ mount --bind /home/Someone /mnt
- Монтирование образов файловых систем
- Например, ISO-образов
$ mkdir /mnt/iso
$ mount -o loop <...>.iso /mnt/iso
tmpfs— Файловая система в оперативной памяти- Именно такой является
/run
- Именно такой является
$ sudo mount -t tmpfs -o size=100M tmpfs /mnt/ramdisk
nfs— Файловые системы с подключением по сети