Я наткнулся на различные статьи, а также на объяснение в Википедии, однако мне трудно понять, что это значит. Пока я понимаю, что UnionFS — это модуль, который обеспечивает объединение каталогов. Он находится на уровне выше смонтированных каталогов. У UnionFS нет точки монтирования.
Меня смущает, как UnionFS узнает, что именно должно отображаться унифицированным образом?
решение1
UnionFS работает на уровне каталога, а не на уровне устройства, поэтому у нее нет точки монтирования — она располагается поверх существующих точек монтирования, каждая из которых может быть ветвью — например, имея базовый уровень (или, если использовать правильную терминологию, уровень низкого приоритета с корневой файловой системой) на файловой системе CD-ROM только для чтения iso9660 и ветвь на ramdisk. Каждой ветви назначается приоритет, и ветвь с более высоким приоритетом переопределяет ветвь с более низким приоритетом.
Если каталог существует в двух базовых ветвях, то содержимое и атрибуты каталога Unionfs представляют собой комбинацию двух нижних каталогов.
Если файл существует в двух ветвях, содержимое и атрибуты файла Unionfs такие же, как у файла в ветви с более высоким приоритетом, а файл в ветви с более низким приоритетом игнорируется.
Наконец, если есть дубликат, дубликат каталога скрывается для упрощения процесса.
Linuxжурналимеет довольно полное описаниео том, как работает unionfs, если вам нужно что-то большее, чем упрощенное объяснение
решение2
Его операции VFS — это небольшие заглушки, которые вызываются обратно в слой VFS нижележащих файловых систем. Так что когда вы, например, читаете каталог, он читает каталоги нижележащих файловых систем и объединяет списки файлов.