1

У меня большой репозиторий исходного кода на монтировании Linux NFS, и я хотел бы создать теневую копию этого репозитория так, чтобы в моем теневом репозитории изменялись только файлы, которые я пишу в этом теневом репозитории. Все остальные файлы остаются символическими или жесткими ссылками на главный, оригинальный репозиторий.

Можно ли это сделать с помощью жестких ссылок в NFS?

Я могу представить сценарий, в котором, как и в системе управления версиями, я извлекаю файлы, которые я хочу изменить, из оригинала, в результате чего сценарий разрывает связь между главным и теневым хранилищами, создавая копию главного хранилища. файл, который я могу затем изменить. Тем не менее, я уверен, что кто-то еще создал утилиту для этого, и я просто не знаю, какие непонятные заклинания Linux необходимы для наложения моего решения.

2 ответа2

3

Оконная система X11 включала в себя набор утилит, включая lndir (http://linux.die.net/man/1/lndir), который создавал теневую директорию. Создана копия исходного каталога, такая что:

  1. каждый каталог в копии был настоящим каталогом
  2. каждый обычный файл в копии был символической ссылкой на оригинал

Если вы хотите изменить файл, вы должны:

  1. удалить его символическую ссылку в копии
  2. скопировать исходный файл в копию дерева каталогов
  3. и изменить его

может быть, больше ручной, чем вы хотите, но может быть проще, чем настройка новой файловой системы. В Ubuntu 12.04 это часть пакета xutils-dev.

2

Установка на основе UnionFS может работать для вас. UnionFS позволяет объединять NFS только для чтения с записываемой, динамически растущей файловой системой с питанием от петлевого устройства.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .