ajout tuto cloner et publication autrement dit

This commit is contained in:
tierce 2022-02-15 12:21:06 +01:00
parent fc8e3789ec
commit 9dc8073b70
Signed by: tierce
GPG Key ID: 56BF2A3A07DDEB1F
2 changed files with 125 additions and 2 deletions

View File

@ -5,7 +5,7 @@ subtitle: Quittons Google®
date: 2021-12-10
author: tierce
modified: 2022-01-28
status: draft
status: published
---
Un coup de téléphone. *« salut, là où je viens de commencer un nouveau boulot, c'est une petite assoss, on voudrait quitter Google® et puisque les ordis sont en linux, j'ai pensé à vous. »*.
@ -73,4 +73,6 @@ En gros les principes sont les suivants;
Mais si vous voulez plus de détails, n'hésitez pas à parcourir nos [tutoriels](/tutos/).
## Reprendre la main sur le nom de domaine
## Reprendre la main sur le nom de domaine
À venir…

121
content/tutos/clone.md Normal file
View File

@ -0,0 +1,121 @@
---
pagename: Cloner un disque
title: Même plus grands que la destination
subtitle: Pour un ordinateur GNU/Linux !
date: 2022-01-21
author: ptr
---
L'idée est de cloner un disque HDD de 500GB vers un disque SSD de 240GB **à condition** qu'il y moins de 240GB d'utilisés sur le disque d'origine. C'est souvent le cas pour des ordinateurs utilisés dans un bureau parce que la plupart des données sont sur un serveur et que les disques d'origines contiennent principallement le système d'exploitation, les applications et peut-être l'un ou l'autre profile utilisateur·ice dans `/home`.
**Attention** cela fonctionne pour des disques qui ont été installés **sans** [UEFI](https://fr.wikipedia.org/wiki/UEFI) et donc sur du matériel qui supporte encore des [BIOS](https://fr.wikipedia.org/wiki/BIOS_(informatique)) plus anciens *(legacy)*.
Toutes les commandes sont à faire avec les droits de `root`.
## Sur l'ordinateur de destination
On part du principe qu'un ordinateur plus récent, équipé d'un disque SSD de 240GB permet de brancher l'ancien disque de 500GB. En 2022, c'est tout à fait possible en SATA et au pire, il faut peut-être prévoir de mettre le vieux disque HDD dans un boitier USB externe et faire la procédure en utilisant un port USB au lieu d'un port SATA.
## Booter avec un clé UBS
Nous utilisons [System Rescue](https://www.system-rescue.org/) parce qu'il est basé sur [Archlinux](https://fr.wikipedia.org/wiki/Arch_Linux) et qu'il contient l'outil `arch-chroot` dont nous aurons besoin.
De plus, en démarrant le PC, on peut choisir de *charger l'OS dans la RAM*, ce qui permet de libérer la clé USB et de faire d'autres ordinateurs en parallèle sans avoir besoin d'une clé USB bootable par machine.
Donc, au démarrage, il faut choisir l'option `copy to ram`.
## Partitionner le nouveau disque
L'idée ici est d'avoir une partition racine `/` qui contiendra tout le système et une seconde partition plus petite pour en faire une `swap`.
Avec les deux disques branchés dans la machine.
Bien identifier le nouveau SSD de 240GB et l'ancien HDD de 500GB.
```
# lsblk -fs
```
Et partitionner le nouveau disque, dans notre cas il s'appelle `/dev/sdb` mais ça pourrait être différent pour vous.
**Ne vous trompez pas de disque !**
La commande `fdisk` se gère avec des commandes comme `o, n, p, t, a, w` mais vous comprendrez dés que vous aurez exécuté `fdisk /dev/sdX` *(ou X est votre nouveau disque SSD)*.
```
# fdisk /dev/sdb
o (vire tout)
n p enter -10G
n p enter enter
t 2 82
a 1
w
```
## Formater et créer une swap
Les deux partitions ayant été créés, il faut maintenant formater la première *(en ext4 dans notre cas)* et créer une `swap` sur la seconde.
```
# mkfs.ext4 /dev/sdb1
# mkswap /dev/sdb2
```
## Monter les deux disques
Maintenant, l'ancien disque HDD et le nouveau SSD sont utilisables et nous pouvons les monter pour avoir accès à leur système de fichier.
```
# mkdir /vieudisk
# mkdir /newdisk
# mount -o ro /dev/sda1 /vieudisk
# mount /dev/sdb1 /newdisk
```
## Recopier tout le système
Et ensuite, copier tout le système, les applications, les données, les journeaux, etc. de l'ancien disque vers le nouveau avec la commande `rsync`.
```
# rsync -av /vieudisk/ /newdisk/
```
## Finaliser le travail sur le nouveau disque
Nous allons activer la `swap` pour que l'utilitaire `genfstab` que nous exécuterons puisse l'identifer et l'inscrire dans la `fstab`.
```
# swapon /dev/sdb2
# genfstab -U /newdisk/ > /newdisk/etc/fstab
```
Et maintenant nous pouvons installer le secteur d'amorçage avec `grub-install` et `arch-chroot` pour quitter le système de fichier de System Rescue et utiliser le système de fichier du nouveau disque SSD. Le `kernel` permet de changer de racine lorsqu'on lui demande, ce qui dans le jargon porte le doux nom de `chrooter` le système en cours de fonctionnement.
```
# arch-chroot /newdisk
# export PATH=/bin:/sbin:/usr/bin:/usr/sbin
# grub-install /dev/sdb # ou si cela ne fonctionne pas, essayez la commande suivante
# grub-install --boot-directory=/newdisk/boot/ /dev/sdb
# update-grub
```
Et tant que nous sommes sur le nouveau système avec notre `kernel chrooté`, nous en profitons pour activer `fstrim` qui a la responsabilité de libérer les blocks du disque SSD lorsque des données seront supprimées.
```
# systemctl enable fstrim.timer
```
Et pour terminer, nous utilisons `sync` pour demander au `kernel` de terminer et clôturer les oppérations d'écritures sur les disques, cela nous assure qu'il n'y a pas encore des oppérations en attente dans le cache et cela évite la corruption de données. Et nous pouvons éteindre l'ordinateur avec `poweroff`.
```
# sync
# poweroff
```
## Enlever le vieux disque et démarrer
Il reste à déconnecter l'ancien disque HDD de la machine et l'allumer.
Si la distribution GNU/Linux d'origine n'est pas trop vielle et que le noyaux trouve de quoi piloter le matériel de la nouvelle machine, l'ordinateur devrait fonctionner sur ce nouveau matériel.
Voilà ! Nous avons « cloné » un système complet autrement qu'en utilisant, par exemple `dd` ou `ddrescue` pour faire des copies bit à bit complète, y compris des secteurs non utilisés et/ou `gparted` pour redimensionner le disque trop grand *(500GB > 240GB)*.