GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Linux/OS X-Tar-Inkompatibilität – Tarballs, die unter OS X erstellt wurden, geben Fehler aus, wenn sie unter Linux enttarnt werden

Ich habe nach der Fehlermeldung gegoogelt und es scheint ein BSD-Tar vs. GNU tar zu sein Problem.

Installieren Sie GNU tar wenn Sie können auf Mac OS und verwenden Sie das, um den tar zu erstellen .


Wenn Sie Mavericks oder neuer verwenden, ist gnutar standardmäßig nicht mehr enthalten.

Wenn Sie Homebrew verwenden, können Sie Folgendes umgehen:

brew install gnu-tar

Sie können dann den Befehl gtar verwenden für die Linux-Kompatibilität.

Wenn Sie tar ersetzen möchten mit gtar , ersetzen Sie einfach den Symlink

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

Führen Sie die obigen Befehle aus, um das mit Mac Os X bereitgestellte Original-Tar wiederherzustellen, aber ersetzen Sie which gtar mit which bsdtar

Quelle:
https://github.com/jordansissel/fpm/issues/576


GNU tar mag einige der optionalen Informationen nicht, die das standardmäßige OSX BSD tar enthält.

GNU tar lässt Sie diese Warnungen mit der Option unterdrücken:

--warning=no-unknown-keyword

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

Beachten Sie, dass BSD tar dieses Flag nicht unterstützt. Wenn Sie also denselben Entpackcode auf allen Plattformen ausführen müssen, können Sie Folgendes verwenden:

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. Linux – Was sind die verschiedenen Möglichkeiten zum Festlegen von Dateiberechtigungen usw. unter Gnu/Linux?

  2. Ganze Festplatte Linux sichern?

  3. Wann wurde die Datei erstellt?

  4. Wie man ein Verzeichnis unter Linux gzippt

  5. So finden Sie heraus, wann die Spfile auf einem Linux-Server erstellt wurde

Partitionieren Sie ein Laufwerk unter Linux mit GNU Parted

tar-Befehl in Linux mit Beispielen

Der Linux-tar-Befehl erklärt

APT Package Manager unter Linux erklärt

Linux – Wann sollte ich keinen -9 A-Prozess beenden?

Extrahieren Sie die tar.gz-Datei unter Linux