On n'a pas toujours une distribution sous la main pour réinstaller Linux (ou tout autre Unix, comme la famille BSD) sur un nouveau disque dur. Or c'est très facile et très rapide d'installer un système Unix en se contentant de copier les fichiers d'une autre installation. Ça doit faire 25 ans que je ne l'avais pas fait, c'est l'occasion d'écrire un mémo pour le retrouver dans Google !
Branchons le nouveau disque et démarrons sur l'ancien !
Pour faire simple ici, je partitionne le nouveau disque en deux : une partition de swap et tout dans le même système de fichier. Je place la partition de swap à la fin du disque et j'active la partition du système de fichier (on la rend bootable).
Copier les fichiers
- Créer le système de fichier et le swap sans oublier de vérifier l'état du disque (noter les UUID ou les obtenir plus tard avec
lsblk -f
oublkid
). Monter le système de fichiers dans /mnt. - Tout copier, sauf /proc /sys /dev /run et /mnt, avec
~# cp -a source /mnt/
ou bien~# cp -a -t /mnt/ source
qui est plus pratique (ou avecrsync
qui a beaucoup d'avantages). - Créer /mnt/proc /mnt/sys /mnt/dev /mnt/run et /mnt/mnt (vides)
- Voir la doc Linux From Scratch pour le remplissage de /dev :
~# mknod -m 600 /mnt/dev/console c 5 1
~# mknod -m 666 /mnt/dev/null c 1 3
~# mount -v --bind /dev /mnt/dev
- Refaire
/mnt/etc/fstab
avec les UUID, il vaut mieux éviter les /dev parce que l'ordre des périphérique pourrait schanger quand on enlèvera l'ancien disque.
Installer le chargeur de démarrage (bootloader)
J'installe GRUB, la procédure est identique avec les autres. Il faut le faire depuis le nouveau système de fichier, en changeant la racine pour /mnt (chroot).
- Monter les systèmes de fichiers virtuels :
~# mount -vt devpts devpts /mnt/dev/pts -o gid=5,mode=620
~# mount -vt proc proc /mnt/proc
~# mount -vt sysfs sysfs /mnt/sys
~# mount -vt tmpfs tmpfs /mnt/run
- Changer la racine
~# chroot /mnt
; la racine / devient /mnt, toutes les opérations suivantes se font dans le chroot (/etc est en fait /mnt/etc, c'est transparent). - Modifier
/etc/initramfs.d/.../resume
(partition de swap pour l'hibernation) et refaire l'initramfsmkinitramfs
. - Modifier
/boot/grub/grub.cfg
ou utiliser~# grub-mkconfig
(avecgrub-mkconfig -o
et le nom du fichier de sortie, sinon ça n'en créera pas). Comme on a plusieurs disques, il vaut mieux utiliser des UUIDs plutôt que des noms de périphériques qui pourraient changer (de toute façon, GRUB ne nomme pas les périphériques comme sous Linux). - Installer GRUB
~# grub-install /dev/[nouveau disque]
- Sortir du chroot, éteindre et redémarrer sur le nouveau disque.
Temps passé : 10 minutes.
# Moi aussi :)
Posté par Space_e_man (site web personnel) . Évalué à 4. Dernière modification le 28 septembre 2017 à 09:26.
Au boulot, pour 15 postes de travail, je maintiens une machine virtuelle comme modèle et lorsqu'une fois par ans (ou deux ans) je dois "dupliquer", je lance un "live" sur la machine virtuelle pour exécuter les commande suivantes :
↑ un certain temps…
Ensuite, sur chaque poste, je démarre un "live" et j'exécute :
↑ ± 8 minutes par poste
Attention ! ce ne sont pas des scripts ! Il s'agit de notes personnelles sur un wiki pour du copier coller avec prudence… Pour le hostname par exemple, il faut bien entendu adapter en fonction du nom que l'ont doit donner à la machine.
[^] # Re: Moi aussi :)
Posté par gnumdk (site web personnel) . Évalué à 5.
Deux remarques
- Pas besoin de sshfs: ssh user@host cat archimages/gnu-vm-sda1-root-20170804.tar.gz|tar --xattrs -xpzf -
- Pour 15 postes, autant envoyer l'image avec udp-sender, ce sera 1 fois 8 minutes ;)
[^] # Re: Moi aussi :)
Posté par ǝpɐןƃu∀ nǝıɥʇʇɐW-ǝɹɹǝıԀ (site web personnel) . Évalué à 8.
Plutôt que d'installer (puis de maintenir) 15 fois le même système, pourquoi ne pas utiliser PXE (pour peu que les machines soient connectées en permanence) ? Comme ça la duplication du système se fait avec :
C'est plus simple. non ?
N.B.: Ce qui précède est une taquinerie, PXE n'est pas approprié pour tous les environnements de travail.
« IRAFURORBREVISESTANIMUMREGEQUINISIPARETIMPERAT » — Odes — Horace
# Clonezilla ?
Posté par Ecran Plat (site web personnel) . Évalué à 5.
Moi j'utilise Clonezilla, bon il faut que le disque soit au moins de la même grandeur que l'original ou plus grand. Sinon il faut bricoler.
[^] # Re: Clonezilla ?
Posté par andr1107 (site web personnel) . Évalué à 0.
Bonjour
j'utilise également Clonezilla, j'ai une version un peu ancienne mais qui fonctionne bien pour l'utilisation que j'en fait.
[^] # Re: Clonezilla ?
Posté par ZeroHeure . Évalué à 3.
Si les disques ne sont pas de la même taille, tu peux utiliser FSArchiver.
"La liberté est à l'homme ce que les ailes sont à l'oiseau" Jean-Pierre Rosnay
[^] # Re: Clonezilla ?
Posté par gUI (Mastodon) . Évalué à 2.
Ou tar :)
En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.
[^] # Re: Clonezilla ?
Posté par gnumdk (site web personnel) . Évalué à 2.
Sinon, si on veut ne pas bricoler, il y'a FOG qui est juste un outils superbe au niveau de Ghost.
https://fogproject.org/
# installer GRUB sans chroot
Posté par ZeroHeure . Évalué à 2.
Petite précision : cette solution permet de s'en sortir quand on n'a pas d'outil à disposition, ni d'accès internet, ni même d'accès réseau! Encore faut-il se souvenir de tout… Pour éviter les soucis avec le montage de /proc /dev et /sys dans le chroot, on peut simplifier l'installation de Grub :
il faut modifier /boot/grub/grub.cfg sur l'ancien disque pour aller démarrer sur le nouveau (il suffit de changer l'UUID de la partition) ; une fois redémarré sur le nouveau disque on corrige /etc/initramfs-tools/conf.d/resume pour refaire l'image initramfs, on recrée un fichier /boot/grub/grub.cfg et on installe GRUB.
"La liberté est à l'homme ce que les ailes sont à l'oiseau" Jean-Pierre Rosnay
# et puis aussi
Posté par solsTiCe (site web personnel) . Évalué à 8.
Et puis il faut ensuite:
[^] # Re: et puis aussi
Posté par Xavier Combelle (site web personnel) . Évalué à 1.
Je me disais bien qu'il devait y avoir des trucs que faisait une install en plus de copier les fichiers.
[^] # Re: et puis aussi
Posté par ZeroHeure . Évalué à 4. Dernière modification le 29 septembre 2017 à 11:05.
C'est pour ça que j'ai marqué « réinstaller ». Dans mon esprit c'est une solution efficace pour remplacer un disque dur. Ou dépanner un ordi perso quand on n'a rien sous la main.
Dans un cadre pro ça n'a pas grand intéret, sauf avec un Unix ancien, customisé à mort, figé, etc. Mais là encore c'est plutôt pour remplacer le matériel.
Bref savoir qu'on peut le faire c'est utile.
"La liberté est à l'homme ce que les ailes sont à l'oiseau" Jean-Pierre Rosnay
[^] # Re: et puis aussi
Posté par Benoît Sibaud (site web personnel) . Évalué à 3.
/var/spool
) d'imprimante, de courriel, de tâches, etc. pour éviter de dupliquer des impressions, des courriels, etc./etc/mailname
)/etc/sudoers
qui peut contenir des noms de machineSuivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.