42 votes

Copier des fichiers sans perdre les permissions de fichiers/dossiers

Comment puis-je copier des fichiers/dossiers d'un ordinateur Ubuntu sur un système de fichiers ext4 vers un autre ordinateur Ubuntu également sur un système de fichiers ext4, en utilisant une clé USB qui utilise un système de fichiers vfat sans perdre les permissions de fichiers ?

J'ai essayé la méthode de base ctrl-c depuis l'ordinateur source, puis ctrl-v vers la clé USB, puis ctrl-c depuis la clé USB puis ctrl-v vers l'ordinateur cible, mais aucune des permissions de fichiers/dossiers ne reste intacte.

63voto

sierrasdetandil Points 2571

Vous pouvez créer une archive tar du code source, la copier sur l'autre ordinateur à l'aide d'une clé USB, et l'extraire là-bas. Tar préserve les autorisations des fichiers.

1 - Sur l'ordinateur source :

cd /chemin/vers/dossier/à/copier
tar cvpzf mettre_votre_nom_ici.tar.gz .

2 - Copiez mettre_votre_nom_ici.tar.gz sur la clé USB, puis sur l'autre ordinateur

3 - Sur l'ordinateur de destination :

cd /chemin/vers/dossier/de/destination
tar xpvzf mettre_votre_nom_ici.tar.gz

tar recréera la structure de dossiers archivée avec toutes les autorisations intactes.

Ces commandes archiveront le contenu du dossier source puis les extrairont dans le dossier de destination. Si vous souhaitez copier le dossier lui-même, alors vous devriez, à l'étape 1 :

cd /chemin/vers/dossier/parent
tar cvpzf mettre_votre_nom_ici.tar.gz dossier_à_copier

Le même mécanisme pourrait être utilisé pour des fichiers individuels.


Si vous pouvez vous connecter d'un ordinateur à l'autre en utilisant ssh, la réponse de @siddharthart (rsync) pourrait être plus pratique.

13voto

SiddharthaRT Points 5976

Vous pourriez essayer rsync avec le drapeau -a pour conserver toutes les autorisations lors de la copie. Je ne connais pas de solution plus simple, mais je l'avais utilisé à des fins dans le passé.

Rsync offre un excellent support pour la copie répétitive, la mise à jour des dossiers, etc. tout en restant incroyablement rapide.

6voto

mikewhatever Points 30768

Je pense que taring puis untaring devrait fonctionner sur les fichiers et répertoires.

pour tarrer:

tar cvpfz /cible.tar.gz /source/

pour untarrer:

tar xvpfz /source/

Le drapeau p signifie --preserve-permissions.

Consultez man tar pour plus d'informations.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X