Как перенести пользовательские настройки и данные на новый компьютер?

47

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

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

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

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

    
задан Torben Gundtofte-Bruun 10.02.2011 в 14:07
источник

9 ответов

36

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

... но есть оговорки:

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

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

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

На исходном компьютере вам необходимо установить традиционную программу netcat (a.k.a. Швейцарский армейский нож, а не BSD). Для этого установите пакет netcat-traditional . Вы также можете настроить традиционную программу netcat по умолчанию. Команды для установки netcat-традиционного и использовать его по умолчанию:

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")
  • tarball сжимается с использованием алгоритма G Z ip, чтобы уменьшить размер файла.
  • -C/home $(whoami) изменяет рабочий каталог на /home и помещает вашу папку с именем пользователя. Альтернативный вариант, вы можете ввести папку your-username в tarball
  • nc (netcat) используется для настройки соединений между машинами.
  • -l : режим прослушивания, позволяет другим машинам подключаться к текущему компьютеру.
  • -p 8888 : прослушивает порт 8888 (случайно выбранный номер может быть любым другим числом, превышающим 1024)
  • -w 10 : quit netcat после 10 секунд молчания. Вы должны подключиться к этому исходному компьютеру в течение этого времени.

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

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

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

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

    
ответ дан Lekensteyn 10.02.2011 в 15:37
источник
16

Для пакетов программного обеспечения вы должны прочитать следующее: Ссылка

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

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

ответ дан Little Jawa 29.07.2010 в 16:40
12

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

rsync -avz [email protected]:/home/me/.foo [email protected]:/home/me/.var [email protected]:/home/me/.ack [email protected]:/home/me/.bar /home/me/

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

    
ответ дан Marco Ceppi 29.07.2010 в 16:42
12

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

    
ответ дан akshatj 03.08.2010 в 14:54
7

Если у вас есть установка, которая вам нравится на одной машине, вы можете просто ее клонировать. Не имеет значения, имеют ли машины разные аппаратные средства, если они работают с одной и той же архитектурой (32-разрядная или 64-разрядная, то есть i386 или amd64 или ...).

Вот как это сделать. Это немного длинный, но довольно низкотехнологичный. Возможны многие варианты.

  1. Вставьте диск новой машины в существующую машину (или наоборот).
  2. Загрузка из существующей установки.
  3. Установите новый диск :
    • Если диски имеют одинаковый размер: запустите инструмент раздела (System / Administration / GParted, package gparted ) и скопируйте весь старый диск на новый диск.
      • Вы должны предоставить копии новых уникальных идентификаторов файловых систем, чтобы избежать путаницы, если вы когда-либо монтируете диск одной машины на другой машине позже. Для файловой системы ext2 / ext3 / ext4 используйте команду sudo tune2fs -U $(uuidgen) /dev/sdz1 , где sdz - новый диск, а 1 - номер раздела.
      • Если вы назначили имена вашим томам, вы можете назначить разные имена.
    • В противном случае настройте разделы на новом диске с помощью GParted или System / Administration / Disk Utility и отформатируйте их. Если на обоих дисках есть одинаковые размеры, вы можете скопировать их в GParted.
  4. Установите корневой раздел новой установки, который теперь должен появиться в «Местах».
  5. (Пропустите этот шаг, если вы скопировали весь диск.) Скопируйте данные из корневого раздела старой установки в новый. Обратите внимание, что на этом этапе очень важно сохранить разрешения и права собственности на файлы, а это значит, что вы должны сделать это как суперпользователь (root). Я не знаю, что делает Ubuntu GUI. В командной строке запустите sudo cp -ax / /media/disk9 (замените /media/disk9 на место, где установлен новый корневой раздел).
  6. Повторите предыдущие два шага для любого другого раздела , который у вас может быть (например, отдельный домашний раздел), если только вы не скопировали этот раздел (или диск) в целом на шаге 3.
  7. Измените новую установку (при условии, что она установлена ​​на /media/disk9; adjust as needed ):
    • Отредактируйте /media/disk9/etc/hostname , чтобы задать имя новой машины. Проверьте файлы в /media/disk9/etc/ для других вхождений имени хоста - он может появиться в /media/disk9/etc/hosts , /media/disk9/etc/mailname и т. Д.
    • Если вы используете ssh server , удалите /media/disk9/etc/ssh/ssh_host_*_key* . Сервер будет генерировать новые ключи при загрузке новой установки.
    • Если вы настроили сеть, отредактировав /etc/network/interfaces , отредактируйте /media/disk9/etc/network/interfaces для новой установки.
    • При необходимости удалите файлы /etc/udev/rules.d/70-persistent-*.rules , если они есть, так что ваши диски и сетевые интерфейсы повторно используют те же имена ( sda , eth0 , ...) на новом компьютере.
    • Если вы используете собственные видеодрайверы (ATI или Nvidia), и новая машина не должна использовать один и тот же драйвер, переместите /media/disk9/etc/X11/xorg.conf в /media/disk9/etc/X11/xorg.conf.old-machine , иначе вы, возможно, не сможете для загрузки в графический интерфейс на новой машине.
  8. Переместите диск с новой установкой обратно на его законную машину.
  9. Если вы не клонировали диск в целом, запустите live CD / USB и восстановите загрузчик .
  10. Загрузитесь с новой установки и выполните необходимые шаги перехода слева:
    • Вам может потребоваться установить новые проприетарные драйверы (системные / административные / аппаратные драйверы).
    • Если у вас есть статический IP-адрес , настроенный через Network Manager, настройте сеть для новой машины.
    • Если вы запустите ssh server , запустите dpkg-reconfigure openssh-server , чтобы сгенерировать новый ключ хоста.
ответ дан Gilles 01.10.2010 в 20:30
6

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

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

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

Я чувствую, что самый простой способ сделать сетевую копию:

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

    
ответ дан Javier Rivera 10.02.2011 в 15:50
4

Dropbox.

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

Dropbox - это онлайн-служба резервного копирования / синхронизации, и она запускает основную добычу, и вы можете получить ее бесплатно. Он доступен под ubuntu Karmic и находится под репозиториями Partner. Вы ищете пакет под названием nautilus-dropbox. Или вы можете просто загрузить его с сайта: Ссылка

Как упоминалось выше, большинство ваших соответствующих настроек сохраняются в /home/yourname/.whatever

Например, настройки конфигурации gnome сохраняются в

/home/username/.gnome2

Итак, чтобы выполнить синхронизацию:

Часть первая: выполните резервное копирование настроек конфигурации в Dropbox. (все это находится на «старой» машине, где у вас есть настройки / настройки, как вы их хотите.)

  1. Перейдите в свой домашний каталог и найдите как можно больше «dotfiles» и каталогов. Почти все они будут иметь отношение к настройкам личной конфигурации (Hit Control + H в Nautilus для просмотра скрытых файлов.)
  2. Вам захочется скопировать файлы этих файлов конфигурации в папку Dropbox. СДЕЛАЙТЕ РЕЗЕРВНОЕ КОПИРОВАНИЕ, ЧТОБЫ ВЫ МОЖЕТЕ ПОТЕРЯТЬ ИХ.
  3. Удалите исходные файлы из своего домашнего каталога, а затем создайте ссылку из файла в новом доме (под папкой Dropbox) в домашний каталог. Вы можете сделать это, перетащив файл / папку в имя вашего домашнего каталога, удерживая клавишу «Alt», и выберите «создать ссылку».

Часть вторая: (На новой машине.) Создайте ссылки из настроек конфигурации с синхронизацией Dropbox.

  1. На вашей «новой» машине, т.е. обновите Ubuntu, удалите ( И НАЗАД, ЕСЛИ НЕОБХОДИМЫЕ ) ваши старые файлы конфигурации домашнего каталога. Установите Dropbox на новый компьютер. Позвольте ему синхронизировать, AKA загрузит ваши старые настройки машины.
  2. Повторите шаг 3 выше на новом компьютере - скопируйте ссылки из папок с синхронизацией Dropbox в домашний каталог.

Voila. Теперь у вас есть резервное копирование и миграция параметров в Интернете.

    
ответ дан emf 01.10.2010 в 09:05
2

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

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

Ссылка

    
ответ дан Sabacon 08.11.2010 в 16:20
0

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

ответ дан ivotron 19.11.2014 в 23:34