Introduction
Si tu utilises un Mac pour le développement mais que tes déploiements se font sur des serveurs Linux, tu as peut-être déjà rencontré des problèmes en extrayant des fichiers tar.gz créés sur macOS. Cet article va t'expliquer pourquoi ces erreurs surviennent et comment les éviter, avec des solutions concrètes et efficaces.
Création de fichiers tar sur macOS
Sur macOS, créer un fichier tar.gz est simple. Par exemple, pour compresser un répertoire nommé pix, tu utiliserais la commande suivante :
``bash tar -cvzf pix.tar.gz pix ``
Ensuite, tu transfères ce fichier vers un serveur Linux via SCP :
``bash scp pix.tar.gz [email protected]:/tmp/ ``
Problèmes lors de l'extraction sur Linux
Lorsque tu essaies d'extraire ce fichier sur un serveur Linux, des messages d'erreur peuvent apparaître :
``bash cd /tmp tar -xzvf pix.tar.gz ``
Erreurs fréquentes
On observe souvent des erreurs comme :
tar: Ignoring unknown extended header keyword 'LIBARCHIVE.xattr.com.apple.quarantine'
Ces erreurs sont dues à des métadonnées spécifiques à macOS, intégrées par défaut dans les fichiers tar.
Pourquoi ces erreurs apparaissent-elles ?
macOS utilise le système de fichiers HFS+ ou APFS, qui stocke des métadonnées supplémentaires dans les fichiers. Lors de la création d'un fichier tar, ces métadonnées sont incluses, mais elles ne sont pas reconnues par les systèmes Linux.
Solutions pour éviter les erreurs
Solution 1: Utiliser l'option --no-xattrs
Une solution simple est d'utiliser l'option --no-xattrs lors de la création du fichier tar pour exclure ces métadonnées :
``bash tar --no-xattrs -cvzf pix.tar.gz pix ``
Solution 2: Utiliser l'option --disable-copyfile
Une autre option est d'ajouter --disable-copyfile pour éviter la copie des fichiers ._ :
``bash tar --disable-copyfile -cvzf pix.tar.gz pix ``
Solution 3: Utiliser gnu-tar
Installer et utiliser gnu-tar au lieu de bsdtar sur macOS peut aussi résoudre ces problèmes car il gère mieux les métadonnées :
``bash brew install gnu-tar gtar -cvzf pix.tar.gz pix ``
Conclusion
En connaissant ces solutions, tu peux éviter les erreurs lors de l'extraction de fichiers tar créés sur macOS sur des systèmes Linux. Ces ajustements simples garantissent un déploiement sans accroc.
Discutons de ton projet en 15 minutes.