Jump to content

Управление версиями файловой системы

Файловая система управления версиями — это любая компьютерная файловая система , которая позволяет компьютерному файлу существовать в нескольких версиях одновременно. Таким образом, это форма контроля версий . Большинство распространенных файловых систем управления версиями хранят несколько старых копий файла. Некоторые ограничивают количество изменений в минуту или час, чтобы избежать хранения большого количества тривиальных изменений. Другие вместо этого делают периодические снимки, к содержимому которых можно получить доступ с помощью методов, аналогичных методам обычного доступа к файлам.

Похожие технологии

[ редактировать ]

Резервное копирование

[ редактировать ]

Файловая система управления версиями аналогична периодическому резервному копированию , но имеет несколько ключевых отличий.

  • Резервное копирование обычно запускается по времени, а управление версиями происходит при изменении файла.
  • Резервные копии обычно создаются на уровне всей системы или всего раздела, а управление версиями происходит независимо для каждого файла.
  • Резервные копии обычно записываются на отдельные носители, тогда как файловые системы управления версиями записываются на один и тот же жесткий диск (и обычно в одну и ту же папку, каталог или локальный раздел).

По сравнению с системами контроля версий

[ редактировать ]

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

Журналируемая файловая система

[ редактировать ]

Файловые системы с управлением версиями не следует путать с файловыми системами с журналированием . В то время как файловые системы с журналированием работают путем ведения журнала изменений, внесенных в файл, прежде чем фиксировать эти изменения в этой файловой системе (и перезаписывать предыдущую версию), файловая система с управлением версиями сохраняет предыдущие копии файла при сохранении новых изменений. Эти две функции служат разным целям и не являются взаимоисключающими.

Хранилище объектов

[ редактировать ]

Некоторые реализации объектного хранилища предлагают управление версиями объектов, например Amazon S3 .

Реализации

[ редактировать ]

MIT Ранняя реализация управления версиями, возможно, первая, была в ITS . В ITS имя файла состояло из двух частей по шесть символов; если вторая часть была числовой (состояла только из цифр), она рассматривалась как номер версии. При указании файла, открываемого для чтения или записи, можно указать вторую часть «>»; при чтении это означало открытие версии файла с наибольшим номером; при записи это означало увеличение максимального существующего номера версии и создание новой версии для записи.

Еще одна ранняя реализация версионирования была в АО «Техснабэкспорт» , которая стала TOPS-20 . [ 1 ]

Файлы-11 (RSX-11 и OpenVMS)

[ редактировать ]

Мощный пример системы управления версиями файлов встроен в операционную систему RSX-11 и OpenVMS от Digital Equipment Corporation . По сути, всякий раз, когда приложение открывает файл для записи, файловая система автоматически создает новый экземпляр файла, к имени которого добавляется номер версии. Номера версий начинаются с 1 и увеличиваются по мере создания новых экземпляров файла. Когда приложение открывает файл для чтения, оно может либо указать точное имя файла, включая номер версии, либо просто имя файла без номера версии, и в этом случае открывается самый последний экземпляр файла. Команду «purge» DCL/CCL можно использовать в любое время для управления количеством версий в определенном каталоге. По умолчанию все версии всех файлов в текущем каталоге, кроме самых высоких, будут удалены; это поведение можно переопределить с помощью переключателя /keep=n и/или путем указания путей к каталогу и/или шаблонов имен файлов. В системах VMS часто используются сценарии для регулярной очистки пользовательских каталогов; конечные пользователи иногда ошибочно воспринимают это как свойство системы управления версиями.

  • NILFS — файловая система с журнальной структурой, поддерживающая управление версиями всей файловой системы и непрерывное создание снимков. В этом списке это единственный стабильный вариант, включенный в основную ветку ядра.
  • Tux3 – Последнее изменение произошло в 2014 году. [ 2 ]
  • Next3 – Последнее обновление было в 2012 году.
  • ext3cow – Последний выпуск выпущен в 2005 году.

8 февраля 2004 года Киран-Кумар Мунисвами-Редди, Чарльз П. Райт, Эндрю Химмер и Эрез Задок (все из Университета Стоуни-Брук ) предложили стекируемую файловую систему Versionfs, обеспечивающую уровень управления версиями поверх любых других файловых систем Linux. . [ 3 ]

Файловая система Lisp Machine поддерживает управление версиями. Это обеспечили реализации от MIT, LMI, Symbolics и Texas Instruments. Такой операционной системой стала символика Genera .

Начиная с Lion (10.7), в macOS есть функция « Версии» , которая позволяет , как в Time Machine, сохранять и просматривать предыдущие версии документов для приложений, написанных для использования версий. Однако эта функциональность реализуется на уровне приложения, а не на уровне файловой системы; [ 4 ] Lion и более поздние версии не включают настоящую файловую систему управления версиями.

ШОС OpenServer

[ редактировать ]

HTFS , принятая в качестве основной файловой системы для SCO OpenServer в 1995 году, поддерживает управление версиями файлов. Управление версиями включается для каждого каталога путем установки бита setuid каталога, который наследуется при создании подкаталогов. Если управление версиями включено, новая версия файла создается при удалении файла или каталога или при открытии существующего файла с усечением. Нетекущие версии остаются в пространстве имен файловой системы под именем исходного файла, но с присоединенным суффиксом, состоящим из точки с запятой и порядкового номера версии. Все версии, кроме текущей, скрыты от чтения каталогов (если не установлена ​​переменная среды SHOWVERSIONS), но в остальном версии доступны для всех обычных операций. Переменная среды и общая доступность позволяют управлять версиями с помощью обычных утилит файловой системы, хотя существует также команда «восстановления», которую можно использовать для очистки и восстановления файлов, включения и отключения управления версиями в каталогах и т. д.

  • В Subversion есть функция, называемая «автоверсированием», при которой источник WebDAV с серверной частью Subversion может быть смонтирован как файловая система в системах, поддерживающих этот тип монтирования (Linux, Windows и другие), и при сохранении в этой файловой системе создаются новые версии на система контроля версий. [ 5 ]
  • Коммерческое программное обеспечение для управления конфигурацией и контроля версий Clearcase также поддерживает «MVFS» (многоверсионную файловую систему) в HP-UX, AIX и Windows с начала 1990-х годов.
[ редактировать ]

Следующие ниже файловые системы не поддерживают управление версиями, но предоставляют аналогичные функции.

  • АПФС [ 6 ] и ZFS поддерживают мгновенные снимки и клоны.
  • Btrfs поддерживает снимки. [ 7 ]
  • HAMMER в DragonFlyBSD имеет возможность сохранять версии в файловой системе.
  • NILFS , который поддерживает создание снимков .
  • Plan 9 в Файловая система Fossil может предоставлять аналогичную функцию, делая периодические снимки (часто ежечасно) и делая их доступными в /н/привязка . Fossil может навсегда заархивировать снимок в Venti (обычно один снимок в день) и сделать его доступным в /н/дамп . Если в течение интервала между снимками в файл было внесено несколько изменений, в следующем снимке будут записаны только самые последние.
  • файлов Write Anywhere. Компоновка Решения NetApp для хранения данных реализуют файловую систему под названием WAFL, которая использует технологию моментальных снимков для хранения различных версий всех файлов в томе.
  • pdumpfs, автором которого является Сатору Такабаяши, представляет собой простую систему ежедневного резервного копирования, аналогичную /n/dump из Plan 9, реализованную на Ruby . Он функционирует как инструмент создания снимков, который позволяет скопировать весь каталог в другое место с помощью жестких ссылок. При регулярном использовании это может дать эффект, аналогичный управлению версиями. [ 8 ]
  • Microsoft Windows
    • Теневое копирование — это функция, представленная Microsoft в Windows Server 2003. Теневое копирование позволяет вручную или автоматически создавать резервные копии или снимки файла или папки на определенном томе в определенный момент времени.
    • RollBack Rx — позволяет делать снимки разделов диска. Каждый снимок содержит только различия между предыдущими снимками, и его создание занимает всего несколько секунд. Может надежно использоваться для поддержания стабильности ОС Windows и/или защиты от вредоносных программ.
    • GoBack (снято с производства) — программное обеспечение GoBack для Windows от Symantec позволяет возвращать файлы, каталоги или диски к предыдущим состояниям. Он может записывать максимум 8 ГБ изменений и временно прекращает запись каждого изменения в случае высокой активности ввода-вывода .
    • Versomatic — программное обеспечение Versomatic от Acertant автоматически отслеживает изменения файлов и упреждающе архивирует копию файла перед его изменением.
  • Cascade File System предоставляет доступ к репозиторию Subversion или Perforce через драйвер файловой системы. Пользователь по-прежнему должен явно решить, когда фиксировать изменения.
  • Документы по реализации git называют git «файловой системой с адресацией по содержимому и пользовательским интерфейсом VCS, написанным поверх нее». [ 9 ] Существует также сторонняя реализация FUSE, которая может расширить git как монтируемую файловую систему с управлением версиями для чтения и записи. [ 10 ]

См. также

[ редактировать ]
  1. ^ Дэниел Г. Боброу, Джерри Д. Берчфилд, Дэниел Л. Мерфи, Рэймонд С. Томлинсон, TENEX, Система страничного разделения времени для PDP-10 ( Communications of the ACM , Том 15, стр. 135-143, март) 1972)
  2. ^ linux-tux3 на GitHub .
  3. ^ Киран-Кумар Мунисвами-Редди; Чарльз П. Райт; Эндрю Химмер; Эрез Садок (8 февраля 2004 г.). Универсальная и ориентированная на пользователя файловая система с поддержкой версий . Третья конференция USENIX по файловым технологиям и технологиям хранения (FAST 2004).
  4. ^ «Версии файлов Mac OS X Lion, часть 2» . 6 августа 2011 года . Проверено 28 апреля 2012 г.
  5. ^ Контроль версий с помощью Subversion: контроль версий с открытым исходным кодом следующего поколения
  6. ^ «О файловой системе Apple» . Документация разработчика Apple . Проверено 9 июня 2021 г.
  7. ^ http://www.oracle.com/technetwork/articles/servers-storage-admin/advanced-btrfs-1734952.html «Снимки, клоны и начальные устройства» подпункт «моментальные снимки».
  8. ^ Домашняя страница pDumpFS
  9. ^ «Внутренности Git» . По сути, Git — это файловая система с адресацией по содержимому, на основе которой написан пользовательский интерфейс VCS.
  10. ^ «Что такое Gitfs» . Пресслабы . 24 июля 2015 года . Проверено 7 марта 2022 г.
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 75f73b6b9e1114694f3b3458449c4cd5__1722200760
URL1:https://arc.ask3.ru/arc/aa/75/d5/75f73b6b9e1114694f3b3458449c4cd5.html
Заголовок, (Title) документа по адресу, URL1:
Versioning file system - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)