GNU/Linux >> Tutoriels Linux >  >> Linux

Incompatibilité tar Linux/OS X :les archives tar créées sous OS X génèrent des erreurs lorsqu'elles ne sont pas compressées sous Linux

J'ai recherché le message d'erreur sur Google et cela ressemble à un tar BSD contre GNU tar problème.

Installer GNU tar si vous le pouvez sur Mac OS et utilisez-le pour créer le tar .


Si vous utilisez Mavericks ou une version plus récente, gnutar n'est plus inclus par défaut.

La solution, si vous utilisez l'homebrew, consiste à exécuter ce qui suit :

brew install gnu-tar

Vous pouvez ensuite utiliser la commande gtar pour la compatibilité Linux.

Si vous souhaitez remplacer tar avec gtar , remplacez simplement le lien symbolique

tar --version
ll `which tar`
sudo unlink `which tar`
sudo ln -s `which gtar` /usr/bin/tar
tar --version

Pour restaurer le tar d'origine fourni avec Mac Os X, exécutez les commandes ci-dessus mais remplacez which gtar avec which bsdtar

La source:
https://github.com/jordansissel/fpm/issues/576


Le tar GNU n'aime pas certaines des informations facultatives incluses dans le tar OSX BSD par défaut.

GNU tar vous permettra de supprimer ces avertissements avec l'option :

--warning=no-unknown-keyword

Voir :https://www.gnu.org/software/tar/manual/html_section/tar_27.html

Notez que le tar BSD ne prend pas en charge cet indicateur, donc si vous devez exécuter le même code de décompression sur toutes les plates-formes, vous pouvez utiliser quelque chose comme :

isGnuTar=$(tar --version | grep -q 'gnu')
if [ $? -eq 0 ]
then
    echo "Detected GNU tar"
    tar --warning=no-unknown-keyword -zxf my.tar.gz
else
    tar -zxf my.tar.gz
fi

Linux
  1. APT Package Manager sur Linux expliqué

  2. Linux - Quelles sont les différentes façons de définir les autorisations de fichiers, etc. sur Gnu/linux ?

  3. Commande Linux tar

  4. Exemples de commandes tar sous Linux

  5. Linux peut-il nettoyer la mémoire ?

Partitionner un disque sous Linux avec GNU Parted

Commande tar sous Linux avec des exemples

La commande Linux tar expliquée

Comment compresser un répertoire sous Linux

Extraire le fichier tar.gz sous Linux

SQL Server sur Linux se bloque au démarrage initial, aucune erreur et aucun fichier ErrorLog nouveau/mis à jour