OT: Re: Zmena jmena v multisession

Petr Nejedlý P.Nejedly na sh.cvut.cz
Neděle Říjen 31 15:16:32 CET 1999


Pozor, dlouhe!!!

xbatko na spider.ascs.muni.cz wrote:
> 
> Preju hezky den
> 
> Chtel jsem se zeptat, jestli nekdo nezkousel nasledujici.
> 
> Mam multisession CD (neuzavrene), na kterem jsou nejaka data. A ja bych
> potreboval zmenit jmeno adresare na te jiz existujici session, ale tak,
> aby se ta data fyzicky znovu nekopirovala (dalo by se samozrejme nastavit
> -hide na puvodni adresar a dat tam novy).
> 
> Podle specifikace rozsireni multisession by to teoreticky melo jit (proste
> se zkopiruji relevantni adresarove tabulky s odkazy na puvodni data), ale
> v dokumentaci k mkisofs a mkhybrid jsem nic takoveho nenasel ;(
> 

No, ja bych zkusil ten adresar vytvorit jako novy, prazdny, na spravnem
miste a s nim udelat image pro dalsi session. Pote bych se do puvodni
session podival (hexaeditorem) na ktery blok to ukazovalo a u toho
noveho v nove session bych to tim prepsal. Jeste by tedy take chtelo,
aby se v novem image ten stary adresar neobjevil - cili asi to hide.
Pak me jeste napada, ze pokud by se do puvodni adresarove polozky veslo
to nove jmeno, stacilo by v novem image to stare jmeno prepsat a upravit
padding. Jo a taky je potreba prepsat polozku v Path Table a ty jsou dve
(jedna pro LI, jedna pro BI).
Tak, to je pro ISO9660, s RockRidge extension je to trochu slozitejsi
(je potreba prepsat i RR nazev, ktery je hned za danou adresarovou
polozkou)
Co se jolietu tyce, ani bych to nezkousel :-(, 4x path table (2 v
unicode),
opet vice adresarovych polozek...

Pro jistotu posilam popis adresarove polozky:
LEN		1Byte		Length of dir. record
EA_LEN		1Byte		Length of extended atributes
LOC		8Bytes		Where the file is located, Big endial, Little endian
FILE_LEN	8Bytes		Length of file, BI, LI
DATE		7Bytes		Date
FLAGS		1Byte		File attributes
FUS		1Byte		File Unit Size - for interleaving, 0
IGS		1Byte		Interleave Gap Size, 0
VSN		4Bytes		Volume sequence number BI, LI
LEN_FI		1Byte		Length of file identifier
FI		(LEN_FI)Bytes	Name of file/dir
PAD		0/1Byte		To align on odd byte, always contains 0
SU		??		System use.

Path Table item (2 ruzne Path tables, jedna pro LI, jedna pro BI):
LEN_DI		1Byte		Length of NAME (not whole item)
EA_LEN		1Byte		Length of extended attributes
LOC		4Byte		Where the file is located, only one endiannes
PARENT		2Byte		Number of item for parent dir in pathtable
DI		(LEN_DI)Bytes	Name of directory
PAD		0/1Byte		Padding


Uff, tak s timhle by se to dalo zvladnout. Happy hacking :-)

Nenik


Další informace o konferenci Linux