Как я могу дублировать свою среду Linux, если я перехожу на другое оборудование?

10

В настоящее время у меня есть пакеты, модули, настройки и т. Д. Для Eclipse, MySQL, Python, Firefox и т. Д., Настроенные на Kubuntu. Я также оптимально настроил Kubuntu для своих нужд. Я хотел бы продублировать свою среду на другом компьютере с другим процессором (в настоящее время на Intel Q9450 новый процессор - i7). Как я понимаю, мои приложения скомпилированы для использования с моим конкретным процессором, поэтому создание прямой копии раздела исключено.

Есть ли способ скопировать мою среду на этот другой компьютер, кроме переустановки и переконфигурирования всего?

любопытный
источник
Этот вопрос невероятен для меня ... Я спрашивал то же самое!
dag729
«Как я понимаю, мои приложения скомпилированы для использования с моим конкретным процессором»: откуда у вас эта идея? Я не знаю ни одного дистрибутива (кроме, конечно, Gentoo), который бы это делал.
слеске
@sleske: вы когда-нибудь пытались установить пакет amd64 на версию Debian для ppc? ;)
dag729
1
@ dag729: Конечно, если вы измените архитектуру процессора , вам понадобятся новые пакеты. Но Intel Q9450 и i7 оба являются процессорами x86.
слеске
1
Я думал, что мой i7 был x86_64. Я использую 64-битные приложения на этой машине. Я не прав?
любопытно

Ответы:

3

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

Что приводит вас к такому выводу? По крайней мере, для x86 пакеты, установленные Kubuntu, скомпилированы для работы практически на всех не доисторических процессорах. Я считаю, что они будут работать на чем-то более новом, чем 486, что, вероятно, не представляет проблемы в вашем случае :-).

Так что прямая копия раздела должна работать просто отлично:

  • копировать разделы (или просто скопировать файлы, используя cp -a, если изменился макет вашего раздела)
  • адаптировать / etc / fstab к новой разметке разделов
  • перенастроить загрузчик для новых разделов и переустановить загрузчик
  • загружай и наслаждайся

Проблемы ожидаются только для:

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

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

sleske
источник
Если это сработает, моя жизнь станет намного проще. Спасибо! Я попробую это первым.
любопытно
7

Вы можете взять свой домашний каталог без каких-либо изменений. Почти все, что входит в домашний каталог, предназначено для совместного использования с чем-то вроде NFS, так что вы хороши.

Кроме того, сохраните ваш выбор пакета с

sudo dpkg --get-selections '*' >file.txt

и восстановить его на другой машине с

sudo dpkg --set-selections <file.txt

Аналогичным образом сохраните настройки debconf с помощью

sudo debconf-get-selections >file2.txt

и восстановить с

sudo debconf-set-selections <file2.txt

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

Питер Айзентраут
источник
1
Да, если вы переходите на другую архитектуру, это путь. В качестве примечания: просто сделайте копию / etc / где-нибудь в безопасности, тогда вы сможете выборочно восстанавливать файлы конфигурации, когда они вам нужны в новой системе.
слеске
1

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

phunehehe
источник
1

Подавляющее большинство пользовательских конфигураций будет находиться в / home /, а большинство остальных - в / etc /. некоторые из файлов / etc содержат информацию, специфичную для компьютера или оборудования (/etc/X11/xorg.conf, / etc / hostname, / etc / fstab в верхней части моей головы), но большую часть можно просто скопировать, если вы собираются использовать ту же версию ОС.

Джастин смит
источник
Из перечисленных вами вещей MySQL - единственный, который, вероятно, будет иметь конфигурацию в / etc /, которую вы можете скопировать, остальные находятся в / home /
Джастин Смит,
1

После получения, установить выбор вещи.

Чтобы точно знать, какие файлы изменились, запустите это:

dpkg-query --show --showformat='${Conffiles}\n' |sort -u | \
while read f m obsolete; do \
  [[ -r $f ]] || continue; m2=$(md5sum "$f") ;
  [[ $m2 != "$m  $f" ]] && echo "$f";
done |xargs -n1 dlocate  |tee ~/edited-conffiles

Если у вас еще не установлен dlocate, вы можете заменить его dpkg -Sили пропустить эту часть.

Для резервного копирования всех файлов:

dpkg-query --show --showformat='${Conffiles}\n' |sort -u | \
while read f m obsolete; do \
  echo "$f"
done |sudo tar cjf ~/conffiles.tbz2 -T -
Tobu
источник
1

Хм. Если вы не возражаете, вы можете подключить новый жесткий диск к вашему устройству, установите его и используйте dd. Например, если ваш текущий root установлен на / dev / sda3, а вы подключили новый жесткий диск к / dev / sdb2, вы бы использовали

dd if=/dev/sda3 of=/dev/sdb2

Конечно, вам нужно будет сделать это как root. После этого вы захотите установить Grub, поэтому вам нужно установить Ubuntu LiveCD и использовать его.

Или вы можете взглянуть по этой ссылке: http://www.ehow.com/how_4924091_clone-hard-drive-linux.html - это выглядит как довольно хороший шаг для клонирования жесткого диска Linux, хотя я не сделал проверил этот сайт сам.

user26528
источник