Як я можу дублювати своє середовище Linux, якщо переходжу на інше обладнання?


10

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

Чи є якийсь спосіб дублювати моє середовище на цій іншій машині, не маючи перевстановлення та перенастроювання всього?


Це питання для мене неймовірне ... я задав те саме!
dag729

"Як я розумію, мої програми складаються для використання з моїм конкретним процесором": Звідки ви взяли таку ідею? Я не знаю жодного дистрибутива (крім, звичайно, Gentoo), який це робить.
sleske

@sleske: Ви коли-небудь намагалися встановити пакет amd64 на ppc-версію Debian? ;)
dag729

1
@ dag729: Звичайно, якщо ви зміните архітектуру процесора , вам знадобляться нові пакети. Але Intel Q9450 і i7 - це обоє процесори x86.
sleske

1
Я думав, що мій i7 - x86_64. Я працюю на цій машині 64-розрядні програми. Я невірний?
цікаво

Відповіді:


3

Як я розумію, мої програми складаються для використання з моїм конкретним процесором, тому про створення прямої копії розділу не підлягає сумніву.

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

Отже, пряма копія розділу повинна працювати чудово:

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

Проблеми можна очікувати лише для:

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

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


Якщо це спрацює, моє життя стане набагато простішим. Дякую! Я спробую це спершу.
цікаво

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 / десь у безпеці, тоді ви зможете вибірково відновити конфігураційні файли, коли вони вам потрібні в новій системі.
sleske

1

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


1

Переважна більшість нестандартних конфігурацій буде в / home /, а більшість інших в / etc /. деякі файли / etc містять певну машину або апаратну інформацію (/etc/X11/xorg.conf, / etc / ім'я хоста, / 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 -

1

Хм. Якщо ви не заперечуєте, що ви можете зав'язати новий жорсткий диск у свій ящик, змонтуйте його, а потім використовуйте dd. Наприклад, якщо для вашого поточного кореня встановлено значення / dev / sda3, і ви встановили новий жорсткий диск в / dev / sdb2, ви б використовували

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

Зробити це вам, звичайно, потрібно. Після цього ви захочете встановити Grub, тому вам потрібно поставити Ubuntu LiveCD і використовувати це.

Або ви можете подивитися за цим посиланням: http://www.ehow.com/how_4924091_clone-hard-drive-linux.html - Це схоже на досить непогану інформацію про клонування жорсткого диска Linux, хоча я ще не Я сам випробував цей сайт.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.