Rutorrent+rtorrent без диска... на старой малине

Тема в разделе "Флудилка", создана пользователем Igor68, 30 авг 2023.

  1. Igor68

    Igor68 Гуру

    Ну не совсем без диска, а так:
    Код (Text):
    www-data@rpi1plus ~/rutorrent $ df -h
    Filesystem                    Size  Used Avail Use% Mounted on
    /dev/root                      15G  6.8G  7.2G  49% /
    devtmpfs                      182M     0  182M   0% /dev
    tmpfs                          38M  272K   37M   1% /run
    tmpfs                         5.0M     0  5.0M   0% /run/lock
    tmpfs                          75M     0   75M   0% /run/shm
    /dev/mmcblk0p1                 56M   20M   37M  36% /boot
    /dev/ram1                     3.9M   30K  3.7M   1% /mnt/defdisk
    /dev/ram1                     3.9M   30K  3.7M   1% /home/httpd/ramdisk
    192.168.5.2:/media/AiDisk_a2  467G  303G  140G  69% /mnt/nfs/AiDisk_a2
    192.168.5.2:/media/AiDisk_a1  458G  349G  109G  77% /mnt/nfs/AiDisk_a1
     
    то есть диски-то есть, но они по NFS.
    запущен rtorrent, и есть rutorrent.
    rtorrent - собственно консольный клиент на raspberry Pi 1 Plus
    rutorrent - GUI на WEB странице. Как торрент работает все знают.
    вот статус памяти на малине:

    Код (Text):
    www-data@rpi1plus ~/rutorrent $ free -h
                 total       used       free     shared    buffers     cached
    Mem:          371M       337M        33M         0B        29M       194M
    -/+ buffers/cache:       114M       257M
    Swap:           0B         0B         0B
     
    А так в браузере (apache поднят на малине):
    Screenshot 2023-08-30 at 19-54-46 ruTorrent v3.9.png Screenshot 2023-08-30 at 20-13-01 ruTorrent v3.9.png Screenshot 2023-08-30 at 20-14-33 ruTorrent v3.9.png Screenshot 2023-08-30 at 20-15-07 ruTorrent v3.9.png

    PS: Но сначала решил этот вопрос:
    https://forum.amperka.ru/threads/Заголовки-те-самые-для-сборки-модулей.23385/#post-310594
    Хотел собрать rtorrent, а тут после aptitude update он стал доступен по aptitude install.
    Особенно благодарен @ZAZ-965 за помощь.
     
    Последнее редактирование: 30 авг 2023
    ZAZ-965 нравится это.
  2. parovoZZ

    parovoZZ Гуру

    запускал я такую свзяку, только на бзди. Лет 12 тому назад.
     
  3. Igor68

    Igor68 Гуру

    А что молчал, когда люди(не я) задавали вопросы?
    У меня история несколько другая: имеется ряд роутеров(я говорил, что их 3) в двух разных wifi сетях а к одному из них (dir620) приклеена(буквально) старая первая малина, питается она от этого роутера. Два других роутера имеют жесткие диски, и доступ к ним сделан по SMB и NFS из любой из сетей. Интернет входит в один из роутеров(WAN) и по wifi 5GHz "проходит" ко мне на 2-й роутер, и по ETHERNET на 3-й роутер. В связи с тем что прошивки на роутерах дрянные(хоть там и есть торрент), бало решено на все поставить OpenWRT(разные конечно), где нет торрента... но зато надёжные и удобные. Малина выполняет основную задачу(мою), но сегодня ещё добавил торрент. Значит с компа его можно сносить, а файлы будут доступны с любого из устройств. Да и торрент будет работать бОльшую часть времени суток - почти круглосуточно. Скорость особого значения не имеет.
    Теперь осталось настроить запуск о останов rtorrent из WEB интерфейса, потому как в автозапуск ставить не очень хочется. Просто убивать процесс rtorrent не хочется, как бы сделать корректно? Да и стартовать он должен от имени WEB сервера (сейчас именно так и работает - тестирую).
     
  4. ZAZ-965

    ZAZ-965 Гуру

    @Igor68, OpenWRT сами собирали или взяли готовое? Я в роутеры с 32-64MB RAM, 8MB Flash наловчился запихивать уйму полезных вещей. В https://openwrt.org/docs/guide-user/additional-software/saving_space описаны базовые рекомендации - удалить,если не используется, IP6; отключить отладочные опции ядра; встроить в ядро все используемые модули; минифицировать lua, js, css. Плюс есть возможность устанавливать программы в память роутера https://openwrt.org/docs/guide-user/additional-software/opkg#non-standard_installation_destinations
    Например, установить в память mc, htop. ncdu
    Код (Bash):
    opkg install -d ram mc htop ncdu
    export PATH=$PATH:/tmp/usr/bin
    export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/tmp/usr/lib
     
    Igor68 нравится это.
  5. Igor68

    Igor68 Гуру

    Пока использую tcpdump только по Вашей рекомендации.
     
  6. Igor68

    Igor68 Гуру

    Вот бьюсь сутки уже(в общем случае), но ни в какую не могу запустить rtorrent из скрипта. Автостарт конечно удобно, но имею цель запускать и останавливать этот сервис в из скрипта.
    Запуск из командной строки нормально, хоть в фоне, хоть напрямую - Вы видели. Кстати директория rutorrent(всё, что для WEB GUI) стандартная как обычно, но линк на диск по NFS - работает, Вы то же видели. Извините отвлёкся.
    запуск в фоне(www-data - рабочая директория apache):
    Код (Text):
    www-data@rpi1plus ~ $ rtorrent &
    [1] 3178
    www-data@rpi1plus ~ $
    по сети:
    Код (Text):
    www-data@rpi1plus ~/nfs/AiDisk_a2/tmp/rTorrent/apache2 $ netstat -nltpa
    (Not all processes could be identified, non-owned process info
    will not be shown, you would have to be root to see it all.)
    Active Internet connections (servers and established)
    Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
    tcp        0      0 127.0.0.1:5000          0.0.0.0:*               LISTEN      3178/rtorrent  
    tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      -              
    tcp        0      0 0.0.0.0:21              0.0.0.0:*               LISTEN      -              
    tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      -              
    tcp        0      0 192.168.7.10:22         192.168.7.2:58060       ESTABLISHED -              
    tcp        0      0 192.168.7.10:80         192.168.7.5:43648       TIME_WAIT   -              
    tcp      158      0 127.0.0.1:5000          127.0.0.1:38535         ESTABLISHED -              
    tcp        0      0 192.168.7.10:782        192.168.5.2:2049        ESTABLISHED -              
    tcp        0      0 127.0.0.1:38533         127.0.0.1:5000          FIN_WAIT2   -              
    tcp        0      0 127.0.0.1:38535         127.0.0.1:5000          ESTABLISHED -              
    tcp     3166      0 127.0.0.1:5000          127.0.0.1:38530         CLOSE_WAIT  -              
    tcp      158      0 127.0.0.1:5000          127.0.0.1:38536         ESTABLISHED -              
    tcp     3165      0 127.0.0.1:5000          127.0.0.1:38534         ESTABLISHED -              
    tcp        0      0 192.168.7.10:80         192.168.7.5:33996       ESTABLISHED -              
    tcp        0      0 127.0.0.1:38536         127.0.0.1:5000          ESTABLISHED -              
    tcp     3166      0 127.0.0.1:5000          127.0.0.1:38532         CLOSE_WAIT  -              
    tcp        0      0 192.168.7.10:80         192.168.7.2:43070       ESTABLISHED -              
    tcp        0      0 192.168.7.10:22         192.168.7.2:56200       ESTABLISHED -              
    tcp     3092      0 127.0.0.1:5000          127.0.0.1:38531         CLOSE_WAIT  -              
    tcp        0      0 127.0.0.1:38534         127.0.0.1:5000          ESTABLISHED -              
    tcp     3092      0 127.0.0.1:5000          127.0.0.1:38529         CLOSE_WAIT  -              
    tcp        0      0 192.168.7.10:22         192.168.7.2:51246       ESTABLISHED -              
    tcp     3092      0 127.0.0.1:5000          127.0.0.1:38533         CLOSE_WAIT  -              
    tcp        1      0 192.168.7.10:80         192.168.7.5:48538       CLOSE_WAIT  -              
    www-data@rpi1plus ~/nfs/AiDisk_a2/tmp/rTorrent/apache2 $
     
    порт 5000 поднят, но WEB GUI не в работе.
    Если запускать не в фоне, но в сессии www-data(рабочая директория apache) - работает.
    Что-то с правами, но куда копать?
     
  7. Igor68

    Igor68 Гуру

    По поводу OpenWRT взял готовое - не очень грамотен, или очень не грамотен в этой теме. Имею и qemu с набором так же готовых виртуальных машин, одна из них OpenWRT, но только - сил нет так распыляться, тем разных много, особенно в работе.
     
  8. Igor68

    Igor68 Гуру

    ...ошибки, ох ошибки по невнимательности. При запуске rtorrent с помощью скрипта (я не учу, а показываю свои шишки). А именно скачивал много скриптов автозапуска.
    Стал ковырять этот самый /etc/init.d/rtorrentInit.sh (вот добавил для отладки):
    Код (Bash):
    #test
    echo "test: user=$user;  config=$config;  options=$options;  base=$base; srnname=$srnname"
    а ругался скрипт этим (из лога ошибок при отладке) :
    Код (Text):

    cannot find readable config . check that it is there and permissions are appropriate
    cannot find readable config . check that it is there and permissions are appropriate
    cannot find readable session directory  from config /home/httpd/.rtorrent.rc. check permissions
    cannot find readable session directory  from config /home/httpd/.rtorrent.rc. check permissions
    cannot find readable session directory  from config /home/httpd/.rtorrent.rc. check permissions
    cannot find readable session directory .rtorrent_session from config /home/httpd/.rtorrent.rc. check permissions
    cannot find readable session directory /home/httpd/.rtorrent_session from config /home/httpd/.rtorrent.rc. check permissions
    cannot find readable session directory /home/httpd/.rtorrent_session from config /home/httpd/.rtorrent.rc. check permissions
     
    вот этим местом(одна из ошибок):
    Код (Bash):
        session=`getsession "$config"`
        if ! [ -d "${session}" ] ; then
            echo "cannot find readable session directory ${session} from config ${config}. check permissions" | tee -a "$logfile" >&2
            exit 3
        fi
     
    значит функция(в этом случае):
    Код (Bash):
    getsession() {
        session=`cat "$1" | grep "^[[:space:]]*session[[:space:]]*=" | sed "s/^[[:space:]]*session[[:space:]]*=[[:space:]]*//" `
        echo $session
    }
     
    не так отрабатывает - не бойтесь добавлять отладочные строки (скрипты писали не Боги). Ковыряние привело к тому, что форма записи (имена параметров и т.п.) не нравится скрипту.
    стал ковырять ~/.rtorrent.rc b и вот это место не нравиться:
    Код (Text):

    session.path.set = /home/httpd/.rtorrent_session
     
    поменял на это:
    Код (Text):

    session = /home/httpd/.rtorrent_session
     
    И всё заработало. Следует отметить что на PC все нормально, а на малине надо исправлять. И сам rtorrent пользуется этим trorrent.rc и он при прямом запуске претензий не предъявил. Входит от версии к версии всё меняется.

    PS: сейчас запускаю по ssh сессии от root - скрипт имеет и старт и стоп. Осталось его прикрутит к веб - морде.
    Что касается скриптов и советов, то иногда надо просто посмотреть, ведь это не бинарная форма... и интернет, а тем более видео просто трата времени.
     
    Последнее редактирование: 2 сен 2023