BashのTarballing:tarディレクトリの外側を指し示すリンクを間接参照する方法はありますか?

私は定期的に tar -h タグを使って、私がジップアップしているディレクトリからリンクされているすべてのライブラリを含むtarballを作成しますが、ディレクトリ内のすべての内部リンクを-tarballingします。

たとえば、2つの非常に大きなデータセットがあり、シンボリックリンクを使用してテストアプリケーションで使用するものを選択するので、そのうちの1つを2回取得することになります。これにより、tarballは必要以上に大きくなります

では、まだtarballに含まれていないファイルを指している場合に、 tar にリンクを間接参照するようにする方法はありますか?

ありがとう。

2

1 答え

代わりに find を使用して、 tar ボールに含めるファイルのリストを作成します。

find . -exec realpath '{}' ';' | sort | uniq | tar -T -
1
追加された
realpathの代わりに、readlink -fを試してみてください
追加された 著者 William Pursell,
realpath はあまり一般的ではありません。それはインストールされていないようです。
追加された 著者 thiton,
動作しません。連鎖の最初の部分は、 find: 'realpath':そのようなファイルまたはディレクトリがない行を返します。
追加された 著者 Chriszuma,