Portál AbcLinuxu, 17. července 2025 13:54
Mám potíže při připojování SMB sdílených disků obsahujících soubory s českými znaky. Nedochází k správnému překladu kódových stránek, a tím pádem jsou jména souborů zkomolena a někdy dochází i k zatuhnutí procesu a vzdálený svazek se nedá odpojit. Přístup přes smbclient nebo lisa těmito problémy netrpí. Požadované kódové stránky serveru i klienta jsem zkoušel uvádět do /etc/samba/smb.conf i jako parametr do příkazového řádku.
Používám distribuci SuSE 8.0 s jádrem k_deflt-2.4.18-261 s Sambu 2.2.7
Zde jsou části debug logů
a) Pokud jsem kódové stránky napsal jen do příkazové řádky:
INFO: Debug class all level = 1 (pid 2804 from pid 2804) passthrough options 'user=tojsemja,codepage=852,iocharset=iso8859-2' mount.smbfs started (version 2.2.7a-SuSE) codepage_initialise: client code page = 850 load_client_codepage: loading codepage 850. Adding chars 0x85 0xb7 (l->u = True) (u->l = True) Adding chars 0xa0 0xb5 (l->u = True) (u->l = True) Adding chars 0x83 0xb6 (l->u = True) (u->l = True) Adding chars 0xc6 0xc7 (l->u = True) (u->l = True) Adding chars 0x84 0x8e (l->u = True) (u->l = True) Adding chars 0x86 0x8f (l->u = True) (u->l = True) Adding chars 0x91 0x92 (l->u = True) (u->l = True) Adding chars 0x87 0x80 (l->u = True) (u->l = True) Adding chars 0x8a 0xd4 (l->u = True) (u->l = True) Adding chars 0x82 0x90 (l->u = True) (u->l = True) Adding chars 0x88 0xd2 (l->u = True) (u->l = True) Adding chars 0x89 0xd3 (l->u = True) (u->l = True) Adding chars 0x8d 0xde (l->u = True) (u->l = True) Adding chars 0xa1 0xd6 (l->u = True) (u->l = True) Adding chars 0x8c 0xd7 (l->u = True) (u->l = True) Adding chars 0x8b 0xd8 (l->u = True) (u->l = True) Adding chars 0xd0 0xd1 (l->u = True) (u->l = True) Adding chars 0xa4 0xa5 (l->u = True) (u->l = True) Adding chars 0x95 0xe3 (l->u = True) (u->l = True) Adding chars 0xa2 0xe0 (l->u = True) (u->l = True) Adding chars 0x93 0xe2 (l->u = True) (u->l = True) Adding chars 0xe4 0xe5 (l->u = True) (u->l = True) Adding chars 0x94 0x99 (l->u = True) (u->l = True) Adding chars 0x9b 0x9d (l->u = True) (u->l = True) Adding chars 0x97 0xeb (l->u = True) (u->l = True) Adding chars 0xa3 0xe9 (l->u = True) (u->l = True) Adding chars 0x96 0xea (l->u = True) (u->l = True) Adding chars 0x81 0x9a (l->u = True) (u->l = True) Adding chars 0xec 0xed (l->u = True) (u->l = True) Adding chars 0xe7 0xe8 (l->u = True) (u->l = True) Adding chars 0x9c 0x0 (l->u = False) (u->l = False) load_dos_unicode_map: 850 load_unicode_map: loading unicode map for codepage 850. load_unix_unicode_map: ISO8859-1 (init_done=0, override=0) load_unicode_map: loading unicode map for codepage ISO8859-1. added interface ip=192.168.1.24 bcast=192.168.1.255 nmask=255.255.255.0 resolve_lmhosts: Attempting lmhosts lookup for name server<0x20> getlmhostsent: lmhost entry: 127.0.0.1 localhost ....
b) Pokud byly v [global] /etc/samba/smb.conf řádky udávající kódové stránky:
INFO: Debug class all level = 1 (pid 2956 from pid 2956) passthrough options 'user=tojsemja,codepage=852,iocharset=iso8859-2' mount.smbfs started (version 2.2.7a-SuSE) codepage_initialise: called twice - ignoring second client code page = 852 added interface ip=192.168.1.24 bcast=192.168.1.255 nmask=255.255.255.0 resolve_lmhosts: Attempting lmhosts lookup for name server<0x20> getlmhostsent: lmhost entry: 127.0.0.1 localhost resolve_hosts: Attempting host lookup for name server<0x20> resolve_wins: Attempting wins lookup for name server<0x20> wins_srv_count: WINS status: 0 servers. resolve_wins: WINS server resolution selected and no WINS servers listed. name_resolve_bcast: Attempting broadcast lookup for name server<0x20> bind succeeded on port 0 socket option SO_KEEPALIVE = 0 socket option SO_REUSEADDR = 1 ...
No, to by mě právě zajímalo proč. Potřebné tabulky jsou v /usr/share/samba/codepages, práva jsou taky v pořádku... Parametr codepage může být cp852 i 852 - výsledky jsou stejné.
Nejspíš to bude problém jádra, ale v instalační databázi SuSE o tom není ani čárka. O stejném problému se píše i v článku SAMBA mount - nefunguje!. Předpokládal jsem, že když byl problém nahlášený už v srpnu 2002, že to SuSE v nových buildech jádra opraví, ale jak to vypadá nestalo se tak.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.