55 votes

Meilleure façon de cloner une installation (copie sur un matériel identique)

Un peu comme cette question mais légèrement différent (je pense), en ce sens que je dispose de 6 machines Acer Aspire Revo R3610 identiques. L'une d'elles est (presque) configurée selon mes besoins - lorsque j'aurai fini de la préparer, j'aimerais que les 5 autres machines soient absolument identiques. Je suis très novice en matière d'Ubuntu, quelle est la manière la plus directe (la plus facile) de procéder ?

Les machines vont vivre sur des réseaux différents si cela peut poser un problème (par exemple, sous Windows, vous pouvez cloner des disques, mais vous devez ensuite modifier la base de registre si elles doivent fonctionner sur le même réseau, etc.) Le matériel des 6 machines est, j'insiste, le même !

Comment puis-je cloner efficacement une image source sur ces machines identiques ?

Veuillez limiter un logiciel/solution par réponse

2voto

Azendale Points 11431

Je prendrais un ordinateur comme vous le souhaitez, et j'installerais le paquet openssh-server. Générez une paire de clés ssh avec ssh-keygen -t rsa . Ajoutez la clé publique à /root/.ssh/authorized_keys2. Ensuite, je démarrerais les nouveaux ordinateurs avec un live cd et je brancherais une clé usb avec la clé privée ssh. Utilisez gparted pour créer une nouvelle partition. Ensuite, montez la nouvelle partition et exécutez quelque chose comme sudo rsync -avzx -e "ssh -i /media/disk/path/to/privatekey" --exclude=".gvfs" root@<ImageComputerIP>:/ /path/to/new/partition/

Utilisez le blkid pour trouver l'UUID du système de fichiers que vous venez de créer. Modifiez le fichier /path/to/new/partition/etc/fstab pour refléter le nouvel UUID (et le type de système de fichiers si vous avez utilisé un système de fichiers différent).

Ensuite, je suivrais les instructions sur https://help.ubuntu.com/community/Grub2/Installing#via_ChRoot sur la façon d'installer à partir d'un chroot.

Une version simplifiée de cette page (qui ne prend pas en compte lvm, software raid, ou bcache, ou /boot séparé comme le fait la page wiki) :

Montez les systèmes de fichiers virtuels critiques. Exécutez la commande suivante en une seule fois :

for i in /dev /dev/pts /proc /sys /run; do sudo mount -B $i /mnt$i; done

Chroot dans votre périphérique système normal :

sudo chroot /mnt

Réinstaller Grub 2 (remplacez le périphérique correct par sda, sdb, etc. Ne spécifiez pas de numéro de partition) :

grub-install /dev/sdX

Recréer le fichier du menu Grub 2 (Grub.cfg)

update-grub

Quitter chroot : CTRL-D sur le clavier

Au fait, cela fonctionne bien pour la sauvegarde, aussi. Ubuntu, contrairement à Windows, ne semble pas avoir de problèmes pour être transplanté sur du matériel différent. J'ai mis des disques durs d'un ordinateur dans un autre et tout s'est bien passé, et j'ai copié des installations sur différents matériels et tout s'est bien passé.

0 votes

Merci pour ça - j'en ai un autre qui arrive bientôt, je vais essayer. Merci

0 votes

Le lien référencé ne mentionne actuellement ni chroot ni aucune méthode. C'est pourquoi c'est une bonne idée de citer les parties pertinentes de vos sources.

0 votes

@Henno La page wiki a été déplacée. Le problème de l'inclusion de la page est que le wiki se tient à jour avec de nouvelles choses comme le bcache et le simple fait de copier le contenu de la page manquera ces mises à jour, mais l'inconvénient de simplement lier cela est que les choses peuvent bouger sur vous. Dans tous les cas, le lien a été mis à jour, et une version dépouillée a été incluse.

2voto

zachd1_618 Points 613

J'utilise ddrescue pour exactement cette tâche. Il fonctionne parfaitement. C'est très simple.

Voir ce fil de discussion sur technibble pour plus de détails

1 votes

La pourriture des liens est la raison pour laquelle cette réponse devrait au moins inclure certains des détails. Par exemple, comment l'installer et le faire fonctionner, au moins.

1voto

NotMe Points 3732

G4L

Ghost pour Linux

Ghost pour Linux est un outil d'imagerie et de clonage de disques durs et de partitions similaire à Norton Ghost(c) et (tm) de Symantec. Les images créées sont éventuellement compressées, et elles peuvent être stockées sur un disque dur local ou transférées vers un serveur FTP anonyme. Un disque peut être cloné à l'aide de la fonction Click'n'Clone. g4l prend en charge le fractionnement des fichiers si le système de fichiers local ne supporte pas l'écriture de fichiers >2GB. Le noyau inclus supporte les disques ATA, serial-ATA, et SCSI. Les cartes réseau courantes sont supportées. Il est emballé sous forme d'image CD amorçable avec une interface graphique ncurses pour une utilisation facile.

0 votes

OMG. C'est précisément ce que je voulais depuis longtemps. Même pour Windows. TNX pour le post. Je vais le vérifier tout de suite.

1voto

Anwar Points 72431

Fsarchiver

Je ne sais pas pourquoi personne ne l'a mentionné. C'est particulièrement pratique lorsque vous voulez restaurer le contenu de la partition sur un autre type de système de fichiers (par exemple, restaurer le contenu de ext4 vers ext2 ou reiserfs) ou que vous voulez restaurer vers une partition plus petite.

Je l'ai utilisé et c'est très facile. Par exemple, pour cloner une partition, disons /dev/sda1 vous utilisez une commande comme celle-ci

fsarchiver -A -j 2 -z 1 savefs /media/anwar/USB_Drive/myrootpartition /dev/sda1

El -A L'option vous permet de copier la partition même si elle est utilisée ! Excellente fonctionnalité !

-j 2 dit d'utiliser 2 cœurs de CPU pour la compression. Utile pour les CPU multi-core et si vous utilisez la compression

-z 1 définit le niveau de compression.

Pour restaurer le système de fichiers que vous avez utilisé

fsarchiver restfs /data/myrootpartition.fsa id=0,dest=/dev/sda2

El id=0 dit que vous restaurez le premier système de fichiers de l'archive (Même si vous n'avez pas sauvegardé plusieurs partitions sur une seule archive, vous devez le spécifier). Et dest=/dev/sda2 définit la destination du rétablissement.

0voto

Je fais ça souvent, en utilisant rsync.

Tout d'abord, vous pouvez exécuter rsync pour charger toutes les données sur un disque dur externe (votre disque dur externe devrait être en ext4 - j'utilise cela, donc je sais que cela fonctionne) : Je suppose que vous avez deux partitions : /dev/sda1 (root) et /dev/sda2 (swap).

Exécuter dans votre ordinateur d'origine :

sudo rsync -avuorpESHAX /* /your/hard/drive

Après avoir copié les données, démarrez votre prochain ordinateur avec une clé usb et formatez le disque dur interne comme le disque dur d'origine.

Montez votre disque externe sur /mnt et copier les UUIDs de toutes les partitions. Editez les UUIDs des partitions du nouvel ordinateur et mettez les mêmes UUIDs que vous avez copiés à partir des données d'origine (c'est en /mnt/etc/fstab ).

Fermez l'échange :

sudo swapoff -a

Créer un nouveau swap en utilisant l'UUID d'origine, copié à partir de /mnt/etc/fstab :

sudo mkswap /dev/sda2 -U original-UUID

(Je suppose que votre échange est dans /dev/sda2 )

Ensuite, changez l'UUID de /dev/sda1 : (la partition doit être démontée afin de changer les UUIDs)

sudo umount /mnt
sudo tune2fs /dev/sda1 -U old-UUID

Ceci fait, montez la partition de destination :

sudo mount /dev/sda1 /mnt

Inverser le rsync vers la destination :

sudo rsync -avuorpESHAX /media/your-backup /mnt

Réinstallez le Grub :

sudo grub-install --root-directory /mnt /dev/sda

Cela fonctionnera. N'oubliez pas de modifier /etc/hostname y /etc/hosts de changer le nom d'hôte de chaque machine afin d'éviter les conflits de réseau.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X