Как мне проще всего перенести все свои приложения и настройки с одной установки Ubuntu на другую? [дубликат]

Я новичок в Ubuntu и недавно начал использовать его на своем ПК. Я собираюсь заменить этот компьютер новым. Я хочу перенести свои данные и настройки на неттоп. Какие аспекты мне следует учитывать?

Очевидно, я хочу переместить свои данные. Что мне не хватает, если я копирую только всю домашнюю папку?

Это домашний компьютер (не корпоративный), поэтому права пользователей и другие проблемы безопасности не являются проблемой, за исключением того, что файлы должны быть доступны на новая машина!

Пожалуйста, примите во внимание, что новая машина представляет собой неттоп без оптического привода и не позволяет мне подключать к нему старый SATA-диск, поэтому любая передача данных должна осуществляться через домашнюю сеть (я могу включили и старую, и новую машину и подключили к домашней локальной сети), и у меня есть флэш-накопитель USB с ограниченной емкостью (2 ГБ).
Это звучит так, как будто это может ограничить общую применимость, но на самом деле это сделает его более общим.

61
задан 3 November 2014 в 19:19

7 ответов

Пользовательские настройки сохраняются в домашней папке по умолчанию. Итак, если вы скопируете свое / home / your-username на новый компьютер, все будет в порядке ...

... но есть предостережения:

  • Разрешения. Обычно «программы» (сценарии оболочки, специальные программы сборки) помещаются в домашнюю папку. Чтобы сохранить разрешения, используйте переключатель - preserve = mode (используя cp ) или -p (используя tar )
  • UserID / GroupID. Даже если имена пользователей в обеих системах равны, идентификатор пользователя не требуется. Обычно это не проблема, но если у вас есть сценарии / программы / настройки, передающие идентификатор пользователя, вы должны убедиться, что идентификатор пользователя и идентификатор группы должны совпадать в целевой системе.
    Вы можете узнать текущий идентификатор пользователя и группу, выполнив id . Например, чтобы изменить идентификатор пользователя «your-username», запустите sudo usermod --uid 1234 your-username . Чтобы изменить groupID, вы должны запустить sudo groupmod --gid 1234 your-username .

Настройки (профиль Firefox, внешний вид, ...) часто хранятся в скрытых папках (или файлах). Скрытые папки / файлы имеют префикс с точкой, например .mozilla для Firefox (и других приложений Mozilla).

Поскольку безопасность не является проблемой, и вы хотите, чтобы копирование выполнялось как можно быстрее возможно, я предлагаю комбинацию программ netcat и tar. Оба приложения установлены по умолчанию. Убедитесь, что брандмауэры на обоих компьютерах разрешают входящий доступ к порту назначения 8888 (исходный компьютер) и исходящий к порту назначения 8888 (целевой компьютер). Поместите неттоп рядом с компьютером, чтобы вы могли быстро выполнять команды.

На исходном компьютере должна быть установлена ​​традиционная программа netcat (известная как Swiss Army Knife, а не BSD). Для этого установите пакет netcat-Traditional . Вы также можете настроить традиционную программу netcat по умолчанию. Команды для установки netcat-Traditional и использования его по умолчанию:

sudo apt-get install netcat-traditional 
sudo update-alternatives --set nc /bin/nc.traditional

На исходном компьютере введите следующую команду в терминале (пока не нажимайте Enter):

 tar cz -C/home $(whoami) | nc -l -p 8888 -w 10

Объяснение:

  • tar - это утилита для упаковки файлов
  • cz c повторно создает такой упакованный файл («tarball»)
  • Архив сжимается с использованием алгоритма G Z ip для уменьшения размера файла.
  • - C / home $ (whoami) изменяет рабочий каталог на / home и помещает папку с вашим именем пользователя. В качестве альтернативы вы можете ввести папку ваше-имя пользователя в архиве.
  • nc (netcat) используется для простой настройки соединений между машинами
  • -l : режим прослушивания, позволяет другим машинам подключаться к текущей машине
  • -p 8888 : прослушивает порт 8888 (случайно выбранный номер, это также может быть любое другое число выше 1024)
  • -w 10 : выйти из netcat после 10 секунд тишины. Вы должны подключиться к этому исходному компьютеру в течение этого времени.

Теперь перейдите к целевому компьютеру (неттопу). Чтобы добавить файлы на целевой компьютер, введите (пока не запускайте его):

nc 192.168.1.2 8888|tar xzp -C/home
  • 192.168.1.2 - это IP-адрес исходного компьютера. Чтобы получить его IP-адрес, запустите: ifconfig на исходном компьютере
  • 8888 - это номер порта, введенный на исходном компьютере
  • xzp : e x извлекает архив G Z , сжатый ip, в то время как p резервирует разрешения.
  • -C / home : извлекает папку ваше-имя пользователя в / home / your-username
  • При желании добавьте переключатель -v в команду tar для подробного извлечения, чтобы вы могли получить представление о ходе выполнения. Это может замедлить процесс копирования, поскольку каждый файл должен быть напечатан.

Теперь перейдите на исходный компьютер, нажмите Enter, чтобы запустить команду сервера. Быстро переключитесь на свой неттоп и нажмите Enter, чтобы запустить клиентскую команду.

Если у вас есть какие-либо вопросы, просто используйте поле для комментариев ниже.

47
ответ дан 5 January 2021 в 23:59

Mackup может создавать резервные копии многих приложений в облаке или в системе контроля версий. Его легко расширить, например, вот как плагин ssh выглядит

0
ответ дан 5 January 2021 в 23:59

Ubuntu devs работают над ней, она называется OneConf.

12
ответ дан 5 January 2021 в 23:59

Взгляните на Stipple, мне кажется интересным:

"Сохраните список установленных приложений, .config-файлов и других настроек в couchDB. Синхронизировать эту БД с другими компьютерами с помощью Ubuntu One. Это приложение также поможет вам установить эти пакеты и .config файлы на другие компьютеры"

https://launchpad.net/stipple

2
ответ дан 5 January 2021 в 23:59

Большая часть всех настроек для приложений находится в вашей домашней папке, скрытой по умолчанию. Если Вы нажмете Ctrl+h в Nautilus, Вы увидите эти папки. Я нашел самый простой способ - это просто расинхронизировать папки, которые Вам нужны для конфигурирования. Что-то вроде этого:

rsync -avz me@remote:/home/me/.foo me@remote:/home/me/.var me@remote:/home/me/.ack me@remote:/home/me/.bar /home/me/

Вы также можете - просто rsync всей вашей домашней папки на новую машину - но это может вызвать проблемы в зависимости от ваших настроек.

13
ответ дан 5 January 2021 в 23:59

Для программных пакетов вы должны прочитать следующее: http://www.omgubuntu.co.uk/2010/05/transfer-your-packages-to-a-clean-install/

oldmachine$ sudo dpkg --get-selections > installedsoftware
newmachine$ sudo dpkg --set-selections < installedsoftware
newmachine$ sudo apt-get --show-upgraded dselect-upgrade

Для настроек и данных это немного сложнее :-( Большая часть настроек хранится в вашей домашней папке, так что создание резервной копии вашего HOME может помочь... Но тогда, конечно, это не распространяется на системные приложения, конфигурация которых хранится в /etc...

17
ответ дан 5 January 2021 в 23:59

Все ваши данные и настройки находятся у вас дома.

Если вы только скопируете их, вы потеряете:

  • Установленные программы. Но см. Ответ Sabacon на этот вопрос .
  • Общесистемные конфигурации на домашнем компьютере, это обычно просто дополнительные PPA.
  • Данные общесистемных программ (обычно демонов) (например, базы данных MySQL).

Мне кажется, что самый простой способ сделать сетевую копию - это:

  • Установите OpenSSH Server Download Gwibber на старый компьютер.
  • Убедитесь, что оба компьютера подключены к сети.
  • ] Откройте Nautilus (обозреватель файлов) на новом компьютере.
  • В меню «Вид» установите флажок «Показать скрытые файлы».
  • Нажмите CTRL + L, в адресной строке введите ssh: // ip- of-old-computer / home /
  • На старом компьютере вас должны попросить ввести имя пользователя и пароль.
  • Скопируйте все, что хотите, с помощью графического интерфейса.

enter image description here

6
ответ дан 5 January 2021 в 23:59

Другие вопросы по тегам:

Похожие вопросы: