Вот сценарий, который перемещает файлы из-под /path/to/source/root
к соответствующему пути под /path/to/destination/root
.
Остерегайтесь, непротестированный код.
export dest='/path/to/destination/root'
cd /path/to/source/root
find . -type d \( -exec sh -c '[ -d "$dest/$0" ]' \; -o \
-exec sh -c 'mv "$0" "$dest/$0"' {} \; -prune \) \
-o -exec sh -c '
if ! [ -e "$dest/$0" ]; then
mv -f "$0" "$dest/$0"
fi
' {} \;
Перемещение или клонирование установки Linux довольно легки, предполагая, что входные и выходные процессоры являются той же архитектурой (например, оба x86, оба x64, обе руки …).
При перемещении необходимо заботиться об аппаратных зависимостях. Однако большинство пользователей не встретится ни с какой трудностью кроме xorg.conf
(и даже затем современные дистрибутивы имеют тенденцию не нуждаться в нем), и возможно загрузчик.
Если настройка дисков отличается, Вы, возможно, должны реконфигурировать загрузчик и таблицы файловой системы (/etc/fstab
, /etc/crypttab
если Вы используете криптографию, /etc/mdadm.conf
если Вы используете md RAID). Для загрузчика самый легкий путь состоит в том, чтобы вытолкать диск в новую машину, загрузить живой CD/USB Вашего распределения и использовать его инструмент исправления загрузчика.
Обратите внимание, что при копировании данных, а не физически движущиеся диск (например, потому что одна или обе системных двойных загрузки с Windows), это быстрее и легче скопировать целые разделы (с Разделенным (G) или dd
).
Если Вы имеете xorg.conf
файл для объявления связанных с дисплеем опций (например, в отношении с собственным драйвером) это должно будет быть изменено, если целевая система будет иметь другую видеокарту или другую установку монитора. Необходимо также установить собственный драйвер для видеокарты целевой системы перед перемещением, если применимо.
Если Вы объявили опции модуля или черные списки в /etc/modprobe.d
, они, возможно, должны быть скорректированы для целевой системы.
Клонирование установки включает те же связанные с аппаратными средствами проблемы как перемещение, но существует еще несколько вещей заботиться о дать новой машине новые идентификационные данные.
Править /etc/hostname
дать новой машине новое имя.
Ищите другие случаи имени хоста под /etc
. Общие местоположения /etc/hosts
(псевдоним для 127.0.0.1) и /etc/mailname
или другая почтовая конфигурация системы.
Повторно создайте ключ хоста ssh.
Внесите любое необходимое изменение в сетевую конфигурацию (такую как статический IP-адрес).
Измените UUID объемов RAID (не необходимый, но рекомендуемый избежать беспорядка), например, mdadm -U uuid
.
См. также пошаговое руководство по клонированию, предназначенное для Ubuntu.
Моя текущая установка настольного компьютера была клонирована от ее предшественника, отключив один из двух RAID 1 зеркальный диск, переместив его в новый компьютер, создав объем RAID-1 на уже существующем диске, позволив зеркалу ресинхронизировать, и внесение изменений, обрисованных в общих чертах выше когда это применимо.
Я не уверен, отвечает ли это на Ваш вопрос, но обычно Вы делаете полную противоположность - Вы перемещаете свою пользовательскую папку и переустанавливаете все. В теории вся Ваша настройка и отдельные конфигурационные файлы должны быть в Вашей пользовательской папке, таким образом, это - единственная вещь, действительно необходимо передать
Некоторые диспетчеры пакетов имеют способ перечислить все установленные пакеты (Debian/Ubuntu имеют dpkg --list
, Хинду имеет /etc/world
, и т.д.), таким образом, Вы можете просто:
И необходимо закончить с функционально идентичной системой
Действительно, в то время как в соответствии с Windows почти невозможно переместить установку на новом ПК, просто копируя содержание жесткого диска или переключая жесткий диск между ПК, это работает удивительно хорошо в соответствии с Linux. Я переключился от Thinkpad R52 до Thinkpad T400, просто копируя содержание моего старого жесткого диска к новому (путем помещения старого во внешнее закрытие, соединенное через USB и копирования всего под Gparted-Live-CD). Все, что я должен был сделать после этого, вручную помещало Личинку в MBR и начальную загрузку. Все все еще работало на меня.
Как Michael сказал, обычно новый ПК является хорошей возможностью избавиться от хлама, накапливаемого со временем, однако иногда просто необходимо войти в работу снова действительно быстро, и затем просто копирование содержания жесткого диска работает отлично с Linux, поскольку все драйверы, включенные в ядро, доступны ядру без установки, в наше время драйверы автоматически загружаются вместо вручную перечисленного в modprobe.conf, и даже Xorg автоматически конфигурирует себя для меня.
Только если необходимо было вручную настроить драйверы на старом ПК (например, системы Набега, собственные графические драйверы и т.д.), Вы могли бы столкнуться с проблемами.
Я предполагаю, что это ответит на Ваш вопрос: http://wiki.xtronics.com/index.php/Wajig
Установите новый Linux, скопируйте Ваш дом и используйте wajig для переустановки всех пакетов.
tune2fs -U $(uuid) /dev/sda
pvchange --uuid /dev/sdb
vgchange --uuid volgrp
. LV не выставляет интерфейс для изменения UUID, но не запутывается, если у Вас есть дубликаты. для изменений e2fs UUID будет иногда нужно/etc/fstab
иgrub
или загрузчик изменяется, если на uuid's ссылаются там. – Matt 27.02.2013, 11:18