nesmazatelne soubory s diakritikou

Miroslav Lachman 000.fbsd at quip.cz
Fri Sep 30 14:01:55 CEST 2011


Primountovano nasledujicim zpusobem:

mount -t smbfs -o -N,-EISO8859-2:UTF-8,-Lcs_CZ.ISO8859-2

setenv LANG jsem zkusil cs_CZ.ISO8859-2 i cs_CZ.UTF-8, v obou pripadech 
stejne chovani

Jindra Fucik wrote:
> Celkove si myslim, ze by bylo dobre nejak vyloucit shell z te operace.
> Napriklad sleduj rozdil mezi:
> rm -f nab*pdf
> rm -f "nab*pdf"

Vyzkouseno v tcsh i sh, rm volano jako rm i jako /bin/rm

# ls -l
-rwxr-xr-x  1 root  wheel   75721  1 lis  2010 novl n vrh.pdf
-rwxr-xr-x  1 root  wheel  436445  3 led  2011 p}ed vac! protokoly REAL 
3.pdf
-rwxr-xr-x  1 root  wheel  231111 28 čvc 16:37 vltah.pdf

Pokus v tcsh

# rm -i nov*
remove novl n vrh.pdf? y
rm: novl n vrh.pdf: No such file or directory

# rm -i nov\*
remove nov*? y
rm: nov*: No such file or directory

# rm -i "nov*"
remove nov*? y
rm: nov*: No such file or directory

# /bin/rm -i nov*
remove novl n vrh.pdf? y
rm: novl n vrh.pdf: No such file or directory

# /bin/rm -i "nov*"
remove nov*? y
rm: nov*: No such file or directory

Pokus v sh

# rm -i nov*
remove novl n vrh.pdf? y
rm: novl n vrh.pdf: No such file or directory

# /bin/rm -i nov*
remove novl n vrh.pdf? y
rm: novl n vrh.pdf: No such file or directory

# rm -i "nov*"
remove nov*? y
rm: nov*: No such file or directory

(dale se to opakuje uplne stejne jako v tcsh, takze to sem ani nepisu, 
at mail neni zbytecne dlouhy...)

>> A co treba find . -delete pustit v te slozce? Pak je mozne pouzit
>> utility jako detox, ktera to prejmenuje a pak to smazat.

find v nekolika variantach jsem zkousel hned na zacatku, bylo to i v tom 
prvnim e-mailu - dopadne to stejne "No such file or directory" a je 
jedno, jestli pouziju -delete, nebo -exec rm "{}", -exec rm '{}', xargs

Stejnym zpusobem selze i detox - sice vypise pri dry-run soubory, ktere 
by chtel prejmenovat, ale kdyz ho pustim naostro, tak na tech souborech 
konci se stejnou hlaskou "No such file or directory".

Cele jsem to jeste vyzkousel s nasledujicimi mount options a vysledek 
byl stejny - No such file or directory
mount -t smbfs -o -EISO8859-2:CP852,-Lcs_CZ.ISO8859-2
mount -t smbfs -o -EISO8859-2:CP850,-Lcs_CZ.ISO8859-2
mount -t smbfs -o -EISO8859-2:CP1251,-Lcs_CZ.ISO8859-2
mount -t smbfs -o -EISO8859-2:ISO8859-1,-Lcs_CZ.ISO8859-2

(zkousim uz cokoliv, co me napadne)

Chtel jsem se dopatrat funkcniho pustupu na FreeBSD, ale uz mi to zere 
vazne moc casu, tak se na to asi vykaslu. Z Windows ty soubory smazat 
jdou, tak je smazu z windows, kdyz se mi nikde nepodarilo vygooglit 
utilitu, ktera by dokazala smazat soubor podle jeho inode.

(na netu jsou HowTo, jak se ma pouzit find ./ -inum 123456 -exec rm {}, 
ale to nic neresi, to totiz zase preda tomu rm spatny nazev souboru)



Kazdopadne by me zajimalo, jestli nekomu na FreeBSD 8.2-RELEASE, ci 
pozdejsi 8-STABLE funguje skutecne ta konverze charsetu u mount_smbfs, 
protoze podle me na tomhle stroji nedela vubec nic!

Vytvoril jsem si z Windows na tom WD Datastore soubor s diakritikou v 
nazvu (vsechny znaky cestiny), ve Windows je vidim OK, pres NFS je vidim 
OK, pokud si vypis iconvem konvertuju z UTF-8 do ISO8859-2, ale at 
pouziju jakoukoliv variantu konverzni tabulky -E u mount_smbfs, tak je 
vidim spatne a porad stejne spatne. Pritom by se podle pouzite prevodni 
tabulky melo menit to, jak je vidim spatne (pokazde by se ty znaky mely 
prelozit na neco trochu jineho), ale to se nedeje!

Zaroven pres smbclient ty znaky vidim naprosto v poradku bez jakekoliv 
dalsi manualni konverze.


Takze je tu nekdo, kdo pouzivate FreeBSD 8.2 amd64 a mountujete nejaky 
smbfs share pomoci mount_smbfs a funguje vam konverze diakritiky?
S jakym nastavenim?

Opet predem diky za tipy

Mirek


More information about the Users-l mailing list