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
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.
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.