tarルート(/)をtarアーカイブに/ abcとして表示したいと思います。
カスタムトップレベル名を指定するためのtarフラグはありますか?
ベストアンサー1
私が見つけることができる最も近いのは--transform
オプションです。わかりませんが、これがGNU専用フラグのようです。
--transform, --xform EXPRESSION
use sed replace EXPRESSION to transform file names
sed
これを使用して交換コマンドを渡し、次/
のように変更できます/abc
。
tar cf root.tgz --transform 's/^\//\/abc/' /
/
アーカイブを作成すると、パスは引き続き印刷されますが、/abc
アーカイブを抽出するとパスになります。
tar
そのオプションがない場合、--transform
別のアプローチは/abc
シンボリックリンクを作成して/
tarすることです。
$ ln -s / /abc
$ tar chf root.tgz /abc
これは人々にリンクをたどるように-h
指示するので重要です。tar
-h, --dereference
follow symlinks; archive and dump the files they point to
/abc
これは最上位ディレクトリに設定される効果があります。