Comment puis-je dupliquer mon environnement Linux si je migre vers un matériel différent?

10

J'ai actuellement des packages, modules, paramètres, etc. pour Eclipse, MySQL, Python, Firefox, etc. installés sur Kubuntu. J'ai également configuré Kubuntu de manière optimale pour mes besoins. Je voudrais dupliquer mon environnement sur une autre machine qui a un processeur différent (actuellement sur un Intel Q9450, le nouveau processeur est un i7). Si je comprends bien, mes applications sont compilées pour être utilisées avec mon processeur spécifique, donc il n'est pas question de faire une copie de partition directe.

Existe-t-il un moyen de dupliquer mon environnement sur cette autre machine, à moins de tout réinstaller et reconfigurer?

curieuse
la source
Cette question est incroyable pour moi ... je posais la même chose!
dag729
"Si je comprends bien, mes applications sont compilées pour être utilisées avec mon processeur spécifique": D'où vous est venue cette idée? Je ne connais aucune distribution (sauf bien sûr Gentoo) qui fait ça.
sleske
@sleske: avez-vous déjà essayé d'installer un paquet amd64 sur une version ppc de Debian? ;)
dag729
1
@ dag729: Bien sûr, si vous changez l' architecture du processeur , vous aurez besoin de nouveaux packages. Mais Intel Q9450 et i7 sont tous deux des processeurs x86.
sleske
1
Je pensais que mon i7 était x86_64. J'exécute des applications 64 bits sur cette machine. Suis-je incorrect?
curieux

Réponses:

3

Si je comprends bien, mes applications sont compilées pour être utilisées avec mon processeur spécifique, donc il n'est pas question de faire une copie de partition directe.

Qu'est-ce qui vous amène à cette conclusion? Au moins pour x86, les packages installés par Kubuntu sont compilés pour fonctionner sur pratiquement tous les CPU non préhistoriques. Je crois qu'ils fonctionneront sur quelque chose de plus récent qu'un 486, ce qui ne pose probablement pas de problème dans votre cas :-).

Donc, une copie de partition droite devrait fonctionner très bien:

  • copier des partitions (ou simplement copier les fichiers en utilisant cp -a, si la disposition de votre partition a changé)
  • adapter / etc / fstab à la nouvelle disposition des partitions
  • reconfigurez le chargeur de démarrage pour les nouvelles partitions et réinstallez le chargeur de démarrage
  • démarrer et profiter

Des problèmes ne sont à prévoir que pour:

  • packages auto-compilés, mais même là, la plupart seront compilés par défaut pour tous les processeurs modernes, sauf si vous jouez avec les options du compilateur
  • pilotes de périphérique

La plupart des noyaux modernes détectent automatiquement hw au démarrage, donc généralement les pilotes devraient être corrects, mais si les choses échouent, vous pouvez généralement démarrer en mode mono-utilisateur et résoudre les problèmes de pilote.

sleske
la source
Si cela fonctionne, ma vie sera beaucoup plus facile. Merci! Je vais essayer ceci en premier.
curieux
7

Vous pouvez prendre votre répertoire personnel sans aucune modification. Presque tout ce qui va dans un répertoire personnel est conçu pour être partagé sur quelque chose comme NFS, donc vous êtes bon.

Enregistrez également votre sélection de packages avec

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

et le restaurer sur l'autre machine avec

sudo dpkg --set-selections <file.txt

De même, enregistrez vos paramètres debconf avec

sudo debconf-get-selections >file2.txt

et restaurer avec

sudo debconf-set-selections <file2.txt

Pour le reste de la configuration /etcqui n'est pas gérée par debconf, il est difficile de suivre ce qui a été modifié manuellement, sauf si vous avez utilisé quelque chose comme etckeeper (peut-être une idée pour l'avenir). Pour cette raison, j'ai tendance à conserver la plupart de ma configuration dans mon répertoire personnel. Mais comme vous savez quels programmes vous intéressent, il devrait être facile de trouver les fichiers pertinents /etcet de les vérifier et les copier manuellement.

Peter Eisentraut
la source
1
Oui, si vous migrez vers une architecture différente, c'est la voie à suivre. En guise de remarque: il suffit de faire une copie de / etc / dans un endroit sûr, puis vous pouvez restaurer sélectivement les fichiers de configuration lorsque vous en avez besoin sur le nouveau système.
sleske
1

Vous pouvez sauvegarder votre maison et la restaurer sur l'autre machine. Cela ne peut pas répondre pleinement à vos besoins, mais cela restaurera toute la configuration. Vous devez cependant réinstaller les packages vous-même.

phunehehe
la source
1

Une grande majorité des configurations personnalisées seront dans / home /, avec la plupart des autres dans / etc /. certains des fichiers / etc contiennent des informations spécifiques à la machine ou au matériel (/etc/X11/xorg.conf, / etc / hostname, / etc / fstab en haut de ma tête), mais une grande partie peut être simplement copiée si vous vont utiliser la même version du système d'exploitation.

Justin Smith
la source
Parmi les choses que vous avez répertoriées, MySQL est le seul qui aura probablement une configuration dans / etc / que vous voudrez peut-être copier, les autres sont dans / home /
Justin Smith
1

Appuyant sur la chose get, set selections.

Pour savoir exactement quels conffiles ont changé, exécutez ceci:

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

Si vous n'avez pas déjà installé dlocate, vous pouvez le remplacer par dpkg -Sou ignorer cette partie.

Pour sauvegarder tous les conffiles:

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

Hmm. Si cela ne vous dérange pas un peu de tripoter, vous pouvez brancher le nouveau disque dur dans votre boîtier, montez-le puis utilisez dd. Par exemple, si votre racine actuelle est définie sur / dev / sda3 et que vous avez monté le nouveau disque dur sur / dev / sdb2, vous utiliseriez

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

Vous devrez bien sûr le faire en tant que root. Après cela, vous voudrez installer Grub, vous devez donc mettre un LiveCD Ubuntu et l'utiliser.

Ou vous pouvez jeter un œil à ce lien: http://www.ehow.com/how_4924091_clone-hard-drive-linux.html - Cela ressemble à une très bonne marche à suivre pour cloner un disque dur Linux, bien que je ne l'ai pas testé ce site moi-même.

user26528
la source