ЮнионФС
Разработчик(и) | Сообщество открытого исходного кода |
---|---|
Полное имя | Унификация файловой системы |
Функции | |
Файловая система разрешения | ПОСИКС |
Прозрачный сжатие | Нет |
Прозрачный шифрование | Нет (но может быть предоставлено на уровне блочного устройства) |
Другой | |
Поддерживается операционные системы | Linux , FreeBSD и NetBSD |
Unionfs — это служба файловой системы для Linux , FreeBSD и NetBSD , которая реализует объединенное монтирование для других файловых систем . Он позволяет прозрачно накладывать файлы и каталоги отдельных файловых систем, известных как ветки, образуя единую согласованную файловую систему. Содержимое каталогов, имеющих одинаковый путь в объединенных ветвях, будет отображаться вместе в одном объединенном каталоге в новой виртуальной файловой системе.
При монтировании веток указывается приоритет одной ветки над другой. Таким образом, когда обе ветки содержат файл с одинаковым именем, одна из них имеет приоритет над другой.
Различные ветки могут быть файловыми системами либо только для чтения , либо для чтения/записи , так что записи в виртуальную объединенную копию направляются в конкретную реальную файловую систему. Это позволяет файловой системе выглядеть доступной для записи, но фактически не разрешает запись для изменения файловой системы, также известную как копирование при записи . Это может быть желательно, когда носитель физически доступен только для чтения, например, в случае Live CD .
Unionfs изначально был разработан Эрезом Садоком и его командой в Университете Стоуни-Брук . [ 1 ] [ 2 ] [ 3 ]
Использование
[ редактировать ]В Knoppix — объединение файловой системы на компакт-диске или DVD-диске и файловой системы, содержащейся в файле образа с именем knoppix.img (knoppix-data.img для Knoppix 7) на записываемом диске (например, на USB-накопителе). ) можно сделать, когда записываемый диск имеет приоритет над файловой системой, доступной только для чтения. Это позволяет пользователю изменять любые файлы в системе, при этом новый файл сохраняется в образе и прозрачно используется вместо файла на компакт-диске. [ 4 ]
Unionfs также можно использовать для создания единого общего шаблона для нескольких файловых систем или по соображениям безопасности. Иногда его используют как специальную систему моментальных снимков .
Docker использует файловые системы, вдохновленные Unionfs, такие как Aufs , для многоуровневого изображения Docker. По мере выполнения действий с базовым изображением создаются и документируются слои, так что каждый слой полностью описывает, как воссоздать действие. Эта стратегия позволяет использовать облегченные образы Docker, поскольку необходимо распространять только обновления слоев (по сравнению, например, с полными виртуальными машинами). [ 5 ]
UbuntuLTSP , реализация проекта терминального сервера Linux для Ubuntu, использует Unionfs при загрузке PXE тонких или толстых клиентов. [ 6 ]
Другие реализации
[ редактировать ]Unionfs для Linux имеет две версии. Версия 1.x является автономной и может быть построена как модуль. Версия 2.x является более новой, переработанной и переработанной.
aufs — альтернативная версия Unionfs. [ 7 ]
overlayfs, написанный Миклошем Шереди, использовался в OpenWRT, учитывался Ubuntu и был объединен с основным ядром Linux 26 октября 2014 г. [ 8 ] после многих лет разработки и обсуждения [ 9 ] для версии ядра 3.18.
Unionfs-fuse — это независимый проект, реализованный как программа файловой системы пользовательского пространства , а не модуль ядра или патч. Как и Unionfs, он поддерживает ветки копирования при записи и только для чтения или для чтения и записи. [ 10 ]
Операционная система Plan 9 от Bell Labs широко использует объединение монтирований для создания пользовательских пространств имен для каждого пользователя или процесса.
Крепления Union также доступны в BSD как минимум с 1995 года. [ 11 ]
В GNU Hurd есть реализация Unionfs. [ 12 ] По состоянию на январь 2008 года это работает, но в результате точка монтирования доступна только для чтения.
mhddfs работает как Unionfs, но позволяет распределять файлы по дискам с наибольшим количеством свободного места. Он реализован как файловая система пользовательского пространства.
mergerfs — это объединенная файловая система на основе FUSE, которая предлагает несколько политик доступа и записи файлов, а также другие расширенные функции (xattrs, управление смешанными дисками RO и RW, связывание CoW и т. д.). [ 13 ]
Компания Sun Microsystems представила первую реализацию многоуровневой файловой системы с копированием при записи, белыми полосами (скрытием файлов на нижних уровнях от верхних слоев) и т. д. как Translucent File Service в SunOS 3 примерно в 1986 году. [ 14 ]
JailbreakMe 3.0, инструмент для взлома iOS-устройств, выпущенный в июле 2011 года, использует методы Unionfs для ускорения процесса установки модификации операционной системы. [ 15 ]
См. также
[ редактировать ]Ссылки
[ редактировать ]- ^ Райт, Чарльз П.; Садок, Эрез (декабрь 2004 г.). «Kernel Korner: Unionfs: объединение файловых систем» . Linux-журнал . 2004 (128): 8. ISSN 1075-3583 .
- ^ «Git-сервер Лаборатории файловых систем и хранилищ» . Университет Стоуни-Брук . Архивировано из оригинала 17 июня 2016 года . Проверено 17 июля 2017 г.
Проект: Unionfs-3.9.y.git; Владелец: Эрез Садок
- ^ «Лаборатория файловых систем и хранилищ: кафедра КС» . Университет Стоуни-Брук .
Координатор лаборатории и главный исследователь: профессор Эрез Садок
- ^ Шульц, Вернер П. (15 декабря 2016 г.). «Установка жесткого диска: UNIONFS» . Кноппикс . Проверено 17 июля 2017 г.
- ^ «Обзор Docker: файловые системы Union» . Docker, Inc., 13 июля 2017 г. Проверено 17 июля 2017 г.
- ^ Георгопулос, Алкис (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 г.). "профсоюз" . ГНУ Херд . Проверено 17 июля 2017 г.
- ^ "trapexit/mergerfs" . Гитхаб . Проверено 21 октября 2018 г.
- ^ Вс/Выпуск 3.0 . Том. 1. Техническое издательство «Интерлиф». 1988. стр. 15–1–18, 16–1–19.
- ^ Имран, Авайс (19 июня 2011 г.). «Comex работает над более быстрым процессом взлома JailbreakMe 3.0; скоро выйдет джейлбрейк iPad 2!» . Редмондский пирог . Проверено 17 июля 2017 г.
Внешние ссылки
[ редактировать ]- Официальный сайт
- Чарльз П. Райт; Джей Дэйв; Пуджа Гупта; Харикесаван Кришнан; Эрез Садок; Мохаммад Найер Зубайр (2004). «Универсальность и семантика Unix в файловой системе с разветвленной унификацией» (PDF) . Технический отчет FSL-04-01b . Университет Стоуни-Брук .
- Unionfs-fuse на GitHub — FUSE . альтернативная реализация Unionfs на основе
- FunionFS — еще одна реализация Unionfs на основе FUSE.
- Новая реализация Unionfs для FreeBSD и статус слияния (23 октября 2007 г.)
- Об инкрементной разработке файловой системы
- Unionfs на основе LUFS для Linux. Архивировано 28 августа 2006 г. на Wayback Machine (на основе LUFS ).
- Руководство по DENX U-Boot и Linux: наложение файловых систем