Разработчики) | Сообщество с открытым исходным кодом |
---|---|
Полное имя | Файловая система унификации |
Функции | |
Разрешения файловой системы | POSIX |
Прозрачное сжатие | Нет |
Прозрачное шифрование | Нет (но может быть предоставлено на уровне блочного устройства) |
Другой | |
Поддерживаемые операционные системы | Linux , FreeBSD и NetBSD |
Unionfs - это служба файловой системы для Linux , FreeBSD и NetBSD, которая реализует объединенное монтирование для других файловых систем . Он позволяет прозрачно накладывать файлы и каталоги отдельных файловых систем, называемых ветвями, образуя единую согласованную файловую систему. Содержимое каталогов, имеющих одинаковый путь в объединенных ветвях, будет отображаться вместе в одном объединенном каталоге в новой виртуальной файловой системе.
При монтировании ответвлений указывается приоритет одной ветви над другой. Поэтому, когда обе ветки содержат файл с одинаковым именем, одна получает приоритет над другой.
Различные ветви могут быть файловыми системами только для чтения или чтения / записи , так что запись в виртуальную объединенную копию направляется в конкретную реальную файловую систему. Это позволяет файловой системе выглядеть доступной для записи, но без фактического разрешения операций записи для изменения файловой системы, также известной как копирование при записи . Это может быть желательно, если носитель физически доступен только для чтения, например, в случае Live CD .
Первоначально Unionfs был разработан профессором Эрезом Задоком и его командой из Университета Стоуни-Брук . [1] [2] [3]
Использует [ редактировать ]
В Knoppix - объединение файловой системы на CD-ROM или DVD и файловой системы, содержащейся в файле образа под названием knoppix.img (knoppix-data.img для Knoppix 7) на записываемом диске (например, USB-накопителе). ), где записываемый диск имеет приоритет над файловой системой, доступной только для чтения. Это позволяет пользователю изменять любой из файлов в системе, при этом новый файл сохраняется в образе и прозрачно используется вместо файла на компакт-диске. [4]
Unionfs также можно использовать для создания единого общего шаблона для нескольких файловых систем или по соображениям безопасности. Иногда его используют в качестве специальной системы моментальных снимков .
Docker использует файловые системы, вдохновленные Unionfs, такие как Aufs , для создания слоев образов Docker. Когда действия выполняются с базовым изображением, слои создаются и документируются, так что каждый слой полностью описывает, как воссоздать действие. Эта стратегия позволяет использовать облегченные образы Docker, поскольку необходимо распространять только обновления уровней (например, по сравнению с полными виртуальными машинами). [5]
UbuntuLTSP , реализация проекта Linux Terminal Server Project для Ubuntu, использует Unionfs при PXE-загрузке тонких или толстых клиентов. [6]
Другие реализации [ править ]
Unionfs для Linux имеет две версии. Версия 1.x - это отдельная версия, которую можно собрать как модуль. Версия 2.x является более новой, переработанной и переработанной.
aufs - альтернативная версия unionfs. [7]
overlayfs, написанный Миклосом Середи, использовался в OpenWRT и рассматривался Ubuntu, и 26 октября 2014 года [8] после многих лет разработки и обсуждения [9] версии ядра был объединен с основным ядром Linux.
unionfs-fuse - это независимый проект, реализованный как программа файловой системы пользовательского пространства , а не как модуль ядра или патч. Как и Unionfs, он поддерживает ветви копирования при записи и только для чтения или чтения-записи. [10]
Plan 9 из операционной системы Bell Labs широко использует объединенные монтирования для создания пользовательских пространств имен для каждого пользователя или процессов.
Крепления Union также доступны в BSD по крайней мере с 1995 года. [11]
GNU Hurd имеет реализацию UnionFS. [12] По состоянию на январь 2008 г. он работает, но обеспечивает точку монтирования только для чтения.
mhddfs работает как Unionfs, но позволяет балансировать файлы на дисках с наибольшим доступным свободным пространством. Он реализован как файловая система пользовательского пространства.
mergerfs - это файловая система union на основе FUSE, которая предлагает несколько политик для доступа и записи файлов, а также другие расширенные функции (xattrs, управление смешанными дисками RO и RW, связывание CoW и т. д.). [13]
Sun Microsystems представила первую реализацию многослойной многоуровневой файловой системы с копированием при записи, белыми затенениями (скрытие файлов на нижних уровнях от более высоких уровней) и т. Д. Как Translucent File Service в SunOS 3 примерно в 1986 году [14].
JailbreakMe 3.0, инструмент для взлома устройств iOS, выпущенный в июле 2011 года, использует методы unionfs для ускорения процесса установки модификации операционной системы. [15]
См. Также [ править ]
- OverlayFS
- Aufs
Ссылки [ править ]
- ^ Райт, Чарльз П .; Задок, Эрез (декабрь 2004 г.). «Ядро Корнер: Unionfs: объединение файловых систем» . Linux Journal . 2004 (128): 8. ISSN 1075-3583 .
- ^ "Git-сервер файловых систем и лаборатории хранения" . Университет Стоуни-Брук . Архивировано из оригинального 17 июня 2016 года . Проверено 17 июля 2017 года .
Проект: unionfs-3.9.y.git;
Владелец: Эрез Задок
- ^ "Файловые системы и хранилище данных: Отдел CS" . Университет Стоуни-Брук .
Координатор лаборатории и главный исследователь: профессор Эрез Задок
- ^ Шульц, Вернер П. (15 декабря 2016 г.). «Установка на жесткий диск: UNIONFS» . Knoppix . Проверено 17 июля 2017 года .
- ^ «Обзор Docker: файловые системы Союза» . Docker, Inc. 13 июля 2017 . Проверено 17 июля 2017 года .
- ^ Георгопулоса, Alkis (24 декабря 2010). «UbuntuLTSP / LTSPWithoutNFS» . Проверено 17 июля 2017 года .
- ^ "Домашняя страница aufs" . 2 июля 2017 . Проверено 17 июля 2017 года .
- ↑ Торвальдс, Линус (26 октября 2014 г.). "слияние overlayfs + исправление утечки для выхода из строя d_splice_alias ()" . Проверено 17 июля 2017 года .
- ↑ Корбет, Джонатан (15 июня 2011 г.). "Обсуждение оверлейфов" . Проверено 17 июля 2017 года .
- ↑ Подгорный, Радек (21 ноября 2016 г.). «unionfs-fuse - реализация unionfs в пользовательском пространстве» . Проверено 17 июля 2017 года .
- ^ Пендри, Ян-Саймон; МакКусик, Маршалл Кирк (январь 1995 г.). «Union Mounts в 4.4BSD-Lite» . USENIX 1995. Труды технической конференции . Проверено 17 июля 2017 года .
- ↑ Швинге, Томас (26 февраля 2014 г.). "unionfs" . GNU Hurd . Проверено 17 июля 2017 года .
- ^ "trapexit / mergerfs" . GitHub . Проверено 21 октября 2018 года .
- ^ Вс / Выпуск 3.0 . т. 1. Interleaf Technical Publishing. 1988. С. 15‑1–18, 16‑1–19.
- ^ Имран, Awais (19 июня 2011). «Comex работает над ускорением процесса взлома JailbreakMe 3.0; скоро появится возможность взломать iPad 2!» . Редмонд Пирог . Проверено 17 июля 2017 года .
Внешние ссылки [ править ]
- Официальный веб-сайт
- Чарльз П. Райт, Джей Дэйв, Пуджа Гупта, Харикешаван Кришнан, Эрез Задок и Мохаммад Найер Зубайр (2004 г.). «Универсальность и семантика Unix в файловой системе разветвленной унификации» (PDF) . Технический отчет FSL-04-01b . Университет Стоуни-Брук .CS1 maint: использует параметр авторов ( ссылка )
- unionfs-fuse на GitHub - альтернативная реализация Unionfs на основе FUSE
- FunionFS - еще одна реализация Unionfs на основе FUSE
- Новая реализация unionfs для FreeBSD и статус объединения (2007-10-23)
- Об инкрементальной разработке файловой системы
- Unionfs на основе LUFS для Linux (на основе LUFS )
- Руководство по DENX U-Boot и Linux: файловые системы наложения