UnionFS


UnionFS — вспомогательная файловая система для Linux и FreeBSD, производящая каскадно-объединённое монтирование других файловых систем. Это позволяет файлам и каталогам изолированных файловых систем, известных как ветви, прозрачно перекрываться, формируя единую связанную файловую систему. Каталоги, которые имеют тот же путь в объединённых ветвях, будут совместно отображать содержимое в объединённом каталоге новой виртуальной файловой системы.

Когда ветви монтируются, то указывается приоритет одной ветви над другой. Следовательно, когда обе ветви содержат файл с идентичным именем, одна ветвь будет иметь больший приоритет.

Различные ветви могут одновременно находиться в режиме «только чтение» и «чтение-запись», таким образом, запись в объединённую виртуальную файловую систему будет направлена на определённую реальную файловую систему. Это позволяет файловой системе выглядеть изменяемой, но в действительности, не позволяющей производить запись изменений в файловую систему, этот процесс также известен как копирование при записи. Это может потребоваться, когда носитель информации физически допускет только считывание, как в случае с Live CD-дисками.

В Knoppix можно произвести каскадно-объединённое монтирование файловой системы CD-ROM или DVD-ROM с файловой системой, содержащейся в файле образа knoppix.img, который располагается на записываемом устройстве (таком как USB Flash Drive), где записываемое устройство имеет больший приоритет, чем файловая система СD-ROM. Это позволяет пользователю изменять любые файлы операционной системы, в то время как новый файл хранится в записываемом образе и прозрачно используется вместо того, который находится на CD-ROM.[1]

UnionFS может использоваться при создании шаблона общего назначения для большого числа файловых систем, а также для создания файловых систем в режиме «только чтение» из соображений безопасности. UnionFS иногда используют как решение для создания снимков файловой системы.

Существует две версии UnionFS для Linux. Версия 1.x является изолированной, которая может быть собрана в виде модуля. Версия 2.x — новее, реконструированная. В январе 2007 UnionFS была включена в ветку Linux -mm, которую поддерживает Эндрю Мортон, означая дальнейшее полное включение в основную ветку ядра Linux. Версия 2.x является мельчайшей реализацией каскадно-объединённого монтирования для Linux, она была тщательно проверена и исследована многими разработчиками ядра, к тому же является самой эффективной.