Dernière modification le 27/08/2021


rpi-clone

rpi-clone” est un script qui va permettre de cloner à la volée (et donc sans éteindre le Raspberry). Le script gère également la taille et le redimensionnement des partitions. Il permet de passer d'une carte SD de 4 GO vers une carte SD de 8GO (et n'importe quelles tailles) ou d'une carte SD de 8GO vers une carte SD de 4GO (si la taille utilisée est inférieure à 4Go bien sûr).

Le script permet deux modes de fonctionnement :

Non incrémenté

Avec le paramètre ”-f” le script crée la ou les partitions sur le support de destination et copier le système. Cette méthode est à utiliser pour la première fois.

Incrément

Il gère également la synchronisation incrémentale ! Après avoir effectué un clone avec le paramètre “-f”, supprimer le paramètre “-f”, beaucoup plus rapide (moins d'une minute pour avoir un clone à jour !) !


Installation

Le script “rpi-clone” est présent sur le cloud “GitHub”. Pour le récupérer, il faut la commande “git” qui n’est pas installée. Installer la commande “git” exécuter la ligne suivante :

apt install git

Ensuite, placez-vous dans votre répertoire personnel :

cd $HOME

Récupérer “rpi-clone” avec la commande :

git clone https://github.com/billw2/rpi-clone.git

Maintenant, vous avez un dossier “rpi-clone” dans votre répertoire personnel.
Placez-vous dans ce dossier “rpi-clone” :

cd rpi-clone

Il faut maintenant copier les deux fichiers “rpi-clone” et “rpi-clone-setup” dans le dossier “/usr/local/sbin” :

sudo cp rpi-clone rpi-clone-setup /usr/local/sbin

Maintenant, les commandes font partie du système.


Avant utilisation

Il est recommandé d’arrêter les services susceptibles de modifier le système, comme les services :

Par exemple pour arrêter les services, exécuter les commandes suivantes :

sudo service mysql stop
sudo service cron stop
sudo service apache2 stop

Lorsque l’opération de clonage est terminée il faut les redémarrer :

sudo service mysql start
sudo service cron start
sudo service apache2 start


Détection du support "clone"

Lorsque vous avez inséré la clé USB par exemple vérifier si le disque a bien monté et quel est son nom :

ls /dev/sd*
/dev/sda /dev/sda1 /dev/sda2

Dans le cas précédent, il y a bien un support “sda”, avec deux partitions. Donc notre support clone est “sda”.


Utilisation pour cloner avec partition

Pour une première utilisation (toujours, avec l’exemple de la clé USB clone en sda), donc avec création des partitions utilisez la commande :

sudo rpi-clone -f sda

Attention

Attention : toutes les données de la carte "clone" seront perdues !!

Erreur possible avec un support "bootable" :

Destination disk sda is the booted disk. Cannot clone!

Dans ce cas vous devez supprimer la partition “boot”.


Sur disque dur pour démarrage sans carte SD

Pour un clonage sur un disque dur afin de l’utiliser sur le Raspberry sans carte SD, il faut modifier le fichier “config.txt” de la partition “boot”. Ceci pour spécifier un démarrage sur port USB.
Ajouter le ligne et enregistrer :

program_usb_boot_mode=1


Utilisation pour cloner avec incrémentation

Pour une mise à jour de votre clone, utilisez la commande :

sudo rpi-clone sda

Il est donc possible de maintenir votre clone à jour en planifiant cette tâche dans “cron”, dans ce cas le paramètre “-u” doit être utilisé.