GNU/Linux >> Znalost Linux >  >> Linux

Nekompatibilita tar Linux / OS X – tarbally vytvořené v OS X dávají chyby, když se v Linuxu rozbalí

Vyhledal jsem chybovou zprávu na Googlu a vypadá to jako BSD tar vs. GNU tar problém.

Nainstalujte GNU tar pokud můžete na Mac OS a použijte to k vytvoření tar .


Pokud používáte Mavericks nebo novější, pak gnutar již není ve výchozím nastavení zahrnut.

Řešením, pokud používáte homebrew, je provést následující:

brew install gnu-tar

Poté můžete použít příkaz gtar pro linuxovou kompatibilitu.

Pokud chcete nahradit tar s gtar , jednoduše nahraďte symbolický odkaz

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

Chcete-li obnovit původní tar poskytovaný s Mac OS X, spusťte výše uvedené příkazy, ale nahraďte which gtar s which bsdtar

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


GNU tar nemá rád některé volitelné informace, které výchozí OSX BSD tar obsahuje.

GNU tar vám umožní potlačit tato varování volbou:

--warning=no-unknown-keyword

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

Všimněte si, že BSD tar nepodporuje tento příznak, takže pokud potřebujete spustit stejný kód pro rozbalení na všech platformách, můžete použít něco jako:

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. Příklady příkazů tar v Linuxu

  2. historie dostupnosti linuxu

  3. Počítá GNU/Linux procesy a vlákna dohromady, když omezím jejich počet?

  1. Rozdělte disk na Linuxu pomocí GNU Parted

  2. Jak přesunout oddíl v GNU/Linuxu?

  3. SQL Server v systému Linux zamrzne při prvním spuštění, žádné chyby a žádný nový / aktualizovaný soubor ErrorLog

  1. Vysvětlení správce balíčků APT v systému Linux

  2. Linux – Jaké jsou různé způsoby nastavení oprávnění k souborům atd. na Gnu/linux?

  3. Příkaz tar pro Linux