8

Я уже давно пользуюсь VirtualBox на своем рабочем столе. Недавно купив ноутбук, я хочу иметь возможность взять с собой мою виртуальную машину Ubuntu, и чтобы изменения, которые я делаю на ноутбуке, распространялись на рабочий стол, и наоборот, когда я приезжаю / ухожу из дома. Операционная система хоста - Windows 7 на обоих компьютерах, на которых работает VirtualBox 4.

Моей первой мыслью была синхронизация самих файлов виртуального диска. Моим предпочтительным инструментом будет rsync , точнее его версия Cygwin, использующая опцию --inplace для максимального уменьшения количества записей . Но это было бы невыполнимо: это помешало бы мне когда-либо работать отдельно на виртуальных машинах, потому что rsync сможет обнаружить конфликты и правильно объединить их без знания файловых систем, которые находятся внутри контейнеров.

Следующим вариантом будет rsync работающих машин друг к другу. Будет ли это работать, не портя управление пакетами? Нужно ли что-то делать вручную, кроме обновлений, таких как новое ядро или драйверы? Есть ли другое решение, которое могло бы работать лучше?

2 ответа2

2

Использование rsync для двунаправленных операций затруднено; Я бы посоветовал вам взглянуть на unison в качестве альтернативы. Он будет работать в обоих направлениях и сообщать вам, что он собирается делать перед этим, а также обнаруживать файлы, с которыми манипулируют одновременно с обеих сторон.

Запуск синхронизации вне виртуальной машины будет иметь проблемы, которые вы описываете. Результаты при запуске внутри ВМ будут сильно зависеть от того, что вы синхронизируете.

  • Синхронизация вашей домашней директории не должна быть проблемой, и должна синхронизировать большую часть вашей повседневной работы, я полагаю.
  • Синхронизация данных менеджера пакетов будет иметь смысл только в том случае, если вы выполните полную синхронизацию почти всего, возможно, с несколькими хорошо продуманными исключениями. При двунаправленной синхронизации это почти всегда приводит к конфликту, поэтому я бы посоветовал это только для подхода в стиле rsync.
  • Синхронизация /etc так же как и ваш дом, должна синхронизировать большую часть данных конфигурации и все же иметь небольшое влияние на то, что делает менеджер пакетов. Но если вы устанавливаете какое-либо программное обеспечение на одну виртуальную машину, вам придется вручную установить его и на другую виртуальную машину, и, вероятно, следует выполнять синхронизацию только после этого, если обновление изменило какой-либо файл конфигурации.
1

Не пытайтесь "синхронизировать" виртуальную машину вообще.

Подумайте об этом: вы не "синхронизируете" свой рабочий стол и ноутбук таким образом. Вы относитесь к ним как к отдельным компьютерам и используете такие сервисы, как Dropbox, Google Apps и т.д., Или даже USB-флешку для работы с вашими файлами. Аналогично, рассматривайте две виртуальные машины Ubuntu как отдельные компьютеры и используйте службы, такие как Ubuntu One и выше, для синхронизации важных файлов.

Если вы заинтересованы в синхронизации установленного программного обеспечения, вы можете использовать

dpkg --list-selections

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

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