Я должен перенести виртуальную машину Linux Ubuntu на другую виртуальную машину Linux Ubuntu. Из соображений безопасности я могу только передавать файлы и переустанавливать их на новую виртуальную машину. (Я не могу скопировать диск ВМ на другую ВМ .....).

Я намерен: GZIP папку /home / в файл. Скопируйте и вставьте файлы в новую виртуальную машину.

Будет ли это работать на программах, которые я установил с помощью apt-get? С какой проблемой мне придется столкнуться?

РЕДАКТИРОВАТЬ: Это для сервера с различными видами установки: CUDA, веб-сервер, JVM и Python, а также DOS2UNIX, ....

1 ответ1

1

Название вводит в заблуждение, вы не переносите виртуальные машины, а просто пытаетесь восстановить несколько эквивалентный компьютер (который даже не должен быть виртуальной машиной).

Трудно ответить на этот вопрос, не зная, как вы используете виртуальную машину. Это веб-сервер? Или вы просто машина конечного пользователя? Для серверов многое хранится в /var. Файлы программы находятся в /usr, но сохранить и восстановить их правильно сложно, поскольку в них содержится множество ссылок, и вам придется восстановить соответствующую информацию об установленном программном обеспечении для установщика пакета.

Для базового компьютера конечного пользователя вы бы:

  1. создайте список пакетов, которые вы установили явно:

    comm -23 <(apt-mark showmanual | sort -u) <(gzip -dc /var/log/installer/initial-status.gz | sed -n 's/^Package: //p' | sort -u)
    

(в нем перечислены только пакеты верхнего уровня, а не их зависимости)

  1. выйти из системы вашего пользователя (или, по крайней мере, выйти из графического рабочего стола)
  2. copy /home /{пользователь}
  3. вы можете захотеть сохранить копию /etc для справки (но не восстанавливайте ее вслепую на новой машине)

И другая машина:

  1. создать адекватного пользователя (более важно, чтобы у него был такой же UID, как и у того же имени)(это обычно делается во время установки,)
  2. переустановите отсутствующие пакеты
  3. восстановить /home /{пользователь} (из командной строки)

Тогда тебе должно быть хорошо идти.

Если это серверная часть /var также будет полезна, но какие из них зависят от используемого программного обеспечения (а некоторые лучше не передавать в виде файлов (например, данные MySQL).

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