この点で、tarユーティリティの動作が異なるため、注意が必要です。作成しなかったtarファイルについては、抽出する前に常に目次をリストしてください。
Solaris tar:
指定されたファイルはtarfileから抽出され、現在のディレクトリを基準にしてtarfileで指定されたディレクトリに書き込まれます。抽出するファイルとディレクトリの相対パス名を使用します。
tarアーカイブに含まれる絶対パス名は、絶対パス名を使用して解凍されます。つまり、先頭のスラッシュ(/)は削除されません。
次のようなフル(絶対)パス名を持つtarファイルの場合:
/tmp/real-file
/etc/sneaky-file-here
...そのようなファイルを抽出すると、両方のファイルになります。
GNU tar:
デフォルトでは、GNU tarは/
入力または出力の先頭を削除し、..
コンポーネントを含むファイル名について文句を言います。この動作をオフにするオプションがあります。
--absolute-names
-P
ファイル名から先頭のスラッシュを削除せず、..
ファイル名コンポーネントを含むファイル名を許可します。
... オプションを使用せずに GNU tar を使用して完全パスのtarファイルを抽出する-P
と、次のように表示されます。
tar:/
メンバー名から先頭を削除
ファイルを現在のディレクトリのサブディレクトリに抽出します。
AIX tar:
これについては何も言わず、Solaris tarとして動作します。フル/絶対パス名でtarファイルを作成および抽出します。
HP-UX tar:(
より良いオンラインリファレンスを歓迎)
警告
絶対パス名を相対位置に復元する方法はありません。
OpenBSD tar:
-P
/
パス名から先頭のスラッシュ()を削除しないでください。デフォルトでは、先頭のスラッシュが削除されます。
macOS、FreeBSD、NetBSDにも同様のセマンティクスで-P
実装されtar
たオプションがありtar
、FreeBSDおよびmacOSでは「パス名に..
シンボリックリンクが含まれているか、ターゲットディレクトリが変更されるアーカイブエントリの抽出を拒否します」が追加されます-P
。
schilytoolsスター:
-/
アーカイブを抽出するときに、ファイル名から先頭のスラッシュを削除しないでください。通常、絶対パス名を含むtarアーカイブは悪い考えです。他のtar実装では、既存のファイルを上書きせずに展開することはできません。そのため、デフォルトでは、抽出モードではファイル名から先頭のスラッシュが削除されます。
-P
この点で動作に影響するオプションがあります。