DVD-RAM a UDF

Miroslav BENES miroslav.benes na zdas.cz
Pondělí Březen 7 09:27:05 CET 2005


>>
>> BTW nepříjemné je, že se po přijení (podle bodu 4) nedají zapisovat 
>> soubory s diakritikou v názvu - mc hlásí že je jméno souboru příliš 
>> dlouhé (10 znaků). Přitom bez diakritiky uloží i mnohem delší ..
>
>
> Nepoužívejte MC prostě to neumí (diakritiku) taky jsem teď musel 
> upravovat disk s fat a nechtěl mi některé soubory smazat (právama to 
> není) z kde i z příkazové řádky to šlo.
> Prostě jak je v nazvu mezera český znak nebo něco podobného tak se 
> stím neumí MC pořádně vyrovnat - po příčině jsem nepátral.


To je s prominutím nesmysl :

a) mc na RH9 _umí_ pracovat s diakritikou (iso9660,vfat)
b) stejnou chybu ("jméno příliš dlouhé") hlásí i prosté kopírování s cp

Takže mc je v tom nevině.


Zkoušel jsem se dívat do zdrojáků jádra (2.4.18) a zakopaný pes je asi 
zde (/usr/linux/fs/udf/namei.c) :
...
if (dentry)
        {
                if (!dentry->d_name.len)
                {
                        *err = -EINVAL;
                        return NULL;
                }

                if ( !(udf_char_to_ustr(&unifilename, 
dentry->d_name.name, dentry->d_name.len)) )
                {
                        *err = -ENAMETOOLONG;
                        return NULL;
                }

                if (UDF_QUERY_FLAG(sb, UDF_FLAG_UTF8))
                {
                        if ( !(namelen = udf_UTF8toCS0(name, 
&unifilename, UDF_NAME_LEN)) )
                        {
                                *err = -ENAMETOOLONG;
                                return NULL;
                        }
                }
                else if (UDF_QUERY_FLAG(sb, UDF_FLAG_NLS_MAP))
                {
                        if ( !(namelen = 
udf_NLStoCS0(UDF_SB(sb)->s_nls_map, name, &unifilename, UDF_NAME_LEN)) )
                        {
                                *err = -ENAMETOOLONG;
                                return NULL;
                        }
                }
                else
                        return NULL;
        }
...


Takže pokud se mu nelíbí délka názvu překódovaná z UDF na CS0 (OSTA 
Compressed Unicode ??) nobo zpět, pak si stěžuje chybou "jméno příliš 
dlouhé".

Dalšími pokusy jsem zjistil :

 - vypadá to že není žádný problém pokud diskritika obsahuje jen znaky 
obsažené i v iso8859-1 (ýáíé)

 - pokud svazek při připojování nepoužiju volbu "iocharset=.." ani 
"utf8", pak se dá bez protestů uložit i soubor s "českými" diakritickými 
znaky, ale tyto jsou zobrazeny špatně (z linuxu hned po nakopírování 
jako paznaky, z Woken jako otazníky); soubory uložené z Woken mají 
diakritiku v názvech také zmršenou

 - pokud svazek připojím pomocí "iocharset=iso8859-2", pak se soubory  s 
diakritikou v názvu uložené dříve ve Woknech zobrazí správně (a dají se 
zkopírovat/otevřít). Kopírování "bez háčků" projde, znaky s "háčky" 
neprojdou - je hlášena chyba "dlouhé jméno souboru"

 - pokud svazek připojím pomocí "utf8", pak se soubory s diakritikou v 
názvu uložené dříve ve Woknech zobrazí _asi_ správně (tak nějak IMHO 
vypadá UTF8 text na systému s iso8859-2), ale nově ukládáný soubor s 
diakritikou vypadá jinak než soubor stejného jména uložený z Woken - 
toto ale může mít na svědomí systém, který utf8 nepodporuje.

Takže závěr : Protože můj RH9 nepodporuje utf8, nedá se na DVD-RAM 
zformátovaném jako udf pracovat korektně s diakritikou. Ale s velkou 
pravděpodobností to bude pracovat na systému s plnou podporou utf8. 
Protoe ale zatím musím zůstat u RH9 (a hlavně iso8859-2), vykašlu se 
zatím na kompatibilitu s Wokny a naformátuju to DVD-RAM médium jako ext2.

Doplňkové dotazy :
------------------
 a) mám místo ext2 použít ext3 ? Sice bych se data míň bál (jenže pokud 
na to médium budu jen zálohovat, pak pravěpodobnost výpadku proudu 
zrovna během kopírování ja malá), ale na druhou stranu by se při každém 
zápisu opakovaně "ošoupávaly" sektory na kterých je žurnál. A navíc by 
ten zápis byl cca 2x pomalejší. Nebo se platu ?

 b) které live-distro by se dalo použít na případnou obnovu dat z 
DVD-RAM pokud bych uvažoval o používání formátu udf ? Tedy které 
live-distro si rozumí s mechanikou DVD-RAM, umí bez problému pracovat s 
udf, běží na utf8 a není moc velké ?


Předem děkuji za náměty a nápady.


Miroslav BENEŠ
System administrator
ŽĎAS a.s.








Další informace o konferenci Linux