PDA

Bekijk de volledige versie : Русские имена торрентов



Mirage-net
22-04-2007, 13:34
Вопрос мелькал в топике про "Вопрос насчет торрента" http://wl500g.info/showthread.php?t=5438 но так и не был дан ответ :(
Ситуация такая стоит enhanced-CTorrent и SEAKY's CTCS торренты качаются и раздаются ... жесткий диск отформатирован в ext3 но если скачиваемый файл назван по русски то в FTP он кракозябрами (хотя в терминале ls -l кажет все правильно) ... самбу даже не пробовал т.к. нужно скачивать через инет ... как это побороть??? поставил vsftpd проблему не решило ... 5-й пункт "Инструкции с нуля" проблему не решает ...

ПРЯМАЯ ССЫЛКА НА РЕШЕНИЕ ПРОБЛЕМЫ:
http://wl500g.info/showpost.php?p=53426&postcount=7

Mirage-net
24-04-2007, 19:16
поднимаю ... что выходит я один такой, кому торрентсы руские поподаются ...

Oleg
24-04-2007, 22:15
В терминале какая кодировка? UTF8?

KyRT
25-04-2007, 00:46
В терминале какая кодировка? UTF8?

У меня аналогичная "проблема", в терминале UTF-8. Может есть способ кодировку системы перевести на 1251? А то самба2 юникод не понимает, вот и получаются крякозябры.

Sid
25-04-2007, 07:34
Тоже недавно столкнулся с такой проблемой. В Midnight Commander'e,в частности, все показывает нормально, но передать эти файлы на компьютер с Windows с нормальными именами - не получается. Ладно бы там один два файла - можно потом и вручную переименовать, но когда их десятки (например торрент с кучей mp3) - это уже напрягает. :)
Пробовал такой способ - все файлы переводил в один архив tar'ом. Потом этот tar пытался под Windows разархивировать начала WinRar'ом (крякозябры остались), затем 7-Zip, который, судя по документации поддерживает и UTF-8. Результат - не лучше. Поддерживать, он , может, и поддерживает, но конвертировать в 1251 видно не умеет. :D
А проблема эта - в пользователях, создающих торренты. Ведь, как правило, на трекерах в правилах просьба или требование - не создавайте торренты с файлами с именами в кириллице- нет, все пофигу.:mad: Ну лень тебе переименовать - заархивируй тем же RAR'ом.

Mirage-net
25-04-2007, 08:29
Вроде как есть возможность обучить vsftpd перекодировать UTF-8, но для этого его нужно пропатчить до соответствия рекомендациям RFC-2640. Вот народ уже делает http://vsftpd.devnet.ru/rus/ ктоб еще и для роутера это все адаптировал ....

Mirage-net
26-04-2007, 21:35
Эх-х-х-х-х Как всегда спасение утопающих дело рук самих утопающих.
Пришлось самому все творить ... В общем проблема решена и постараюсь как можно подробно расказать решение (типа для НОВИЧКОВ)
для начала устанавливаем (если не было) стандартный vsftpd
ipkg install vsftpd
настраиваем его (это довольно подробно уже описано пользуйтесь "Поиском")
когда все заработало как вам нужно (за исключением нормального отображения руских имен) приступаем к устранению этой проблемы
для начала установим все что нужно для нативной компеляции на роутере
ipkg install optware-devel
во время установки вам покажется что все повисло (в момент когда ставится buildroot) но это не так просто скачать и распаковать 42 метра тяжело ... идем пить пиво часа на 1.5-2 :)
после этого нам необходимо скачать исходники модифицированного vsftpd например так:

mkdir /opt/source/vsftpd-2.0.5.ext3.3
cd /opt/source/vsftpd-2.0.5.ext3.3
wget http://vsftpd.devnet.ru/files/2.0.5/ext.3.3/vsftpd-2.0.5.ext3.3.tar.gz
tar -xzvf ./vsftpd-2.0.5.ext3.3.tar.gz

Затем нужно поправить файл vsf_findlibs.sh в 5 строке изменить egrep на grep
Затем запускаем компиляцию:
make
после того как компиляция благополучно закончилась делаем следующее:
mv /opt/sbin/vsftpd /opt/sbin/vsftpd.bak
cp ./vsftpd /opt/sbin/
после этого нужно добавить в его конфиг строки:
convert_charset_enable=1
local_charset=UTF8
remote_charset=WIN1251
усе теперь он будет перекодировать из UTF-8 в WIN-1251 и в винде имена будут по русски ... внем еще кучу всего наворотили связанного с кодировками если кому надо то подробности тут: http://vsftpd.devnet.ru/rus/
я не стал разбираться как сделать пакет для opt-ware ... если кому захочется то вперед ....
для особо ленивых прилагаю скомпиленный vsftpd бинарик .... Удачи!

P.S. чтобы воспользоваться нижеприведенным ipk файлом сохраните /opt/etc/vsftpd.conf (если вы его настраивали) и если у вас установлен стандартный vsftpd из optware выполните

ipkg remove vsftpd
после этого устанавливайте данный ipk (естественно, предварительно разархивировав его с помощью gunzip)

[UPDATE al37919] Свежая версия находится здесь (http://code.google.com/p/wl500g/source/browse/#svn/ipkg/optware)

Xander
26-04-2007, 22:08
Есть штука и поудобнее, специально для перекодировки имен файлов - convmv (http://j3e.de/linux/convmv/). Ей только нужен perl, который не так давно появился в правильном репозитории.
Нужно только
ipkg install perl
Изменить первую строку скрипта на
#!/opt/bin/perl
Потом использовать, например, так:
convmv -r --notest -f utf8 -t cp1251 *
Так он рекурсивно перекодирует все файлы в текущем каталоге с utf8 на cp1251.

Mirage-net
26-04-2007, 22:43
Есть штука и поудобнее, специально для перекодировки имен файлов - convmv (http://j3e.de/linux/convmv/). Ей только нужен perl, который не так давно появился в правильном репозитории.
Нужно только
ipkg install perl
Изменить первую строку скрипта на
#!/opt/bin/perl
Потом использовать, например, так:
convmv -r --notest -f utf8 -t cp1251 *
Так он рекурсивно перекодирует все файлы в текущем каталоге с utf8 на cp1251.
что значит поудобнее??? так юзверь ставит торрент на закачку и забирает его по ФТП в том начертании что он был... и делать ему ничего не нужно ... а если после закачки торрента файлы переименовать то они и раздаваться не будут ... Здесь обсуждалась проблема именно русских торрентов а не вообще файлов с русскими именами в UTF-8

Xander
27-04-2007, 00:29
что значит поудобнее??? так юзверь ставит торрент на закачку и забирает его по ФТП в том начертании что он был... и делать ему ничего не нужно ... а если после закачки торрента файлы переименовать то они и раздаваться не будут ... Здесь обсуждалась проблема именно русских торрентов а не вообще файлов с русскими именами в UTF-8
Мне удобнее перекодировать. :) Тогда и через ssh, и через самбу, и др. все на роутере в одной кодировке.
А для торрентов можно оставить симлинки.

Sid
27-04-2007, 07:30
Mirage-net
:D Супер ! Спасибо огромное. Я-то хотел пойти другим путем - уже набросал программку под винды, которая переименовывает файлы из UTF-8 в 1251, да там затык оказался - спотыкается на имени папки. Файлы переименовывает, а папки -нет.
Ну с пропатченным vsftpd это уже не нужно. На мой взгляд - самый удобный вариант :D
Еще раз спасибо !

alexhemp
09-05-2007, 01:32
конфигурация для перекодировки заработала только такая:

convert_charset_enable=YES
local_charset=UTF8
remote_charset=CP1251

вместо:

convert_charset_enable=1
local_charset=UTF8
remote_charset=CPWIN1251

Mirage-net
09-05-2007, 06:33
конфигурация для перекодировки заработала только такая:

convert_charset_enable=YES
local_charset=UTF8
remote_charset=CP1251

вместо:

convert_charset_enable=1
local_charset=UTF8
remote_charset=CPWIN1251

Действительно в remote_charset=CPWIN1251 СР лишнее просто копировал с их сайта а не из конфига и не стер лишнее ... Щас исправлю. Но у меня точно работает конструкция

convert_charset_enable=1
local_charset=UTF8
remote_charset=WIN1251
вот это из моего реального конфига

BuHT
12-05-2007, 11:52
ipkg install optware-devel
во время установки вам покажется что все повисло (в момент когда ставится buildroot) но это не так просто скачать и распаковать 42 метра тяжело ... идем пить пиво часа на 1.5-2
у меня что-то за 12 часов никак не смог освободить систему. всё как бы в подвисе. через ssh к модему подключиться не могу, вроде б конектиться модем но запрос на логин не предлагает и по вай фаю к модему подключается но траф не гонит, видимо роутер сильно загржен. Но за 12 часов buildroot распаковать... не знаю не знаю.
А можно ли с помощью большого брата упростить инсталяцию buildroot?
К примеру скачать на ББ распаковать и через ftp перекинуть распакованное на асус? или что-то в этом роде

Mirage-net
описывая действия понимается что пакеты берутся из репозитория
http://ipkg.nslu2-linux.org/feeds/optware/oleg/cross/stable/ ?

Xander
12-05-2007, 12:32
у меня что-то за 12 часов никак не смог освободить систему. всё как бы в подвисе. через ssh к модему подключиться не могу, вроде б конектиться модем но запрос на логин не предлагает и по вай фаю к модему подключается но траф не гонит, видимо роутер сильно загржен. Но за 12 часов buildroot распаковать... не знаю не знаю.
А можно ли с помощью большого брата упростить инсталяцию buildroot?
К примеру скачать на ББ распаковать и через ftp перекинуть распакованное на асус? или что-то в этом роде

Mirage-net
описывая действия понимается что пакеты берутся из репозитория
http://ipkg.nslu2-linux.org/feeds/optware/oleg/cross/stable/ ?
У меня похожее было один раз - /tmp переполнился (он же в памяти).
Нужно сделать:
mkdir /tmp/harddisk/tmp
export TMPDIR=/tmp/harddisk/tmp

Mirage-net
12-05-2007, 12:56
А можно ли с помощью большого брата упростить инсталяцию buildroot?
К примеру скачать на ББ распаковать и через ftp перекинуть распакованное на асус? или что-то в этом роде

Mirage-net
описывая действия понимается что пакеты берутся из репозитория
http://ipkg.nslu2-linux.org/feeds/optware/oleg/cross/stable/ ?

Да используется указаный репозитарий... для облегчения можно на ББ скачать http://ipkg.nslu2-linux.org/feeds/optware/oleg/cross/stable/buildroot_4.1.1-12_mipsel.ipk по ФТП загнать на диск роутера
запустить

ipkg install optware-devel
когда дойдет до установки buildroot прервать установку
и дальше установить командой

ipkg install /path-to-file/buildroot_4.1.1-12_mipsel.ipk
а затем сново запустить

ipkg install optware-devel

ATDT
12-05-2007, 14:16
А стоит ли огород городить с большим братом - у меня все ставилось не больше 10-15 минут (WL500GP), причем когда я скомпилировал бинарник под optware, оказалось, что от опубликованного выше, он ничем не отличается :)

BuHT
12-05-2007, 15:30
ага помогло видимо перезадание папки tmp из памяти на harddisk

но в моенет конфигурирования
вылазит следующее:


Updating /opt/etc/ld.so.cache
An error ocurred, return value: 35.
Collected errors:
Package uclibc-opt wants to install file /opt/sbin/ldconfig
But that file is already provided by package uclibc
Package uclibc-opt wants to install file /opt/lib/librt.so.0
But that file is already provided by package uclibc
Package uclibc-opt wants to install file /opt/lib/libpthread-0.9.28.so
But that file is already provided by package uclibc
Package uclibc-opt wants to install file /opt/lib/libuClibc-0.9.28.so
But that file is already provided by package uclibc
Package uclibc-opt wants to install file /opt/lib/libutil-0.9.28.so
But that file is already provided by package uclibc
Package uclibc-opt wants to install file /opt/lib/ld-uClibc-0.9.28.so
But that file is already provided by package uclibc
Package uclibc-opt wants to install file /opt/lib/libcrypt.so
But that file is already provided by package uclibc
Package uclibc-opt wants to install file /opt/lib/libintl-0.9.28.so
But that file is already provided by package uclibc
Package uclibc-opt wants to install file /opt/lib/libutil.so
But that file is already provided by package uclibc
Package uclibc-opt wants to install file /opt/lib/librt.so
But that file is already provided by package uclibc
Package uclibc-opt wants to install file /opt/lib/librt-0.9.28.so
But that file is already provided by package uclibc
Package uclibc-opt wants to install file /opt/lib/libdl.so
But that file is already provided by package uclibc
Package uclibc-opt wants to install file /opt/lib/libresolv-0.9.28.so
But that file is already provided by package uclibc
Package uclibc-opt wants to install file /opt/lib/libm-0.9.28.so
But that file is already provided by package uclibc
Package uclibc-opt wants to install file /opt/lib/libm.so.0
But that file is already provided by package uclibc
Package uclibc-opt wants to install file /opt/lib/libpthread.so.0
But that file is already provided by package uclibc
Package uclibc-opt wants to install file /opt/lib/libc.so
But that file is already provided by package uclibc
Package uclibc-opt wants to install file /opt/lib/libutil.so.0
But that file is already provided by package uclibc
Package uclibc-opt wants to install file /opt/lib/libgcc_s.so
But that file is already provided by package uclibc
Package uclibc-opt wants to install file /opt/lib/libresolv.so
But that file is already provided by package uclibc
Package uclibc-opt wants to install file /opt/lib/libnsl.so
But that file is already provided by package uclibc
Package uclibc-opt wants to install file /opt/lib/libcrypt-0.9.28.so
But that file is already provided by package uclibc
Package uclibc-opt wants to install file /opt/lib/ld-uClibc.so.0
But that file is already provided by package uclibc
Package uclibc-opt wants to install file /opt/lib/libnsl.so.0
But that file is already provided by package uclibc
Package uclibc-opt wants to install file /opt/lib/libpthread.so
But that file is already provided by package uclibc
Package uclibc-opt wants to install file /opt/lib/libintl.so
But that file is already provided by package uclibc
Package uclibc-opt wants to install file /opt/lib/libnsl-0.9.28.so
But that file is already provided by package uclibc
Package uclibc-opt wants to install file /opt/lib/libresolv.so.0
But that file is already provided by package uclibc
Package uclibc-opt wants to install file /opt/lib/libintl.so.0
But that file is already provided by package uclibc
Package uclibc-opt wants to install file /opt/lib/libcrypt.so.0
But that file is already provided by package uclibc
Package uclibc-opt wants to install file /opt/lib/libm.so
But that file is already provided by package uclibc
Package uclibc-opt wants to install file /opt/lib/libdl-0.9.28.so
But that file is already provided by package uclibc
Package uclibc-opt wants to install file /opt/lib/libgcc_s.so.1
But that file is already provided by package uclibc
Package uclibc-opt wants to install file /opt/lib/libc.so.0
But that file is already provided by package uclibc
Package uclibc-opt wants to install file /opt/lib/libdl.so.0
But that file is already provided by package uclibc

это нормально или надо переходить всё ж таки на библиотеки uclibc-opt?
если да то как в таком случае будут функционировать прежние, уже установленные пакеты.

ATDT
так интереснее самому попрактиковаться в линухе:) а то компилировал только проги паскалевские в вузе :)))

ББ действиетльно почти не скоращает время:)

P.S. на dev.net попасть вообще невозможно :( ни с работы ни из дома (провайдеры разные) ни вчера, ни сегодня

Xander
12-05-2007, 16:31
это нормально или надо переходить всё ж таки на библиотеки uclibc-opt?
если да то как в таком случае будут функционировать прежние, уже установленные пакеты.

Однозначно установить новую библиотеку. Старую удалить. А если пакеты сломаются (должны сломаться), их переустановить :) И удостоверьтесь, что старого репозитория в ipkg.conf нет.
Зато все будет работать.

BuHT
12-05-2007, 17:11
неет, так у меня сецчас всё из этого репозитория


http://ipkg.nslu2-linux.org/feeds/optware/oleg/cross/stable/


только там существуют как
uclibc_0.9.28-5_mipsel.ipk
так и
uclibc-opt_0.9.28-12_mipsel.ipk
вот.
я когда переходил на это трепозиторий, я установил uclibc_0.9.28-5_mipsel.ipk
а сейчас, по видимому, при установке buildroot хочет библиотеки от uclibc-opt.
Получается что uclibc_0.9.28-5_mipsel это пройденый этап и надо вместо него установить uclibc-opt_0.9.28-12_mipsel ?
все покеты которе у меня сейчас стоят реинсталлировал после установки uclibc_0.9.28-5_mipsel
отсюда:


http://ipkg.nslu2-linux.org/feeds/optware/oleg/cross/stable/

azhur
16-08-2007, 18:14
Спасибо Mirage-net'у за пропатченный-скомпиленный экзешник.
С ним через ФТП русские имена файлов отображаются нормально.
Но через теленет - кракозябли.
Не подскажете, в каком направлении копать?

Reyter
17-08-2007, 06:55
Но через теленет - кракозябли.
Не подскажете, в каком направлении копать?

В PuTTY в Window->Translation нужно выбрать/прописать вручную "UTF-8" без кавычек.
Правильным также будет добавить

export LANG="ru_RU.UTF-8"
в post-boot или в /usr/local/root/.profile

azhur
20-08-2007, 14:42
Reyter, так только хуже стало.
Вид кракозяблей поменялся, плюс МС буковками вместо псевдографики стал панели рисовать.

Reyter
20-08-2007, 15:02
Reyter, так только хуже стало.
Вид кракозяблей поменялся, плюс МС буковками вместо псевдографики стал панели рисовать.
Значит что-то сделал неправильно. А файловая система на винте какая?

azhur
20-08-2007, 15:03
Файловая система ext3.
Единственное что делал по настройке языка до этого - из инструкции по настройке с нуля.
nvram set usb_vfat_options=codepage=866,iocharset=cp1251
nvram set usb_ntfs_options=iocharset=cp1251
nvram set usb_smbcpage_x=866
nvram set usb_smbcset_x=1251

Reyter
20-08-2007, 16:16
Файловая система ext3.
Единственное что делал по настройке языка до этого - из инструкции по настройке с нуля.
nvram set usb_vfat_options=codepage=866,iocharset=cp1251
nvram set usb_ntfs_options=iocharset=cp1251
nvram set usb_smbcpage_x=866
nvram set usb_smbcset_x=1251
Все это к ext3 никакого отношения не имеет. А samba для ext3 нужна 3-й версии и она эти переменные читать не будет.
Выполни команду set в консоли и помотри, есть ли там у тебя переменная LANG, если есть, то чему она равна.

ma_lav
21-08-2007, 11:10
Когда потом ipkg update сделаешь и ftp сервер обновится ведь все эти улучшения пропадут или как?

Reyter
21-08-2007, 11:27
Когда потом ipkg update сделаешь и ftp сервер обновится ведь все эти улучшения пропадут или как?
Нет. Update всего лишь обновляет список доступных пакетов. Чтобы обновить пакеты необходимо затем выполнить ipkg upgrade

azhur
21-08-2007, 15:12
Все это к ext3 никакого отношения не имеет. А samba для ext3 нужна 3-й версии и она эти переменные читать не будет.
Выполни команду set в консоли и помотри, есть ли там у тебя переменная LANG, если есть, то чему она равна.

[admin@(none) root]$ set | grep LANG
LANG='ru_RU.UTF-8'

Устанавливается через ~/.profile по твоему прошлому совету
Самба вообще не нужна.Хочу чтобы на самом роутере через путти русские имена отображались нормально.
И больше мне ничего не надо... ;)
Провёл экспреимент: включил в путти переключение на русскую раскладку по капс локу.
В консоли русские буквы набираются нормально.
В МС - не все.
У файла с русским именем, залитым через фтп, имя что из консоли, что из МС отображается неверно, а через фтп -нормально.
Вот такая загогулина...

Reyter
21-08-2007, 16:36
Провёл экспреимент: включил в путти переключение на русскую раскладку по капс локу.
В консоли русские буквы набираются нормально.
В МС - не все.
У файла с русским именем, залитым через фтп, имя что из консоли, что из МС отображается неверно, а через фтп -нормально.
Вот такая загогулина...
Лично я пути пользуюсь только в тех редких случаях, когда мне нужно в консоли увидеть имена русских файлов. А в остальных - ShellGuard, чего и вам желаю, ибо на порядок удобнее и нет никаких проблем с функциональными клавишами. Единственный недостаток - не умеет работать с UTF8. И никогда никаких проблем с вводом русских букв не было.
Далее. То, что у тебя файлы с русскими именами, залитые через ftp, через тот же ftp читаются нормально, еще ни о чем не говорит. На ext3 они могут сохраняться с неверными именами. Поэтому и в консоли их прочитать невозможно. Насколько мне известно, единственным ftp-сервером для нашей железки, корректно работающим с UTF8, на сегодняшний день является особым образом пропатченный vsftpd. Лично у меня в сочетании samba3, vsftpd-utf8 и putty с установленной кодировкой UTF-8 + mc приводят к совершенно однозначному результату - файл с русским именем созданный/скопированный в любом из этих приложений читается абсолютно правильно так же в любом из этих приложений. Поподробнее можешь посмотреть здесь (http://wl500g.info/showthread.php?t=9796&highlight=utf-8).

Ну а пока попробуй для эксперимента выставить в путти KOI8-R, а в качестве LANG прописать ru_RU.KOI8-R и посмотри, что получится. Честно говоря, даже не знаю, выйдет ли из этого что-нть путное.

azhur
22-08-2007, 05:27
Уфф...
Вечер ковыряния в настройках, и почти везде русские файлы нормально отображаются. (UTF-8)
Единственный кто остался непобеждённым - миднайт командер.
То есть нужно придумать что делать с ним.
Между делом выявил один косячок с vsftpd.
При заливке файлов с русскими именами из-под акка admin перекодировка имён не срабатывает или срабатывает криво.
Хотя у админа и обычного юзера настройки в .profile одинаковые вроде.

ma_lav
23-08-2007, 09:29
Есть-но имелось ввиду ipkg upgrade, пропадет ли возможность использования русских букв после обновления? Думается да, либо это уже уже должно быть там прописано.

Mirage-net
23-08-2007, 10:35
Уфф...
Вечер ковыряния в настройках, и почти везде русские файлы нормально отображаются. (UTF-8)
Единственный кто остался непобеждённым - миднайт командер.
То есть нужно придумать что делать с ним.
Между делом выявил один косячок с vsftpd.
При заливке файлов с русскими именами из-под акка admin перекодировка имён не срабатывает или срабатывает криво.
Хотя у админа и обычного юзера настройки в .profile одинаковые вроде.
Пожалуйста больше подробностей ... Операционка, ФТП клиент... что значит криво срабатывает??? на файл .profile vsftpd плевать ... для настройки разных кодировок для разный пользователей читайте здесь http://vsftpd.devnet.ru/rus/

azhur
23-08-2007, 18:28
Насчёт глюков с перекодировкой у админа:
Только что попробовал воспроизвести тот глюк с перекодировкой.
Безуспешно.
Единственное приходящее в голову объяснение -
какие-то настройки применились только после перезагрузки.
Или мой косяк в настройках FAR'a, так как сегодня строчку для логина админом я создал заново.
Так что извиняюсь за ложную тревогу :o

azhur
27-08-2007, 05:39
Ещё одну "особенность" заметил у rtorrent'a.
Есть скриптик для запуска рторрента с нужными параметрами.
Если запускаю его вручную, залогинившись на роутер телнетом, то русские имена файлов и торрентов в самом rtorrent'e отображаются нормально.
Если же этот же скриптик запускается из пост-моунт или кроном по расписанию, то вместо русских букоф - кракозябли.
Никто не подскажет как это побороть?

bald
08-09-2007, 12:32
Ещё одну "особенность" заметил

как то странно, поставил в PuTTY win1251 вроде в mc русские имена отображаются нормально (правда я писал файлы по сети с win), за исключением буквы "Я" и следующей за ней любой - они вообще не отображаются

demon101
25-09-2007, 12:35
Решил продублировал сюда

Собственно купил винт,
Подключил к компу, отформатировал в ЕХ3, партишином,
На роутере повторил пункты из Олеговской инструкции....Прошивка Олега давно стоит.
Поключил винт, по фтп и шаре заходит нормально. Файлы копируются по фтп с компа винт роутера нормально.
Но вот стоит их в пределах винта переместить, то русские имена папок становятся кракозябриками, и в них уже не зайти, ни удалить.
Через шару этих папок вообще не видно.

Вот кусочек лога

Jan 1 03:00:24 syslog: Warn: The origin for route 239.255.255.250 changed from 192.168.1.1 to 192.168.1.105
Jan 1 03:00:31 kernel: VFS: Can't find ext3 filesystem on dev sd(8,0).
Jan 1 03:00:31 kernel: MSDOS FS: Using codepage 866
Jan 1 03:00:31 kernel: MSDOS FS: IO charset cp1251
Jan 1 03:00:31 kernel: FAT: bogus logical sector size 64543
Jan 1 03:00:31 kernel: VFS: Can't find a valid FAT filesystem on dev 08:00.
Jan 1 03:00:31 kernel: FAT: freeing iocharset=cp1251
Jan 1 03:00:31 kernel: FAT: bogus logical sector size 64543
Jan 1 03:00:31 kernel: VFS: Can't find a valid FAT filesystem on dev 08:00.
Sep 24 23:03:45 syslog: Warn: The origin for route 239.255.255.250 changed from 192.168.1.105 to 192.168.1.1
Sep 24 23:03:47 kernel: kjournald starting. Commit interval 5 seconds
Sep 24 23:03:47 kernel: EXT3 FS 2.4-0.9.19, 19 August 2002 on sd(8,1), internal journal
Sep 24 23:03:47 kernel: EXT3-fs: recovery complete.
Sep 24 23:03:47 kernel: EXT3-fs: mounted filesystem with ordered data mode.
Sep 24 23:03:47 USB storage: ext3 fs mounted to /tmp/harddisk
Sep 24 23:03:47 FTP server: daemon is started
Sep 24 23:03:48 FTP server: user anonymous logged in from 192.168.1.105
Sep 24 23:03:51 syslog: Warn: MRT_DEL_MFC; Errno(2): No such file or directory
Sep 24 23:03:56 ntp client: Synchronizing time with time.nist.gov ...
Sep 24 23:04:10 nmbd[141]: [2007/09/24 23:04:10, 0] nmbd/nmbd_become_lmb.c:become_local_master_stage2(405)
Sep 24 23:04:10 nmbd[141]: *****
Sep 24 23:04:10 nmbd[141]:
Sep 24 23:04:10 nmbd[141]: Samba name server ASUS is now a local master browser for workgroup WORKGROUP on subnet 192.168.1.1
Sep 24 23:04:10 nmbd[141]:
Sep 24 23:04:10 nmbd[141]: *****

Не могу понять что не так и что делать.

Заранее спасибо за помощь

sesto
12-10-2007, 21:42
можно каким-либо способом посмотреть какие пакеты ставятся во время установки optware-devel? :)
После установки начались траблы, вот теперь хочу все удалить :)

Спасибо.

leniviy
30-10-2007, 18:15
Прочитал эту тему, но решения не нашел. У меня тоже в rtorrent беда с русскими файлами. ftp, самба и mc нормально работают с русскими. Но самба не видит файлы созданные rtorrent, поэтому приходится делать симлинки.
Такое ощущение, что над именем файла вместо одного раза дважды происходит преобразование CP1251->UTF-8
http://wl500g.info/attachment.php?attachmentid=1936&stc=1&d=1193763471
файловая система Ext3, в Putty translation 1251, но пробовал разные, и не помогает.
Ещё кое-что. Раз имя файла отображается в rtorrent ещё до того, как файл физически создан, значит проблема не с файловой системой, а с чем-то ещё, чего я не знаю.

sergicus
30-10-2007, 19:44
но пробовал разные, и не помогает.


UTF-8 тоже ???

leniviy
31-10-2007, 09:16
сразу после переключения в UTF-8
Р~QРёРѕС~HРѕРє
Р~ZРёРЅРіС~Aайз.avi
если перезапустить rtorrent
▒~Zинг▒~Aайз.avi
▒~Qио▒~Hок
а должно быть
Кингсайз.avi
Биошок
Видимо при выводе некоторых символов, например 0x9A и 0x81, которые в UTF-8 являются вторыми байтами букв 'К' и 'с', rtorrent превращает их в ~, mc в знак вопроса, и только /bin/ls выводит все символы.

и вообще если putty в режиме UTF-8, то если в терминале набрать "абвгде", то backspace'ом можно затереть 12 символов:
[admin@router root]$ абвгде
12 раз нажимаю backspace, получается
[admin@router r

al37919
31-10-2007, 09:24
В общем, придется ждать, пока найдется добрый человек из соотечественников и напишет ssh клиент, корректно работающий с кодировками, или поапдейтит putty... Ведь для англичан --- это проблема гипотетическая...

leniviy
31-10-2007, 09:40
может screen -U или filterm поможет?

Oleg
31-10-2007, 09:50
В общем, придется ждать, пока найдется добрый человек из соотечественников и напишет ssh клиент, корректно работающий с кодировками, или поапдейтит putty... Ведь для англичан --- это проблема гипотетическая...
А с putty и ssh нет проблем, они понимают ютф-8 (ssh так вообще всё равно).

Вот шелл встроенный - не понимает, ибо в прошивке вообще поддержка локале отключена. Поэтому он и "стирает" лишние символы.

leniviy
31-10-2007, 09:56
Я тут видел в "вопрос насчет torrent" скрипт, который переименовывает скачанные файлы из UTF-8 в 1251. Я попробую сделать аналогичный, но только делающий симлинки.

leniviy
31-10-2007, 09:58
Oleg, если это shell стирает лишние символы, то почему в mc '?' , а в rtorrent '~'
??? Должно быть одинаково.

Oleg
31-10-2007, 10:12
А причём тут шелл? mc сам всё рисует на терминале, остальные программы тоже.

leniviy
31-10-2007, 10:23
Понятно, значит как ни настраивай, rtorrent все равно не будет выводить на экран некоторые символы.
небольшой off, в какой кодировке хранятся имена на ext3 разделе, и в какой кодировке параметры функций типа fopen?

leniviy
01-11-2007, 12:54
Вот мой скрипт, который создаёт симлинки на utf-8 файлы в текущей директории. Ругать не надо, я не профи, мне лишь бы работало.
Переделан вот из этого http://www.wl500g.info/showpost.php?p=66292&postcount=315
требует пакет recode

#!/bin/sh
func1 () {
ls "$1" | grep [РС] | \
while read ELEMNAME; do
renamed=`echo $ELEMNAME | sed 's/$//' | recode -q u8..1251 | sed -n '1p' | sed 's/.$//'`
if [ "$renamed" != "$ELEMNAME" ]; then
rerenamed=`echo $renamed | sed 's/$//' | recode -q 1251..u8`
if [ "$rerenamed" = "$ELEMNAME" ]; then
echo found UTF-8 file or folder: $1$ELEMNAME
counter=""
newlinkpath=$1$renamed$counter
LINKCORRECT=0
while [ -L "$newlinkpath" ] || [ -f "$newlinkpath" ] || [ -d "$newlinkpath" ]; do
echo " \"$newlinkpath\" already exists"
if [ -L "$newlinkpath" ]; then
LINKTRG=`ls -l "$newlinkpath" | awk '{print substr($0,index($0, "->")+3,33000)}'`
echo " it points to $LINKTRG"
if [ "$ELEMNAME" = "$LINKTRG" ]; then
echo " link is correct"
LINKCORRECT=1
break
else
echo " link is incorrect. will try another name"
fi
else
echo " it is not a symlink. will try another name"
fi
counter=`expr $counter + 1`
newlinkpath=$1$renamed$counter
done
if [ "$LINKCORRECT" != "1" ]; then
echo " running command ln -s \"$ELEMNAME\" \"$newlinkpath\""
ln -s "$ELEMNAME" "$newlinkpath"
fi
fi
fi
done

ls -F "$1" | grep / | \
while read DIRNAME; do
func1 "$1$DIRNAME"
done

}

if [ -n "$1" ]; then
func1 $1/
else
func1 ./
fi

zheka_ppp
14-11-2007, 07:54
leniviy , спасибо большое за скрипт !

А как бы сделать похожий скрипт для перекодировки в translit ?

(java-клиенты типа bemused вообще ни с каким русским не дружат :( )

В recode, насколько я понял, нет такого character set :(

upd
Вроде нашел:
>ipkg install catdoc
>echo "Что-нибудь в 1251" | catdoc -s cp1251 -d us-ascii
CHto-nibud' w 1251

:)

sergicus
14-11-2007, 08:06
Я с кодировками решил так - файлы забираю по ftp В качестве ftp клиента использую программу filezilla http://filezilla.ru/ - эта программа позволяет менять кодировку просмотра на удалнных ftp - так что никаких перекодировщиков не надо

BlackCat
15-11-2007, 14:09
Запустил по совету Mirage-net установку optware-devel
ipkg install optware-devel

Эх-х-х-х-х Как всегда спасение утопающих дело рук самих утопающих.
Пришлось самому все творить ... В общем проблема решена и постараюсь как можно подробно расказать решение
...
для начала установим все что нужно для нативной компеляции на роутере
ipkg install optware-devel
во время установки вам покажется что все повисло (в момент когда ставится buildroot) но это не так просто скачать и распаковать 42 метра тяжело ... идем пить пиво часа на 1.5-2 :)

А в ответ через пару часов:

An error ocurred, return value: 1.
Collected errors:
ERROR: The following packages conflict with wget-ssl:
wget

Что и где подкрутить подскажите, плиз...

al37919
15-11-2007, 14:54
удалить wget, поставить wget-ssl и запустить инсталляцию optware-devel заново.

BlackCat
15-11-2007, 15:05
удалить wget, поставить wget-ssl и запустить инсталляцию optware-devel заново.

Насколько я понимаю, ipkg install xxxx работает именно через wget.
Т.е. после удаления wget ipkg install wget-ssl не сработает.

Oleg
15-11-2007, 15:26
В прошивке тоже есть wget, иначе как бы ставили пакеты? :)

BlackCat
15-11-2007, 16:16
В прошивке тоже есть wget, иначе как бы ставили пакеты? :)

спасибо, буду пробовать

Mirage-net
15-11-2007, 16:47
Запустил по совету Mirage-net установку optware-devel
ipkg install optware-devel


А в ответ через пару часов:

An error ocurred, return value: 1.
Collected errors:
ERROR: The following packages conflict with wget-ssl:
wget

Что и где подкрутить подскажите, плиз...
Лучше сначала скачать пакет buildroot_4.1.1-12_mipsel.ipk (42 метра) затем запустить

ipkg install optware-devel
когда установка дойдет до buildroot_4.1.1-12_mipsel.ipk прерываем ее и запускаем установку buildroot_4.1.1-12_mipsel.ipk с локального харда

ipkg install /полный_путь/buildroot_4.1.1-12_mipsel.ipk
после долгой установки и ее завершения запускаем снова

ipkg install optware-devel
проверено... работает

BlackCat
15-11-2007, 17:12
Лучше сначала скачать пакет buildroot_4.1.1-12_mipsel.ipk (42 метра) затем запустить

ipkg install optware-devel
когда установка дойдет до buildroot_4.1.1-12_mipsel.ipk прерываем ее и запускаем установку buildroot_4.1.1-12_mipsel.ipk с локального харда

ipkg install /полный_путь/buildroot_4.1.1-12_mipsel.ipk
после долгой установки и ее завершения запускаем снова

ipkg install optware-devel
проверено... работает

сделал как подсказал Олег - вроде помогло, щас попробую что-нибудь собрать

monarchp
24-01-2008, 15:53
ставил как писали...
после make выдал:
gcc -c main.c -O2 -Wall -W -Wshadow -idirafter dummyinc
make: gcc: Command not found
make: *** [main.o] Error 127

какой пакет ставить.. optware-devel установил полностью..

al37919
24-01-2008, 16:23
gcc входит в состав buildroot

monarchp
25-01-2008, 11:23
в процессе компиляции выдаёт:
$ make


gcc -c tcpwrap.c -O2 -Wall -W -Wshadow -idirafter dummyinc
tcpwrap.c:15:20: error: tcpd.h: No such file or directory
tcpwrap.c: In function 'vsf_tcp_wrapper_ok':
tcpwrap.c:28: error: storage size of 'req' isn't known
tcpwrap.c:30: warning: implicit declaration of function 'request_init'
tcpwrap.c:30: error: 'RQ_DAEMON' undeclared (first use in this function)
tcpwrap.c:30: error: (Each undeclared identifier is reported only once
tcpwrap.c:30: error: for each function it appears in.)
tcpwrap.c:30: error: 'RQ_FILE' undeclared (first use in this function)
tcpwrap.c:31: warning: implicit declaration of function 'fromhost'
tcpwrap.c:32: warning: implicit declaration of function 'hosts_access'
tcpwrap.c:28: warning: unused variable 'req'
make: *** [tcpwrap.o] Error 1

SkySlider
25-01-2008, 14:00
ну так что, в итоге rtorrent с кириллицей подружить никому не удалось?

al37919
25-01-2008, 14:19
ну почему же, последняя версия корректно отображает названия торрентов в utf8 (правда, похоже, со 2го запуска). Внутри в свойствах торрентов символы некорректные.

SkySlider
25-01-2008, 15:04
у меня rTorrent 0.7.9/0.11.9
ни названия торрентов ни тем более список файлов торрента корректно не отображаются, может что-то поднастроить надо?
Торренты лежат в fat32 разделе.Проблема не столько в кракозябликах сколько в их последствиях.
Например я хочу поставить на раздачу фильм, скачанный через ПК(большой брат, ББ по местному диалекту :) ) с русским названием торрент файла, рус. названием папки и так уж и быть англ. названием самого видеофайла.
1. заливаю фильм( правда через cuteFTP :o ) в нужное место на fat32, заливаю torrent.
2. клиент находит torrent файл, создаёт папку с кривым названием а папку с нормальным названием игнорирует, и соответственно хешировать ему нечего)
Но и это можно было бы стерпеть учитывая что сам файл слава богу англ. названия, забрасываю этот файл в папку с кракозябликами и клиент начинает хешировать, НО в конце выдаёт что-то связанное с chunk error.
В каком звене я ошибся?

monarchp
26-01-2008, 12:19
а про мои ошибки при компиляции никто ничо не знает...? куда копать

djet
26-01-2008, 15:10
Вроде бы нормально созданные торренты с именами в UTF-8 работают. А что делать с кривыми в CP1251?

//rTorrent.

angel_il
26-01-2008, 17:38
Вроде бы нормально созданные торренты с именами в UTF-8 работают. А что делать с кривыми в CP1251?

//rTorrent.

перекодировать имя (имена) файла. есть скрипт для этого.

blagoy
06-02-2008, 17:11
Затем нужно поправить файл vsf_findlibs.sh в 5 строке изменить egrep на grepа где этот файл находится, не смог его найти


Затем запускаем компиляцию:
make
после того как компиляция благополучно закончилась делаем следующее:Это пропустил, тк скачал и распаковал файл из архива


mv /opt/sbin/vsftpd /opt/sbin/vsftpd.bak
cp ./vsftpd /opt/sbin/Пишет следующее:
[admin@LANHDD root]$ mv /opt/sbin/vsftpd /opt/sbin/vsftpd.bak
[admin@LANHDD root]$ cp ./vsftpd /opt/sbin/
cannot stat `./vsftpd': No such file or directory
[admin@LANHDD root]$


после этого нужно добавить в его конфиг строки:
convert_charset_enable=1
local_charset=UTF8
remote_charset=WIN1251захочется то вперед ....Этот файл тоже не нашёл.. ((

Aramaki
18-02-2008, 20:05
Скрипт работает - просто зашибись. Добавил его в cron и не парюсь

Venik
09-03-2008, 22:24
Добавил его в cron и не парюсь
Научи неуча :rolleyes:

Venik
15-03-2008, 22:40
Дядьки, научите пользоваться русифицирующим скриптом, а? :confused:

Venik
16-03-2008, 21:18
хелп ми, плиз :(

dimokrat
27-04-2008, 20:29
При попытке заменить основной vsftpd пропатченным сломал все нафиг, похоже. Куда его прописать, чтобы запускался вместо встроенного? Не нашел никакого init.d. Помогите плиз!

al37919
28-04-2008, 13:52
например так:
mount -obind /opt/sbin/vsftpd /usr/sbin/vsftpd

dimokrat
28-04-2008, 14:30
Это в post-boot? Спасибо большое, попробую.

al37919
28-04-2008, 17:29
скорее даже в post-mount.

Впрочем, результат зависит от того, что делается раньше --- запускается vsftpd или монтируются диски. Но что то мне подсказывает, что диски должны монтироваться до автозапуска ftp, --- тогда все ОК.

PupsDRVR
24-05-2008, 20:36
Помогите, кто знает, я совсем измучился, есть около 20 гигов минусовок, скаченных с торрентов, там названия были, видимо, на русском языке в win-1251, после закачки самба их в упор не видит, через mc все выглядит кракозяблами. Ручками переобозвать все папки и файлы очень проблематично, поскольку названия угадать по кракозяблам нельзя...


Есть штука и поудобнее, специально для перекодировки имен файлов - convmv (http://j3e.de/linux/convmv/). Ей только нужен perl, который не так давно появился в правильном репозитории.
Нужно только
ipkg install perl
Изменить первую строку скрипта на
#!/opt/bin/perl
Потом использовать, например, так:
convmv -r --notest -f utf8 -t cp1251 *
Так он рекурсивно перекодирует все файлы в текущем каталоге с utf8 на cp1251.

Перл стоит, но в нашем репозитарии convmv нет, по крайней мере ipkg insall convmv не работает, а так, как мне рассказали, было бы можно всё красиво одним махом переименовать, например командой

convmv -f <from> -t <to> * --notest

Может как-то иначе можно это дело прикрутить?
Было ещё такое:

Вот мой скрипт, который создаёт симлинки на utf-8 файлы в текущей директории. Ругать не надо, я не профи, мне лишь бы работало.
Переделан вот из этого http://www.wl500g.info/showpost.php?p=66292&postcount=315
требует пакет recode

#!/bin/sh
func1 () {
ls "$1" | grep [РС] | \
while read ELEMNAME; do
renamed=`echo $ELEMNAME | sed 's/$//' | recode -q u8..1251 | sed -n '1p' | sed 's/.$//'`
if [ "$renamed" != "$ELEMNAME" ]; then
rerenamed=`echo $renamed | sed 's/$//' | recode -q 1251..u8`
if [ "$rerenamed" = "$ELEMNAME" ]; then
echo found UTF-8 file or folder: $1$ELEMNAME
counter=""
newlinkpath=$1$renamed$counter
LINKCORRECT=0
while [ -L "$newlinkpath" ] || [ -f "$newlinkpath" ] || [ -d "$newlinkpath" ]; do
echo " \"$newlinkpath\" already exists"
if [ -L "$newlinkpath" ]; then
LINKTRG=`ls -l "$newlinkpath" | awk '{print substr($0,index($0, "->")+3,33000)}'`
echo " it points to $LINKTRG"
if [ "$ELEMNAME" = "$LINKTRG" ]; then
echo " link is correct"
LINKCORRECT=1
break
else
echo " link is incorrect. will try another name"
fi
else
echo " it is not a symlink. will try another name"
fi
counter=`expr $counter + 1`
newlinkpath=$1$renamed$counter
done
if [ "$LINKCORRECT" != "1" ]; then
echo " running command ln -s \"$ELEMNAME\" \"$newlinkpath\""
ln -s "$ELEMNAME" "$newlinkpath"
fi
fi
fi
done

ls -F "$1" | grep / | \
while read DIRNAME; do
func1 "$1$DIRNAME"
done

}

if [ -n "$1" ]; then
func1 $1/
else
func1 ./
fi


Пробовал сделать исполняемый скрипт из этого кода в папке с испорченными названиями, как его запустить, так и не понял... Указывал полный путь к нему от /tmp, в ответ получал, что такого файла нет...
Если не сложно, расскажите, как при помощи либо этого скрипта, либо при помощи convmv изменить кодировку названий файлов в нужной папке, например, пусть в такой


/tmp/mnt/disc1_1/Encode

Заранее благодарен за помощь! Откликнитесь, пожалуйста, мне надо раз и навсегда с этим моментом разобраться, уж очень хочется точку в этом вопросе поставить.

Marks
24-05-2008, 20:55
Помогите, кто знает, я совсем измучился, есть около 20 гигов минусовок, скаченных с торрентов, там названия были, видимо, на русском языке в win-1251, после закачки самба их в упор не видит, через mc все выглядит кракозяблами. Ручками переобозвать все папки и файлы очень проблематично, поскольку названия угадать по кракозяблам нельзя...



Перл стоит, но в нашем репозитарии convmv нет, по крайней мере ipkg insall convmv не работает, а так, как мне рассказали, было бы можно всё красиво одним махом переименовать, например командой


Может как-то иначе можно это дело прикрутить?
Было ещё такое:


Пробовал сделать исполняемый скрипт из этого кода в папке с испорченными названиями, как его запустить, так и не понял... Указывал полный путь к нему от /tmp, в ответ получал, что такого файла нет...
Если не сложно, расскажите, как при помощи либо этого скрипта, либо при помощи convmv изменить кодировку названий файлов в нужной папке, например, пусть в такой



Заранее благодарен за помощь! Откликнитесь, пожалуйста, мне надо раз и навсегда с этим моментом разобраться, уж очень хочется точку в этом вопросе поставить.по ftp подключитесь... Если IE7 Вид - кодировка далее разбирётесь (переименовать)

PupsDRVR
24-05-2008, 21:31
по ftp подключитесь... Если IE7 Вид - кодировка далее разбирётесь (переименовать)

Да, появились русские названия. Но самое удивительное в другом. Всё прямо противоположно, оказывается кодировка у названий UTF-8, винда их и не видит... Может есть какой способ заставить windows видеть названия в этой кодировке?

Marks
25-05-2008, 08:31
USB Application -> Samba -> DOS Codepage: 866 (Cyrillic/Russian)
и что говорит set ? Есть ли там такое LANG='ru_RU.UTF-8' ?

PupsDRVR
25-05-2008, 08:42
USB Application -> Samba -> DOS Codepage: 866 (Cyrillic/Russian)
и что говорит set ? Есть ли там такое LANG='ru_RU.UTF-8' ?

В веб-морде роутера, конечно, стоит 866 (Cyrillic/Russian), а вот при настройке самбы я, похоже, что-то упустил. Есть только это:


[admin@Pups root]$ set
HOME='/usr/local/root'
IFS='
'
LANG='en_US.UTF8'
LOGNAME='admin'
PATH='/opt/sbin:/opt/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin'
PPID='17838'
PS1='[\u@\h \W]$ '
PS2='> '
PS4='+ '
PWD='/tmp/local/root'
SHELL='/bin/sh'
TERM='linux'
TERMINFO='/opt/share/terminfo'
USER='admin'
_='export LANG=en_US.UTF8'
[admin@Pups root]$


А вот упустил, найти не могу, все настройки с нуля уже перевернул.

Marks
25-05-2008, 08:53
export LANG=ru_RU.UTF-8 добавить в /usr/local/etc/profile , flashfs save ,
flashfs commit , flashfs enable
А самба какая - встроенная, или?

PupsDRVR
25-05-2008, 09:17
export LANG=ru_RU.UTF-8 добавить в /usr/local/etc/profile , flashfs save ,
flashfs commit , flashfs enable
А самба какая - встроенная, или?

Встроенная, не помогло :(

Steep
24-10-2008, 21:43
в процессе компиляции выдаёт:
$ make


gcc -c tcpwrap.c -O2 -Wall -W -Wshadow -idirafter dummyinc
tcpwrap.c:15:20: error: tcpd.h: No such file or directory
tcpwrap.c: In function 'vsf_tcp_wrapper_ok':
tcpwrap.c:28: error: storage size of 'req' isn't known
tcpwrap.c:30: warning: implicit declaration of function 'request_init'
tcpwrap.c:30: error: 'RQ_DAEMON' undeclared (first use in this function)
tcpwrap.c:30: error: (Each undeclared identifier is reported only once
tcpwrap.c:30: error: for each function it appears in.)
tcpwrap.c:30: error: 'RQ_FILE' undeclared (first use in this function)
tcpwrap.c:31: warning: implicit declaration of function 'fromhost'
tcpwrap.c:32: warning: implicit declaration of function 'hosts_access'
tcpwrap.c:28: warning: unused variable 'req'
make: *** [tcpwrap.o] Error 1


В файле builddefs.h закомментарить строку #define VSF_BUILD_TCPWRAPPERS или заменить на #undef VSF_BUILD_TCPWRAPPERS

al37919
25-10-2008, 08:43
Спасибо. Неплохо бы линк на первую страницу вынести. Интересно, кто у нас из русскоязычных модераторов остался в доступе :confused:

Steep
26-10-2008, 19:17
Видно пора новых заводить :)

GoshaP
07-11-2008, 09:32
Эх-х-х-х-х Как всегда спасение утопающих дело рук самих утопающих.
...после этого нужно добавить в его конфиг строки:
convert_charset_enable=1
local_charset=UTF8
remote_charset=WIN1251
...

Поправлю автора.
Строка convert_charset_enable=1 должна выглядеть так:
convert_charset_enable=YES

Если ставить "1", то vsftpd вываливается с ошибкой.

Panamaaa
22-11-2008, 10:25
Свежая сборка vsftpd с поддержкой конвертации русских имен, думаю пригодится :)

А как обновить встроенный в прошивку? Пытаюсь заменить, выдаёт:

cannot create regular file `/usr/sbin/vsftpd': Read-only file system

другИгого
04-01-2009, 00:58
Cпасибо за патченый vsftpd! Супер, теперь ФТП разговаривает по-русски!

Есть альтернативный способ решения проблемы:
Для лечения самбы мне помог совет по переносу конфига самбы в другое место
http://wl500g.info/showpost.php?p=33826&postcount=2
и в перенесенный конфиг я добавил строку (по сравнению со стандартным конфигом от 1.9.2.7-10)
coding system = utf8

..


Так можно было подправить /etc/smb.conf так как надо (добавить coding system = utf8)
и добавить /etc/smb.conf в /tmp/local/.files
сделать flashfs save && flashfs commit && flashfs enable...

BlackHorse
04-01-2009, 05:54
не получается так... smb.conf восстанавливается после flashfs и всегда дефолтный, т.е. тот кто настроен в веб-интерфейсе... :(

Varis
04-01-2009, 08:32
Ммм, тоже мучался с этой проблемой, но недавно она решилась! :)

Обновил прошивку (до 1.9.7.9) и обновил Samba, поставил 3-ю версию. Причем в настройках Samba'ы выставил кодировку UTF-8. Все прекрасно отображается! :)
А вот MC не жует имена файлов...какую-бы кодировку я не ставил.

другИгого
04-01-2009, 22:39
не получается так... smb.conf восстанавливается после flashfs и всегда дефолтный, т.е. тот кто настроен в веб-интерфейсе... :(

а /etc/smb.conf точно в /tmp/local/.files добавлен и все это во флеш сохранено перед перезагрузкой?

у меня работает

edren_baton
06-01-2009, 00:43
Ммм, тоже мучался с этой проблемой, но недавно она решилась! :)

Обновил прошивку (до 1.9.7.9) и обновил Samba, поставил 3-ю версию. Причем в настройках Samba'ы выставил кодировку UTF-8. Все прекрасно отображается! :)
А вот MC не жует имена файлов...какую-бы кодировку я не ставил.

Не напишешь как 3ю самбу ставил? Сам я пошуршал по форуму и наткнулся на какие-то проблемы с установкой install samba3. нужно дописывать версию.
Сейчас стоит samba2, как именно обновиться? :)

BlackHorse
08-01-2009, 21:00
а /etc/smb.conf точно в /tmp/local/.files добавлен и все это во флеш сохранено перед перезагрузкой?

у меня работает

А почему /tmp/local а не /usr/local... хотя по-моему это один и тот же файл...
=======================================
[admin@WL500 local]$ cat /usr/local/.files
/etc/vsftpd.passwd
/etc/smb.conf
/etc/passwd
=======================================
не помогает.... но по моему методу работает...
а у тебя в веб-морде включена самба?

Ervan_vz
01-03-2009, 20:03
Два вопроса
1. вышла версия vsftpd 2.1.0ext1 но не собирается, ругается на crypto из состава openssl... никто не пробовал собирать?
2. у меня в log.smb

[2009/03/01 21:44:55, 0] source/lib/charcnv.c:interpret_character_set(501)
unrecognized character set UTF-8
[2009/03/01 21:44:55, 0] source/lib/util_unistr.c:load_unicode_map(617)
load_unicode_map: filename /opt/lib/codepages/unicode_map.UTF-8 does not exist
файла этого действительно нет. для KOI8-R есть для 1251 есть а для UTF-8 нет :-( не поделитесь?

ze2
18-03-2009, 20:29
Наступил на те же грабли. В консоли имена отображаются верно, через самбу забирются в битом виде.
Капитально решать вопрос времени небыло.
FTP клиент FileZilla (под Убунтой) забрал и чудненько перекодировал имена файлов без моего вмешательста.

ale_xb
19-06-2009, 01:35
и у меня проблема с русскими именами.
в mc - все по русски
в папках, отданных Samba (v.2.2.12, не встроенная в прошивку) для Windows машины - тоже по русски. В настройках Samba стоит client code page = 866 и character set = 1251

в консоли (пользуюсь PuTTY, сейчас в его настройках стоит Win1251) - крякозябры
торренты с русскими именами (rTorrent) качаются, но в папках Samba с Windows машины не отображается. В mc такой файл виден крякозябрами. Можно его переименовать и он становится виден в Samba.

Я так понимаю, что в консоли и русские имена торрентов - в UTF8, а в mc и в Samba - Win1251. Как все правильно настроить, уже окончательно запутался.
Где и что в каких файлах profile и .profile должно быть прописано? Подскажите, плз. Только, пожалуйста, не ссылками на обсуждение, а содержимым указанных файлов и куда именно их класть.
В разных местах противоречивая инфо. Например, здесь http://wl500g.info/showpost.php?p=20276&postcount=3 так:

c) добавть в профиль по умолчанию параметры. Например, чтобы в консоли были видны русские имена файлов:
echo "export LANG=en_US.UTF8" >> /etc/profile
а здесь http://wl500g.info/showpost.php?p=98122&postcount=82 так:

export LANG=ru_RU.UTF-8 добавить в /usr/local/etc/profile
а еще есть указание, что у счастливчиков все в порядке: http://wl500g.info/showpost.php?p=117198&postcount=1087
В общем, у меня полная каша уже в голове :(

al37919
19-06-2009, 07:04
вообще, добавлять надо в ~/.profile Хотя вреда не будет если добавить во все три места. Хоть куда то добавить пробовали?

в настройках самбы (по крайней мере встроенной) должно быть

client code page = 866
coding system = utf8

ale_xb
19-06-2009, 10:42
у меня Samba 2 и не встроенная. Читал, что она не поддерживает UTF-8, поэтому значение coding system я оставил пустым.
Сейчас у меня переменная LANG не установлена вовсе (после безрезультатных мучений везде ее убрал). Какую же ее нужно (LANG=en_US.UTF8 или LANG=en_US.UTF-8 или LANG=ru_RU.UTF8 или LANG=ru_RU.UTF-8) и нужно ли вообще устанавливать?
А файлы *profile у меня в наличии такие:
/tmp/local/etc/profile - пустой
/tmp/etc/profile и /usr/etc/profile одинаковые:

# /etc/profile
export PATH=/opt/sbin:/opt/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
export PS1="[\u@\h \W]\$ "
[ -x /usr/local/etc/profile ] && . /usr/local/etc/profile
[ -x /opt/etc/profile ] && . /opt/etc/profile
/opt/etc/profile:

export TERMINFO=/opt/share/terminfo
alias mc="mc -c"
/tmp/local/root/.profile и /opt/home/p2p/.profile одинаковые:

export TERMINFO="/opt/share/terminfo"
export TERM="xterm"
alias rt='su -c "screen -r" p2p'
chmod a+rw `tty`
stty start undef
stty stop undef
Где что у меня неверно? И что же должно быть прописано в конфиге Samba?

al37919
24-06-2009, 07:33
у меня Samba 2 и не встроенная.
Товарищ, не парь мозги себе и окружающим. Поставь встроенную самбу, Олег ее специально патчил для работы с utf8, а самбу 2 из репозитория никто не затачивал. Ей нужны две строки, которые я указал, либо еще более простой вариант --- включить ее в вебе и изучить сгенеренный файл /etc/smb.conf

Для консоли в /tmp/local/root/.profile должно стоять

export LANG="ru_RU.UTF-8"

ale_xb
24-06-2009, 20:59
В общем, так и сделал. Снес внешнюю Samba, запустил встроенную, настроил profile. В консоли и в Windows - все по русски. Теперь буду бороться с mc, ставить его с поддержкой UTF8.

mc встал сходу! Добавил мелкий костыль mtab для отображения состояния fs, теперь у меня все везде по русски, да еще и объемы дисков показывает.
Всем спасибо, ура!

Steelphoenix
25-09-2009, 23:25
Свежая сборка vsftpd с поддержкой конвертации русских имен, думаю пригодится :)

Спасибо. может, невнимательно читала - но как убить стандарный vsftpd из прошивки и как заменить его твоей сборкой?

al37919
26-09-2009, 06:37
1. скопировать /etc/vsftpd.conf в /opt/etc/vsftpd.conf
2. положить vsftpd из архива в /opt/sbin/
3. выключить ftp сервер в вебинтерфейсе
4. перезагрузиться
5. проверить функционирование путем ручного запуска /opt/sbin/vsftpd
6. при успехе прописать его запуск в /usr/local/sbin/post-mount

Steelphoenix
27-09-2009, 21:49
1. скопировать /etc/vsftpd.conf в /opt/etc/vsftpd.conf
2. положить vsftpd из архива в /opt/sbin/
3. выключить ftp сервер в вебинтерфейсе
4. перезагрузиться
5. проверить функционирование путем ручного запуска /opt/sbin/vsftpd
6. при успехе прописать его запуск в /usr/local/sbin/post-mount

Проблемы начались на п.5
1.
500 OOPS: vsftpd: not configured for standalone, must be started from inetd

Не вопрос, установила xinetd, прописала в /opt/etc/xinetd.d/vsftpd



service ftp
{
disable = no
socket_type = stream
user = admin
server = /opt/sbin/vsftpd
server_args = /opt/etc/vsftpd.conf
wait = no
nice = 10
}

Ладно, вроде xinetd запустился, в списке процессов есть.
Дальше
По телнету подключаюсь к ftp
Получаю

500 OOPS: Unrecognised variable in config file: passvd_file

Ну да, нет такой опции в man vsftpd. И что, теперь пользователей создавать через passwd?:( Или как вообще реализовать виртуальных пользователей?
Если RTFM, то скажите, куда

al37919
27-09-2009, 22:36
для запуска без inetd в vsftpd.conf должна быть строка
listen=YES
А вот что касается passwd_file, то если исправление этой опечатки не помогает, то судя по этому: http://www.google.ru/url?sa=t&source=web&ct=res&cd=1&url=http%3A%2F%2Fwl500g.info%2Fattachment.php%3Fat tachmentid%3D3871%26d%3D1227553450&ei=cMa_SpnVMNHFsgamsqEw&usg=AFQjCNEB5a9df8Ix4Bzf6IR6DLgHQYMmlg&sig2=MOAB8qLkaK-ntZlTqYOwqQ
passwd_file --- это опция, добавленная Олегом. Следовательно для ее использования нужно либо найти билд с этим патчем, либо собрать vsftpd из исходников.

tin
15-10-2009, 03:47
Зачем городить сборку на рутере?:eek:
Процесс сборки пакетов подробно описан на
http://www.nslu2-linux.org/wiki/Optware/AddAPackageToOptware
Кому надо vsftpd-2.1.2+.

salvador
16-10-2009, 01:52
- я сделал всё по инструкции от Vectormm абсолютно не шаря ни в linux, ни в прошивании (т.е. по пунктам всё подряд чайнично и бездумно)
- после этого чтобы скачать с роутера на комп русскоязычный торрент приходилось через Putty сначала удалить файл из dl, переименовать скачанный файл в work, затем через FAR скачать его.
-----
Решение обнаружил такое. Пользуясь MozillaFirefox установил для него дополнение FireFTP. Прописал в нем путь к роутеру. Сделал закладку. Очень удобно! теперь всё делаю не выходя из броузера, не запускаю ни FAR, ни PUTTY. Понимает русские имена, удобный интерфейс и экономит время)
;)

dis8848
15-01-2010, 01:43
Честно попытался сделать по инструкции в 7 посте, НО, используя вот эту версию: http://centos.alt.ru/pub/temp/vsftpd-ext1/ ссылка на которую была дана здесь: http://vsftpd.devnet.ru/forum/viewtopic.php?t=256

На этапе
Затем запускаем компиляцию:
makeвыдало:
gcc -c main.c -O2 -Wall -W -Wshadow -idirafter dummyinc
make: gcc: Command not found
make: *** [main.o] Error 127 после прочтения сообщения (http://wl500g.info/showpost.php?p=79302&postcount=60)
gcc входит в состав buildroot сделал
ipkg install buildroot при этом выдало:
An error ocurred, return value: 1.
Collected errors:
Package buildroot wants to install file /opt/include/iconv.h
But that file is already provided by package libiconv
переименовал iconv.h в iconv.h_old и запустил по новой
ipkg install buildrootвыдало
Updating /opt/etc/ld.so.cache
Successfully terminated.
затем сделал:
make и тут посыпались ошибки, расшифровать тайный смысл которых меня не хватило:
[root@WL500 vsftpd-2.2.2-ext.1]$ make
gcc -c main.c -O2 -Wall -W -Wshadow -idirafter dummyinc
gcc -c utility.c -O2 -Wall -W -Wshadow -idirafter dummyinc
gcc -c prelogin.c -O2 -Wall -W -Wshadow -idirafter dummyinc
gcc -c ftpcmdio.c -O2 -Wall -W -Wshadow -idirafter dummyinc
gcc -c postlogin.c -O2 -Wall -W -Wshadow -idirafter dummyinc
gcc -c privsock.c -O2 -Wall -W -Wshadow -idirafter dummyinc
gcc -c tunables.c -O2 -Wall -W -Wshadow -idirafter dummyinc
gcc -c ftpdataio.c -O2 -Wall -W -Wshadow -idirafter dummyinc
gcc -c secbuf.c -O2 -Wall -W -Wshadow -idirafter dummyinc
gcc -c ls.c -O2 -Wall -W -Wshadow -idirafter dummyinc
gcc -c postprivparent.c -O2 -Wall -W -Wshadow -idirafter dummyinc
gcc -c logging.c -O2 -Wall -W -Wshadow -idirafter dummyinc
gcc -c str.c -O2 -Wall -W -Wshadow -idirafter dummyinc
gcc -c netstr.c -O2 -Wall -W -Wshadow -idirafter dummyinc
gcc -c sysstr.c -O2 -Wall -W -Wshadow -idirafter dummyinc
gcc -c strlist.c -O2 -Wall -W -Wshadow -idirafter dummyinc
gcc -c banner.c -O2 -Wall -W -Wshadow -idirafter dummyinc
gcc -c filestr.c -O2 -Wall -W -Wshadow -idirafter dummyinc
gcc -c parseconf.c -O2 -Wall -W -Wshadow -idirafter dummyinc
gcc -c secutil.c -O2 -Wall -W -Wshadow -idirafter dummyinc
gcc -c ascii.c -O2 -Wall -W -Wshadow -idirafter dummyinc
gcc -c oneprocess.c -O2 -Wall -W -Wshadow -idirafter dummyinc
gcc -c twoprocess.c -O2 -Wall -W -Wshadow -idirafter dummyinc
gcc -c privops.c -O2 -Wall -W -Wshadow -idirafter dummyinc
gcc -c standalone.c -O2 -Wall -W -Wshadow -idirafter dummyinc
gcc -c hash.c -O2 -Wall -W -Wshadow -idirafter dummyinc
gcc -c tcpwrap.c -O2 -Wall -W -Wshadow -idirafter dummyinc
tcpwrap.c:16:20: error: tcpd.h: No such file or directory
tcpwrap.c: In function ‘vsf_tcp_wrapper_ok’:
tcpwrap.c:29: error: storage size of ‘req’ isn’t known
tcpwrap.c:31: warning: implicit declaration of function ‘request_init’
tcpwrap.c:31: error: ‘RQ_DAEMON’ undeclared (first use in this function)
tcpwrap.c:31: error: (Each undeclared identifier is reported only once
tcpwrap.c:31: error: for each function it appears in.)
tcpwrap.c:31: error: ‘RQ_FILE’ undeclared (first use in this function)
tcpwrap.c:32: warning: implicit declaration of function ‘fromhost’
tcpwrap.c:33: warning: implicit declaration of function ‘hosts_access’
tcpwrap.c:29: warning: unused variable ‘req’
make: *** [tcpwrap.o] Error 1
может подскажет кто? что можно сделать, чтобы всё же установить этот пакет?
п.с. сейчас стоит vsftpd 2.2.2.-1

dis8848
15-01-2010, 14:44
может подскажет кто? что можно сделатьСам спросил - сам ответил.
Снёс всё к такой-то матери, набрал:
ipkg install vsftpd+ раскомментировал строки:
convert_charset_enable=YES
local_charset=UTF8
remote_charset=CP1251и стало мне щастье безо всяких там компиляций.
Версия:

vsftpd+ - 2.1.2-ext1-1

pilers
20-03-2010, 20:18
Обнаружена программа, по своему уникальная, так как может пакетно перекодировать не только имена и содержимое файлов, но и имена папок! Кроме перекодировки производит еще и транслитерацию, но это уже к теме не относится.
В программе имеется помощник, позволяющий протестировать задуманную операцию по перекодировке с показом конечного результата (не колбася при зтом сам файл или папку). Если не известна кодировка исходных "кракозябров", но известен хотя бы кусочек правильного имени файла (папки), программа эту кодировку находит.
Работает под Windows, автор unnamed_ages (http://ru.intel.com/business/community/index.php?showuser=70714).
Статья о программе, (http://ru.intel.com/business/community/index.php?automodule=blog&blogid=7822&showentry=771)скачать ее можно отсюда. (http://unnamed-ages.narod.ru/convertfn.html) Обнаружены особенности, о которых автор не пишет - перекодируются только файлы и/или папки вместе с вложенными файлами, которые в свою очередь вложенны в другую папку. Причем при тестировании в помощнике надо выбирать сам объект перекодировки, а для обработки выбирать папку, куда эти объекты вложены.
Работоспособность проверена и на файле и на папке. Режим обработки должен быть "Перекодировка имен", он там по умолчанию. Проверялась перекодировка как в UTF-8 так и обратно.

da2001
18-06-2010, 15:16
[root@RT-N16 /]$ mkdir /opt/source/vsftpd-2.0.5.ext3.3
cannot create directory `/opt/source/vsftpd-2.0.5.ext3.3': No such file or directory

Как с этим бороться?
Пробовал так:
[root@RT-N16 /]$ cd /opt
[root@RT-N16 /opt]$ mkdir /source
cannot create directory `/source': Read-only file system

Права доступа на opt
drwxr-xr-x 18 root root 4096 2010-06-18 16:30 opt

Помогите!