Я долго думал о версии файловых систем. Это убийственная функция, и я смотрел на Wayback, ext3cow, zfs, fuse solutions или просто наложения cvs / svn / git.
Я считаю ext3cow моделью для моих требований. Прозрачный, эффективный, но я могу обойтись без дополнительной ls abc@timestamp
функции. Пока я каким-то образом получаю автоматическое, прозрачное управление версиями моих файлов.
Это может быть мгновенно или основано на моментальных снимках с интервалами в 10, 30, 1, 5, 15 м и т. Д. Просто то, что будет эффективно работать с тысячами файлов в данном каталоге всех размеров, в основном небольших, но некоторых свыше 100 м до 1 ГБ.
ZFS на самом деле не вариант, так как я нахожусь на Linux (и предпочел бы не использовать его через fuse, так как у меня уже есть настройка ext3, которую я хочу версии, а не что-то новое).
Какие есть решения?
источник
После 8 лет поиска я нашел SVNFS по Марко Р. Gazzetta (который отличается от старшего проекта с тем же именем Джон Мэдден [который один делает разные вещи]). Этот SVNFS использует svn прозрачно в ч / б операциях:
Он написан на Python и использует FUSE:
В примере SVNFS использует отдельный каталог для репо. Хотя я не проверял это. Для моих нужд я хотел бы иметь хранилище прямо в моем рабочем каталоге.
Я также нашел ссылку на возможности управления версиями Reiser4 4 года назад:
Но я тоже не проверял.
Два года назад я отправился на поиски, нашел проект FiST для создания наращиваемых файловых систем и связался с проф. Эрез Задок из Университета Стони Брук, который был советником / наставником проекта, давно назывался versionfs . Цитирование:
http://www.fsl.cs.sunysb.edu/docs/versionfs-fast04/
http://www.fsl.cs.sunysb.edu/docs/versionfs-msthesis/versionfs.pdf
Мне это показалось очень интересным, но общение с ребятами, работавшими над проектом, показало, что там нет места для его исходного кода. Сам профессор заявил по почте:
Так что здесь нет работающего проекта, хотя концепция стекируемых файловых систем мне кажется очень приятной. Кто-нибудь хотел бы начать проект на основе Wrapfs , сообщите мне, пожалуйста :)
источник
Вы можете проверить GITFS . Это файловая система FUSE, основанная на git, довольно стабильная и очень простая в использовании.
По сути, это наложение поверх мерзавца. Всякий раз, когда вы обновляете файл или каталог, он создает коммит с этим изменением (знает, как пакетировать коммиты, чтобы у вас не было 100 коммитов при распаковке архива). Также знает, как синхронизировать ваш пульт и объединить конфликты, используя стратегию «всегда принимай мой»
Когда вы монтируете его, он приносит вам две директории: текущую и историю .
├── current │ ├── test1.md │ ├── test2.md │ ├── test3.md -> current/test2.md │ ├── test4.md │ └── test_directory └── history ├── 2014-11-23 │ ├── 20-00-21-d71d1579a7 │ │ └── testing.md │ └── 20-42-32-7d09611d83 │ ├── test2.md │ └── testing.md ├── 2014-12-08 │ ├── 16-38-30-6d6e71fe47 │ │ ├── test2.md │ │ └── test1.md
Более подробную информацию можно найти на этой странице .
источник
БАП выглядит многообещающе.
Старшее обсуждение этого здесь: http://lwn.net/Articles/380983/
источник
Попробуйте rsnapshot - я сам не использовал его, но наткнулся на него, просматривая системы дедупликации на уровне файлов.
источник
Взгляните на Hot Copy от R1Soft.
http://www.r1soft.com/tools/linux-hot-copy/
Это модуль ядра, который предоставляет снимки копирования при записи для стандартных систем без использования LVM. Это работает довольно хорошо для меня, и я могу установить его без перезагрузки.
Также см .: http://www.r1soft.com/tools/linux-hot-copy/hcp-tips/
источник