Saya mencari pesan kesalahan di Google dan sepertinya tar BSD vs. GNU tar
masalah.
Instal GNU tar
jika Anda bisa di Mac OS dan menggunakannya untuk membuat tar
.
Jika Anda menggunakan Mavericks atau yang lebih baru, maka gnutar tidak lagi disertakan secara default.
Solusinya, jika Anda menggunakan homebrew, adalah menjalankan yang berikut:
brew install gnu-tar
Anda kemudian dapat menggunakan perintah gtar
untuk kompatibilitas linux.
Jika Anda ingin mengganti tar
dengan gtar
, cukup ganti symlink
tar --version
ll `which tar`
sudo unlink `which tar`
sudo ln -s `which gtar` /usr/bin/tar
tar --version
Untuk memulihkan tar asli yang disediakan dengan Mac Os X, jalankan perintah di atas tetapi ganti which gtar
dengan which bsdtar
Sumber:
https://github.com/jordansissel/fpm/issues/576
Tar GNU tidak menyukai beberapa informasi opsional yang disertakan oleh tar OSX BSD default.
Tar GNU akan membiarkan Anda menyembunyikan peringatan tersebut dengan opsi:
--warning=no-unknown-keyword
Lihat:https://www.gnu.org/software/tar/manual/html_section/tar_27.html
Perhatikan bahwa tar BSD tidak mendukung flag tersebut, jadi jika Anda perlu menjalankan kode unpacking yang sama di semua platform, Anda dapat menggunakan sesuatu seperti:
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