I read che un tipo di voce tar di "L" (76) viene utilizzato dalle utility tar di gnu tar e gnu per indicare che la voce successiva nell'archivio ha un nome "lungo". In questo caso il blocco di intestazione con il tipo di voce "L" codifica in genere il nome ././@LongLink.Che cosa è esattamente il tar di GNU ././@LongLink "trucco"?
La mia domanda è: dove è il formato del prossimo blocco descritto?
Il formato di un archivio tar è molto semplice: è solo una serie di blocchi da 512 byte. Nel caso normale, ogni file in un archivio tar è rappresentato come una serie di blocchi. Il primo blocco è un blocco di intestazione, contenente il nome del file, il tipo di voce, l'ora modificata e altri metadati. Quindi seguono i dati del file non elaborato, utilizzando tutti i blocchi di 512 byte necessari. Quindi la prossima voce.
Se il nome del file è più lungo di quello che verrà inserito nello spazio assegnato nel blocco di intestazione, gnu tar utilizza apparentemente il cosiddetto "trucco ././@LongLink". Non riesco a trovare una descrizione precisa per questo.
Quando il tipo di voce è 'L', come faccio a sapere quanto è lungo il nomefile "lungo"? Il nome lungo è limitato a 512 byte, in altre parole, qualunque cosa si adatti in un blocco?
Principalmente: dove è documentato?
Qualcuno ha votato per chiudere questo come non relativo alla programmazione. In realtà, è legato alla programmazione, perché sto cercando di creare un tar in .NET che supporti il trucco LongName di GNU. Se avessi solo bisogno di estrarre un archivio, potrei ovviamente usare semplicemente gnu's tar, e non avrei bisogno della risposta a questa domanda. – Cheeso