я понял, что кроме фтп мне ничего не надо особо на харде. Вопрос - что прописать, чтобы убрать включение rtorrent'a?
Товарищи нужна помощь. Не работает web сервер. Копаюсь уже не первый день, есть подозрение что что-то не так с файлом /opt/etc/init.d/S80lighttpd Скиньте пожалуйста файлик или листинг, того что там должно быть.
Last edited by turtle_spy; 18-03-2010 at 06:46.
Ага, щас..
filefrag -v Ferry\ Corsten\ presents\ -\ Corsten\'s\ Countdown\ 142\ \(17\ March\ 2010\).mp3
Ferry Corsten presents - Corsten's Countdown 142 (17 March 2010).mp3: 370 extents found, perfection would be 1 extent
Это при том, что длина файла 105 МБ, скачано 10%.
libtorrent - 0.12.6-1
rtorrent - 0.8.6-1
Прошивка: 1.9.2.7-d-r1222
Репозиторий: http://ipkg.nslu2-linux.org/feeds/op...g/cross/stable
ФС: ext2/3
Как минимум не включили в репозиторий
Прошел все ешаги инструкции. Все открылось и заработала, запустились скачка и раздача. Вот только если трафик за скачку считается. То за раздачу нет.
Все что в голуву пришло, уже проверил. Пока без результатно. Может у кого-то есть идеи?
Найти libtorrent (сейчас это libtorrent-0.12.6), скомпилированный под Вашу платформу с опцией --with-posix-fallocate
Или скомпилировать самому, вот инструкции:
http://code.google.com/p/wl500g/wiki...CustomFirmware
http://vectormm.net/linux/60-samosto...-rtorrent.html
Если руки дойдут и получиться - выложу сюда
Проблема оказалась несколько глубже, кросс-компиляторы, вплоть до последнего рабочего, который мне попался gcc-4.2.4-uclibc-0.9.30 не в состоянии реализовать функцию posix_fallocate.
Так что я решил просто дописать функцию захвата и заполнения файла нулями в саму библиотеку rtorrent'a.
К сообщению приложено 2 пропатченых библиотеки libtorrent_0.12.6 : с TEXT PADDING и ZERO PADDING. Библиотека c TEXT PADDING вместо нулей вписывает текст NO MORE FRAGMENTATION, по этому тексту удобно наблюдать за заполнением файла и вы уверенны что он создан и rtorrent работает как надо.
Библиотека c ZERO PADDING рекомендуется для настроенного rtorrent'a - заполнение нулями даёт возможность предварительного прослушивания/просмотра недокачанных файлов плеерами.
Дамп области файла, где хорошо видно границу закачанного блока данных в зарезервированное пространство: http://img6.imageshack.us/img6/9757/...ionpadding.jpg
Как пользоваться простому юзеру:
Обновиться до rtorrent 0.8.6 (libtorrent 0.12.6), сейчас для этого достаточно набрать, предварительно остановив программу:
ipkg update
ipkg upgrade rtorrent
ipkg upgrade libtorrent (если это не произойдёт автоматически)
Подменить библиотеку libtorrent скачанной отсюда с архива, обычно достаточно заменить только файл: /opt/lib/libtorrent.so.11.0.6, это должен быть файл около мегабайта размером, не симлинк. У Вас путь может быть другим.
Не забудьте добавить в rtorrent.conf строчку system.file_allocate.set = yes
Если кому интересно код патча с ZERO PADDING:
Код патча с TEXT PADDING:Code:root@darkstar:/wl500g/optware/oleg/builds/libtorrent/src/data# cat socket_file.cc.diff 114,135c114 < //return !posix_fallocate(m_fd, offset, length); < { < bool success; < char buf[ 4 * 1024 ] = {0}; < uint64_t len; < uint64_t sb = sizeof( buf ); < < if (offset > length) throw internal_error("SocketFile::posix_fallocate()incorrect offset"); < < len = length-offset; < success = 1; < lseek(m_fd, offset, SEEK_SET); < while ( len > 0 && success ) < { < if (len < sb) sb = len; < len -= sb; < success = write( m_fd, buf, sb ); < }//while < < lseek(m_fd, offset, SEEK_SET); < return true; < }//block --- > return !posix_fallocate(m_fd, offset, length);
Тестирование работоспособности:Code:root@darkstar:/wl500g/optware/oleg/builds/libtorrent/src/data# cat socket_file.cc.text_padding.diff 114,147c114 < //return !posix_fallocate(m_fd, offset, length); < { < bool success; < char buf[ 4 * 1024 ] = {0}; < uint64_t len; < uint64_t sb = sizeof( buf ); < uint64_t i; < < if (offset > length) throw internal_error("SocketFile::posix_fallocate()incorrect offset"); < //return false; < < //fill in padding buffer < < //printf("sb = %i \r\n", sb); < for (i=0;i<sb-27;i+=32) { < strncpy(&buf[i]," -~+= NO MORE FRAGMENTATION =+~- ",32); < } < < len = length-offset; < success = 1; < lseek(m_fd, offset, SEEK_SET); < while ( len > 0 && success ) < { < if (len < sb) sb = len; < len -= sb; < success = write( m_fd, buf, sb ); < // printf("success = %i, len = %i,", success, len ); < // printf(" sb = %i \r\n", sb ); < < }//while < < lseek(m_fd, offset, SEEK_SET); < return true; < }//block --- > return !posix_fallocate(m_fd, offset, length);
до патча:
root# filefrag Ferry_143.mp3
Ferry_143.mp3: 1282 extents found, perfection would be 1 extent
после патча:
root# filefrag Ferry_140.mp3
Ferry_140.mp3: 1 extent found
Не забывайте, что для захвата пространства на диске роутеру может потребоваться значительное время, ведь максимальная скорость работы с диском колеблется в пределах 3.5МБайт/сек. Тоесть для первичного создания файла в таком режиме потребуется примерно столько же времени, сколько на перехеширование. Клиент на это время блокируется.
Прошу отписаться тех, кто скачал и потестировал пропатченную библиотеку.
Last edited by haccker; 29-03-2010 at 13:07.
Набрал я команды
ipkg update
ipkg upgrade rtorrent
ipkg upgrade libtorrent
Но система обновляться не пожелала, написала нафик тубидон и, как следствие, не скачала новые библиотеки. Шо делать простому юзеру? щас библиотеки 11.0.6 вроде (ставил по мануалу с сайта vectormm)
Asus wl500gpv2, 1.9.2.7-10.7, USB HDD, Printer, Vnstat, rtorrent+WebUI + SSL, FTP,DyDNS. И да пребудет с вами Зачот!
Думаю разработчики просто забыли обновить цифры версии в некоторых местах, внутри библиотеки 12.0.6, а в названии файла осталось 11.0.6.щас библиотеки 11.0.6 вроде
Поэтому и получается такой конфуз:
В /opt/lib физически находится файл /opt/lib/libtorrent.so.11.0.6, а вотCode:[admin@ASUS root]$ ipkg list|grep libtorrent libtorrent - 0.12.6-1 - libtorrent is a BitTorrent library with a focus on high performance and good code. [admin@ASUS root]$ ls -l /opt/lib/libtorre* lrwxrwxrwx 1 admin root 20 Mar 21 10:29 /opt/lib/libtorrent.so -> libtorrent.so.11.0.6 lrwxrwxrwx 1 admin root 20 Mar 21 10:29 /opt/lib/libtorrent.so.11 -> libtorrent.so.11.0.6 -rwxr-xr-x 1 admin root 1069540 Mar 29 10:29 /opt/lib/libtorrent.so.11.0.6
вебморда rutorrent и репозиторий показывают версию 12.0.6, в исходниках версии 12.0.6 также стоят цифры 11.0.6 - не заморачивайтесь.
Постом выше я же указал какой файл нужно заменить - именно /opt/lib/libtorrent.so.11.0.6, это не ошибка.
Last edited by haccker; 30-03-2010 at 16:06.
У меня такие версии библиотеки:
Поставил согласно инструкции - запускается, в процессах есть и в рабочем состоянии. Но не могу зайти через консоль на rtorrent (комнадой rt), через веб-интерфейс все ок.$ ipkg list_installed | grep libtorrent
libtorrent - 0.12.6-1 - libtorrent is a BitTorrent library with a focus on high performance and good code.
rtorrent - 0.8.6-1 - rtorrent is a BitTorrent client for ncurses, using the libtorrent library.
что на что менять? а то я не всосал улитку.
Asus wl500gpv2, 1.9.2.7-10.7, USB HDD, Printer, Vnstat, rtorrent+WebUI + SSL, FTP,DyDNS. И да пребудет с вами Зачот!
скажите как произвести обслуживание диска?
как сделать проверку внешнего usb диска полностью?
нужно как то грамотно размонтировать по идее? там же не только хранилище торрента но и весь софт установленный на него.
а как сделать грамотный бекап системы и программ установленных на диске? чтоб в случае замены диска можно было быстро развернуть всю систему? прошивка энтузиастов + куча строннего роутерного софта вроде самбы трансмиссион и тд...
Заменить /opt/lib/libtorrent.so.11.0.6 аналогичным файлом с архива.что на что менять? а то я не всосал улитку.
dramnbass
http://wl500g.info/forumdisplay.php?f=86
Asgard
Я просил отписаться тех, кто уже пользуется rtorrent и знает, для чего ему нужна эта библиотека. Вам сюда:
http://wl500g.info/showthread.php?t=14256
http://wl500g.info/showthread.php?t=16485
http://wl500g.info/showthread.php?t=13442
SkyDevil
А раньше выделял? Зачем тогда подменяли библиотеку? Прочитайте ещё раз внимательно, проверьте конфиг рторрента, поставте версию библиотеки с TEXT_PADDING и проведите тесты как описано в посте с патчем.рторрент сразу начинает(а не как Вы писали, что мол он сначала будет заполнять нулями место по размеру файла )качать и теперь не выделяет на винте сразу место под весь размер файла.
Last edited by haccker; 31-03-2010 at 10:39.