Come posso duplicare il mio ambiente Linux se sto migrando su hardware diverso?


10

Al momento ho pacchetti, moduli, impostazioni, ecc. Per Eclipse, MySQL, Python, Firefox, ecc. Configurati su Kubuntu. Ho anche configurato Kubuntu in modo ottimale per le mie esigenze. Vorrei duplicare il mio ambiente su un'altra macchina che ha un processore diverso (attualmente su un Intel Q9450, il nuovo processore è un i7). A quanto ho capito, le mie applicazioni sono compilate per l'uso con il mio specifico processore, quindi non è possibile fare una copia diretta della partizione.

Esiste un modo per duplicare il mio ambiente su quest'altra macchina, a meno di reinstallare e riconfigurare tutto?


Questa domanda è incredibile per me ... stavo chiedendo la stessa cosa!
dag729,

"A quanto ho capito, le mie applicazioni sono compilate per l'uso con il mio processore specifico": da dove hai avuto l'idea? Non conosco alcuna distro (tranne ovviamente Gentoo) che lo fa.
sleske,

@sleske: hai mai provato a installare un pacchetto amd64 su una versione ppc di Debian? ;)
dag729,

1
@ dag729: Naturalmente, se si modifica l' architettura del processore , saranno necessari nuovi pacchetti. Ma Intel Q9450 e i7 sono entrambi processori x86.
sleske,

1
Pensavo che il mio i7 fosse x86_64. Sto eseguendo applicazioni a 64 bit su questa macchina. Sono errato?
curioso

Risposte:


3

A quanto ho capito, le mie applicazioni sono compilate per l'uso con il mio specifico processore, quindi non è possibile fare una copia diretta della partizione.

Cosa ti porta a questa conclusione? Almeno per x86, i pacchetti installati da Kubuntu sono compilati per funzionare praticamente su tutte le CPU non preistoriche. Credo che funzioneranno su qualcosa di più recente di un 486, che probabilmente non rappresenta un problema nel tuo caso :-).

Quindi una copia diretta della partizione dovrebbe funzionare bene:

  • copia delle partizioni (o semplicemente copia i file usando cp -a, se il layout della tua partizione è cambiato)
  • adatta / etc / fstab al nuovo layout di partizione
  • riconfigurare il bootloader per nuove partizioni e reinstallare il bootloader
  • avvia e divertiti

I problemi sono prevedibili solo per:

  • pacchetti autocompilati, ma anche lì, la maggior parte verrà compilata per impostazione predefinita per tutte le CPU moderne, a meno che tu non giochi con le opzioni del compilatore
  • i driver di periferica

La maggior parte dei kernel moderni rileva automaticamente hw all'avvio, quindi di solito anche i driver dovrebbero essere ok, ma se le cose falliscono, di solito è possibile avviare in modalità utente singolo e risolvere eventuali problemi di driver.


Se funziona la mia vita sarà molto più semplice. Grazie! Ci proverò prima io.
curioso il

7

Puoi prendere la tua home directory senza alcuna modifica. Quasi tutto ciò che va in una directory home è progettato per essere condivisibile su qualcosa come NFS, quindi sei bravo.

Inoltre, salva la selezione del pacchetto con

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

e ripristinalo sull'altro computer con

sudo dpkg --set-selections <file.txt

Allo stesso modo, salvare le impostazioni di debconf con

sudo debconf-get-selections >file2.txt

e ripristina con

sudo debconf-set-selections <file2.txt

Per il resto della configurazione /etcche non è gestita da debconf, è difficile tenere traccia di ciò che è stato modificato manualmente, a meno che tu non abbia usato qualcosa come etckeeper (forse un'idea per il futuro). Per questo motivo, tendo a conservare gran parte della mia configurazione nella mia directory home. Ma poiché sai a quali programmi sei interessato, dovrebbe essere facile trovare i file rilevanti /etce controllarli e copiarli manualmente.


1
Sì, se stai migrando verso un'architettura diversa, questa è la strada da percorrere. Come nota a margine: rendi sicura una copia di / etc / somewhere, quindi puoi ripristinare selettivamente i file di configurazione quando ne hai bisogno sul nuovo sistema.
sleske,

1

Puoi eseguire il backup della tua casa e ripristinarla sull'altra macchina. Questo non può soddisfare pienamente le tue necessità, ma ripristinerà tutta la configurazione. Devi reinstallare i pacchetti tu stesso, però.


1

La maggior parte delle configurazioni personalizzate sarà in / home /, la maggior parte del resto in / etc /. alcuni dei file / etc hanno informazioni specifiche sulla macchina o sull'hardware (/etc/X11/xorg.conf, / etc / hostname, / etc / fstab dalla parte superiore della mia testa), ma gran parte di questi può essere semplicemente copiato se tu utilizzerà la stessa versione del sistema operativo.


Delle cose che hai elencato, MySQL è l'unico che probabilmente avrà la configurazione in / etc / che potresti voler copiare, il resto è in / home /
Justin Smith

1

Secondo il get, imposta cosa selezioni.

Per sapere esattamente quali conffile sono cambiati, esegui questo:

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

Se dlocate non è già installato, è possibile sostituirlo con dpkg -So saltare quella parte.

Per eseguire il backup di tutti i conffile:

dpkg-query --show --showformat='${Conffiles}\n' |sort -u | \
while read f m obsolete; do \
  echo "$f"
done |sudo tar cjf ~/conffiles.tbz2 -T -

1

Hmm. Se non ti dispiace un po 'giocherellare, potresti collegare il nuovo HDD nella tua scatola, montarlo e usare dd. Ad esempio, se il tuo root corrente è impostato su / dev / sda3 e hai montato il nuovo HDD su / dev / sdb2 dovrai usare

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

Dovrai farlo come root, ovviamente. Dopodiché vorrai installare Grub, quindi devi inserire un LiveCD Ubuntu e usarlo.

Oppure potresti dare un'occhiata a questo link: http://www.ehow.com/how_4924091_clone-hard-drive-linux.html - Sembra una passeggiata abbastanza buona per clonare un disco rigido Linux, anche se non ho ho testato quel sito da solo.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.