ReiserFS charset/mount gond

Fórumok

Hi!

a következő problémával fordulok a közösséghez:

Van egy régi particióm(reiserfs) amin van egy nagycsomo konyvtár telis tele apro fileokkal amiknek 90% ékezetes névvel rendelkezik és persze az egész filerendszer iso8859-2 karakterkészlettel készült.
Namármost ubuntu nagy örömömre váltott utf8ra, én meg kis naivan gondoltam semmi gond fstabba iocharset... és már megy is... hát nem nyertem mert reiserfs barátunk nem ismeri ezt a mount opciót, így marad a ékezetes karakterek helyettesítése kérdőjellel.

szoval kérném a segitségeteket hogy hogyan lehetne ezt a gondot megoldani ha lehet anélkül hogy az egészet átkonvertálnám utf8ra

thx!!

Hozzászólások

Anélkül szerintem egyáltalán nem lehet, hacsaknem olyasmi gányolásokkal, mint egy megfelelő fuse-n vagy ld_preload-os library-n keresztül nézed a fájlrendszert, amire nem tudok róla hogy lenne előre elkészített szoftver.

Az iocharset opció csak a Windows szemléletű fájlrendszereknél működik (ahol a fájlnév mindenképpen UTF-16-ban van tárolva, ami a Linux számára semmiképp sem jó, mert nem ascii-kompatibilis). A Linux/Unix szemléletű fájlrendszerek esetén (ahol a fájlnév egy ascii-kompatibilis bytesorozat egy meghatározatlan karakterkészletben) sajnos nem nyújt lehetőséget a kernel karakterkészlet-konverzióra.

Egyébként konvertálásra ajánlom a convmv parancsot. Ne félj tőle, ha az ember egyszer átáll UTF-8 kódolásra, aligha van egyetlen józan érv is ami miatt vissza akarna állni később Latin2-re.

probáltam használni a convmv de a következőt kaptam:


root@Reaktor:/mnt/DataSAM-Reiser/Anita# ls
Keba  koll?giumi lemnod?s.doc  Megold?sok.zip  ?n?letrajz.doc  Sorok.zip
root@Reaktor:/mnt/DataSAM-Reiser/Anita# convmv koll▒giumi\ lemnod▒s.doc -f iso8859-2 -t utf8
Skipping, already UTF-8: ./koll▒giumi lemnod▒s.doc
No changes to your files done. Use --notest to finally rename the files.
root@Reaktor:/mnt/DataSAM-Reiser/Anita#

(megprobáltam megnézni hogy mi van akkor ha a terminálon átállítom a kódolást iso-ra(pl puttyban a translation-nél), igy a file nevek tök jok, viszont az összes többi nem)

ugyhogy további ötleteket kérek

Azok a téglalapok hogy kerülnek oda? Szerintem tök rossz fájlnevet adsz be a convmv-nek. Vagy nem tudom. Próbáld úgy, hogy a convmv-nek * argumentumot adsz (vagy mondjuk *.doc, de a paracssorba ne írj ékezetet és ne hagyd hogy a TAB-os kiegészítés olyat rakjon).

Ha nem megy, akkor ki kéne elemezni valami hex viewerrel hogy a fájlnevek milyen byte-okat tartalmaznak, valóban latin2-e. Például echo * > foo, majd foo megnézése valami hex viewerrel.

Továbbá megpróbálnám esetleg a latin2-es terminálból indítani a convmv-t.

Nagyon-nagyon fontos!!! A terminál tényleges kódolása és a megfelelő locale változók által meghatározott kódlap (LANG, LC_CTYPE, LC_ALL változók, a "locale charmap" kiírja a vélt karakterkészletet) minden esetben meg kell hogy egyezzenek, ellenkező esetben nem várható el helyes működés sok-sok alkalmazástól. Ha a bash szolgáltatásait (parancssor-szerkesztés, tab-os kiegészítés, stb.) használod, fontos, hogy a két dolog már a bash indítása _előtt_ be legyen állítva összeillőre. Tehát például putty-ban (minek ssh-zol? pterm!) szóval először állítsd be a locale-t hu_HU-ra, és utána indítsd el a pterm-et iso8859-2 módban, ekkor kapsz egy jó latin2-es környezetet.