Tuesday, August 14, 2012

Copier la partition système d'une machine à une autre en préservant les id/gid

De façon générale pour copier la partition racine d'un disque à un autre, par exemple depuis un live CD, on peut utiliser la commande suivante:

cd /OLD
tar --numeric-owner -cpf - . | (cd /NEW && tar -xpf - )

L'option de tar --numeric-owner est ici capitale pour que chaque utilisateur retrouve bien ses fichiers à l'arrivée. Si votre système de fichier /OLD contient un fichier /OLD/postgresql (uid 1000) et que votre live CD contient l'utilisateur demo aussi avec un uid de 1000, sans cette option, tar recréera /NEW/postgresql en l'affectant à l'utilisateur demo ...

GNU Tar et le  tar de libarchive (utilisé par exemple sur FreeBSD) possèdent cette option.


No comments: