locale chroot jailben

 ( demian | 2005. január 11., kedd - 20:03 )

Hozzászólás megjelenítési lehetőségek

A választott hozzászólás megjelenítési mód a „Beállítás” gombbal rögzíthető.

sziasztok!

az alábbi bajom van: az egyik általam menedzselt szerveren fut egy chrootolt Apache+PHP. a PHP-ben az strftime függvény által adott dátumokban a hónapnevek és a napnevek angolul vannak, pedig egyrészt az Apache ENV-jében is be van állítva, hogy LANG=hu_HU (a phpinfo() szerint is), másrészt a chroot-ba belépve a locale parancs szerint is be van állítva. arra gondoltam, hogy valószínűleg a locale fájlok nincsenek rendesen átmásolva a jail-be. helytakarékos akartam lenni, úgyhogy csak a legszükségesebbeket próbáltam berakni a jail-be:

[list:3b510229b9]/etc/locale.alias
/etc/locale.gen
/usr/share/locale/hu/LC_MESSAGES/coreutils.mo
/usr/share/locale/hu/LC_MESSAGES/libc.mo
/usr/share/locale/hu/LC_TIME/coreutils.mo (symlink a másik coreutils.mo-ra)
/usr/share/locale/locale.alias (symlink az /etc/locale.alias-ra)
/usr/share/i18n/charmaps/ISO-8859-1
/usr/share/i18n/charmaps/ISO-8859-2
/usr/share/i18n/locales/hu_HU
/usr/share/i18n/locales/i18n
/usr/share/i18n/locales/iso14651_t1
/usr/share/i18n/locales/translit_*
/usr/share/i18n/SUPPORTED
/usr/lib/locale/locale-archive
[/list:u:3b510229b9]

beraktam még a locale-gen scriptet a jail /usr/sbin-jébe, lefuttattam, de ennek ellenére még mindig angolul jelenik meg a dátum (teszt: chroot /aholachrootjailvan date). mit hagyok ki, mi kell még ezeken kívül?

előre is köszi.

És chroot-on belül a date hogy írja ki a dátumot? Ha angolul, akkor egy kinti és egy benti "strace date" közti diff sokat segíthet.
A /usr/share/i18n elvileg nem kell, lehet hogy valami localegen jellegű progi használja, de maguk az alkalmazások tuti nem, ez amolyan "forráskód", a locale-ek forrása, amiből a localedef előállítja az alkalmazás által is használható locale-archive-ot.
A locale fájlok számomra úgy tűnik hogy mind megvannak, következő lépésben a gconv-ot nézném meg, /usr/lib/gconv alatt a latin2 meg a konfig fájl meg ilyenek legyenek meg.

[quote:fc95a79301="egmont"]És chroot-on belül a date hogy írja ki a dátumot?[/quote:fc95a79301]
Hehh, nem olvastam figyelmesen, írtad hogy angol :) Szóval ha a gconv könyvtár nem segít, akkor a "strace date"-et kéne diffelni, az kiírja hogy melyik fájlt nem találja.

[quote:5b51e48681="egmont"]A locale fájlok számomra úgy tűnik hogy mind megvannak, következő lépésben a gconv-ot nézném meg, /usr/lib/gconv alatt a latin2 meg a konfig fájl meg ilyenek legyenek meg.[/quote:5b51e48681]
nyertél, tényleg ez volt a hiba, elég volt az ISO-8859-2.so-t átmásolni, és most már működik. hálás köszönetem!

Az a mókás, hogy közben stracéztam uhu-n és ott nem kell az iso-8859-2.so a date-nek, mert a locale-archive fájlban ott vannak latin2 és utf8 kódolásban is a magyar hónap/nap nevek (utf8 a hu_HU.UTF-8 locale miatt), szóval szinte biztos voltam benne hogy nem fog bejönni a tippem :)