「L」(76) の tar エントリ タイプは、gnu tar および gnu 準拠の tar ユーティリティで使用され、アーカイブ内の次のエントリが「長い」名前であることを示していることを読みました。この場合、エントリ タイプが「L」のヘッダー ブロックは通常、名前 ././@LongLink をエンコードします。
私の質問は:次のブロックのフォーマットはどこに記述されていますか?
tar アーカイブの形式は非常に単純です。つまり、一連の 512 バイト ブロックです。通常、tar アーカイブ内の各ファイルは、一連のブロックとして表されます。最初のブロックはヘッダー ブロックで、ファイル名、エントリ タイプ、変更時刻、およびその他のメタデータが含まれます。次に、必要な数の 512 バイト ブロックを使用して、未加工のファイル データが続きます。それでは次のエントリー。
ファイル名がヘッダー ブロックに割り当てられたスペースに収まらない場合、gnu tar は明らかに「././@LongLink トリック」として知られているものを使用します。私はそれについての正確な説明を見つけることができません。
エントリ タイプが「L」の場合、「長い」ファイル名の長さを知るにはどうすればよいですか? 長い名前は 512 バイト、つまり 1 つのブロックに収まるものに制限されていますか?
最も重要なこと:これはどこに文書化されていますか?