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