По некоторым причинам место, где я работаю, застряло с Ubuntu 12.04 . Поскольку мне нужно много нового программного обеспечения, я хотел использовать виртуальную машину с Ubuntu 14.04 . Я успешно все настраивал с помощью virtual box 4.3 (Oracle Edition).

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

На данный момент каталог смонтирован на гостевой с помощью AutoFS. У пользователя в гостевой системе и на хосте одинаковые логин, uid и основной gid.

Кажется, это работает, когда я использую ssh для входа от гостя к гостю, но это не работает с графическим входом в систему: пользователь сразу отключается. Я думаю, это потому, что графический вход на хост создает некоторые файлы; Графический вход в систему пытается создать эти файлы на гостевой, а затем не удается.

Любая идея?

3 ответа3

1

После предложений @Dan Cornilescu (и комментариев) я решил эту проблему следующим образом:

  1. Создал виртуальный общий ресурс для домашнего каталога хоста, скажем host_home
  2. Необязательно (но очень важно в моем случае) позволил гостю создавать символические ссылки на общие папки (см. Здесь, например)
  3. Смонтируйте этот общий ресурс в гостевой системе во время загрузки с гостевым пользовательским uid и gid в say /mnt/host_home (см., Например, здесь принятый ответ )
  4. В гостевом доме папки с символическими ссылками, которыми я хочу поделиться (работает для Desktop , Downloads и т.д.)

На данный момент все работает как положено. Может быть падение производительности при чтении или записи файлов, но это нормально.

0

В целом, я считаю, что не очень хорошая идея делить ваш homedir между компьютерами с разными (версиями) X-сервера, оконного менеджера и / или X-приложений, потому что некоторые из них часто используют одни и те же файлы конфигурации домашнего каталога, и разные версии могут наступить друг с другом. Особенно, если разные версии программного обеспечения используются одновременно.

Часто после того, как более новая версия некоторого программного обеспечения обновляет файлы, старые версии больше не могут использовать эти файлы.

Это может происходить и в другом направлении, как правило, когда вы пытаетесь повторно использовать домашний каталог как есть из более старой ОС на более новой ОС (в то время как пользователь с недавно созданным homedir на более новой ОС работает нормально) - ваша неспособность для входа в GUI может быть такой случай.

Возможный подход к сохранению homedir виртуальной машины на хосте HD не конфликтующим образом (я использую что-то вроде этого при обновлении моей ОС):

  • экспортируйте homedir хоста через NFS и смонтируйте его на виртуальной машине , скажем, в /mnt/host_userid.
  • создайте, скажем, каталог vm_homedir внутри него, который вы будете использовать в качестве homedir на виртуальной машине, связав его с каталогом /home виртуальной машины:

    /home/userid -> /mnt/host_userid /vm_homedir

  • каталоги / файлы символьных ссылок, отличные от файлов приложений / файлов конфигурации, для удобного доступа к ним с обеих машин в одном месте, например:

/mnt/host_userid/vm_homedir/documents -> ../documents

Таким образом, вы сохраняете все на хосте HD (доступно, даже если виртуальная машина не работает), но каждая машина работает со своей копией файлов конфигурации.

0

Я согласен с @Dan Cornilescu. Это не очень хорошая идея, особенно с учетом того, насколько темпераментным может быть Linux, когда файлы / папки управляются привилегиями Sudo, или их отсутствием.

Хотя я уверен, что то, что вы предлагаете (несмотря на то, что вы никогда не задавали вопрос), возможно, я не думаю, что это лучшее решение начальной проблемы, о которой вы говорили. «Одна из причин заключается в том, что я не хочу потерять все, если виртуальный ящик выходит из строя ...»

Я полностью понимаю эту проблему. С одной стороны, у вас есть замечательный (бесплатный) сервис, предоставляемый oracle, но вы не хотите полностью полагаться на то, что не является «нормой». Однако существует несколько способов противодействия этой проблеме, которые обеспечивают лучшее спокойствие, чем «наличие всех файлов на реальном HD». Вот пара функций, встроенных в VirtualBox, которые я использую выше всех остальных.

~ " Снимки." Они так и делают. Создайте снимок виртуальной машины до / после установки любого типа или запланируйте моментальный снимок с помощью CronTab. Таким образом, у вас всегда есть быстрый и простой способ загрузки / загрузки предыдущей версии перед сбоем.

~ Простой экспорт / импорт виртуальной машины (или .VHD) по мере необходимости. Я предпочитаю этот метод, потому что он более статичен (для моих нужд), чем снимки. Экспорт VHD / VM в качестве резервной копии - это, по сути, портативный компьютер и / или интерактивная резервная копия. Вместо стандартного (бездействующего) изображения, созданного проприетарным способом.

~ Создайте свой собственный или используйте Vagrant Box. Больше информации здесь и здесь. Вы можете найти .box который соответствует вашим потребностям, и использовать его в качестве резервной копии или, что еще лучше, использовать базовый .box в сочетании с пользовательским .SH (BASH) скрипт. Обновляйте этот скрипт при установке прог и изменяйте настройки, чтобы в случае сбоя вы просто запускали простой скрипт и виол! Вы готовы идти, прямо из ворот новой установки.

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