Déplacer une hiérarchie

Comment déplacer sans prendre de risque une hiérarchie

logo imprimer
Enregistrer au format PDF

Déplacer la hiérarchie pourquoi faire ?

Certain(e)s préfèrent chier sur leur hiérarchie, quand on s’occupe d’une Debian on peut avoir besoin de la jeter, ou alors simplement de la déplacer.

C’est quoi une hiérarchie docteur ?

Tout simplement un répertoire, avec tous les fichiers et sous-répertoires qu’il contient.

Une hiérarchie peut aussi être vue comme un arbre, le répertoire de plus haut niveau sera la racine. D’ailleurs dans cet article on l’appellera racine, on supposera qu’elle est dans un répertoire appelé /source et on essaiera de déplacer /source/racine dans le répertoire /destination, de sorte que son nouveau chemin sera /destination/racine

Quelle que soit l’analogie employée c’est un truc pas toujours simple à gérer, parce sous ses airs gentillets que ça peut être très encombrant, une hiérarchie !

Supprimer une hiérarchie

Très simple... et très dangereux, surtout si on est root !

Déplacer la hiérarchie sur le même système de fichiers

Si le répertoire destination est sur le même système de fichiers [1] que racine, c’est très simple, très rapide quelque soit la taille de la hiérarchie, et sans danger :

Déplacer la hiérarchie sur un autre système de fichiers

Là c’est beaucoup plus dangereux : la commande précédente est utilisable, mais je vous recommande de ne jamais l’utiliser, surtout si votre hiérarchie est grosse et contient des données importantes. En effet, cette opération peut être très dangereuse, car elle revient à prendre les fichiers un par un, les copier du disque source vers le disque destination, puis les effacer du disque source. Mais que se passe-t-il si le système de fichiers de destination vient à être plein au milieu de l’opération ? Ou la destination est un disque réseau et que le réseau tombe en panne ? La commande s’arrête, et vous ne savez plus où vous en êtes. Il y a même risque de perte de données.

Et pourtant, il est parfois nécessaire de déplacer une hiérarchie d’un disque sur un autre, tout simplement pour des questions de place.

Une méthode plus sûre

La méthode suivante est sans doute plus longue [2], mais incomparablement plus sûre.

Évaluer la place nécessaire
  1. La première chose à faire est de mesurer la place prise par la hiérarchie sur le disque source :

  2. Ensuite, vérifiez que vous avez de la place sur la destination :

  3. Si c’est bon, copiez (cp) votre hiérarchie sur sa nouvelle destination, tout en gardant les dates et les permissions des différents fichiers (-a). Après cette opération, notez que vous aurez deux exemplaires de votre hiérarchie !

  4. Maintenant, vérifiez que la copie a correctement fonctionné, la commande ci-dessous ne doit rien renvoyer :

  5. Si tout est correct, vous pouvez supprimer la hiérarchie source :

  6. Mais peut-être cette hiérarchie est-elle utilisée dans un logiciel qui veut absolument l’appeler /source/racine ? vous pouvez "faire comme si", en créant un lien symbolique depuis l’ancien chemin vers le nouveau :

    • NOTE - La commande ln fonctionne en spécifiant d’abord la cible, ensuite le nom du lien. Si vous ne vous en souvenez pas, dites-vous que c’est pareil qu’une copie de fichiers : on spécifie d’abord le fichier ou le répertoire qui existe, ensuite le fichier ou répertoire qui va être copié. C’est tout pareil pour les liens !

Et voilà, votre hiérarchie a changé de système de fichiers !

Notes :

[1par exemple la même partition

[2La durée dépend du nombre et de la taille de vos fichiers





Site réalisé sous SPIP
avec le squelette ESCAL-V3
Version : 3.87.19
Hébergeur : chezlagrenouille.fr