OlimpFil Posted November 6, 2013 Share #1 Posted November 6, 2013 У меня вот тут созрел целый вопросище. Уже много раз поднимался вопрос по поводу запуска DC++ на DSM. Лично для меня это необходимо для получения бесплатного интернета от провайдера, по VIP программе которого я должен находитсья N-ое количество часов на хабе и раздавать N-й объем данных. До сих пор роль раздавалки играл мой десктопный комп, который с недавнего времени тянул все данные с Synology, но почему бы напрямую не озадачить Synology DSM раздавать контент?! Сколько я ни ковырял инет по ключевым словам Synology DC++ ничего вразумительного найти не мог, сегодня решил поискать, а как обстоят дела у NAS'ов других производителей и наткнулся на интересную статью, где чел поднял DC++ под некой средой chroot, которая ставится и на DSM!!! Вот линк на статью: http://club.dns-shop.ru/RabinoVich/blog/%D0%A1%D1%82…5%D0%BD%D1%82-DC/ Теперь вопрос знатокам (сам я в линуксе вобще не але, но по четкому руководству думаю смогу все выполнить), я установил на DSM пакет chroot, что дальше делать?! Как зайти именно в chroot, а не просто по ssh в DSM? Возможно ли повторить то, что было установлено тем человеком на другом НАСе, Очень прошу помочь, если есть разбирающиеся люди в данном вопросе, накидаем подробный мануал, если DC заработает, я думаю многим пригодится! Все получилось!!!! 1. Ставим IPKG http://shurshun.ru/synology-instruktsiy ... /#more-610 2. Ставим microdc2 http://forum.hutor.ru/viewtopic.php?t=54784 Link to comment Share on other sites More sharing options...
OlimpFil Posted November 7, 2013 Author Share #2 Posted November 7, 2013 Ребят, кто силен в линухе, подскажите по DSM. Поднял microdc2 вот по этой инструкции http://forum.hutor.ru/viewtopic.php?t=54784 все работает, но никак не могу его заставить запускаться автоматически после перезагрузки NAS'a. Создал в папке /usr/syno/etc/rc.d/ скрипт S00microdc2.sh с содержимым: #!/bin/sh /opt/bin/screen -d -m su -l root -c "microdc2 -c /root/.microdc2/config" Установил на него права: chmod 775 /usr/syno/etc/rc.d/S00microdc2.sh Но после перезапуска NAS'a microdc2 не стартует. Если по SSH ручками выполнить /opt/bin/screen -d -m su -l root -c "microdc2 -c /root/.microdc2/config" то все прекрасно стартует в фоновом режиме. Подскажите где ошибка или может есть другой способ автостартовать microdc2. Последняя заковырка осталась, помогите!!! Link to comment Share on other sites More sharing options...
OlimpFil Posted November 7, 2013 Author Share #3 Posted November 7, 2013 Решено нужно было его просто в конец засунуть автозагрузки, т.е. назвать S99microdc2.sh Link to comment Share on other sites More sharing options...
k0ste Posted November 7, 2013 Share #4 Posted November 7, 2013 00 это он у тебя первым запустится, может быть даже когда еще сети нету, поставь его в конец. UPD: автор сам уже допёр Link to comment Share on other sites More sharing options...
OlimpFil Posted November 16, 2013 Author Share #5 Posted November 16, 2013 (edited) Ребят, появился вопрос. Поднял я microDC2 на хренолоджи, но эта засранка падает где-то раз в сутки. В инете пошукал, проблема у многих, нашел некое решение, которое проверяет, не упала ли дц-ка и запускает ее если она упала. Но скрипт этот под роутер какой-то. Можете помочь переделать его под нашу ОСь, а то я в линухах не очень. Помогите плиз Вот описание и скрипт, а также сам линк на тему: http://forum.zyxmon.org/topic76-microdc ... netic.html Интересует именно упала ДЦ или нет, если упала, то рестарт дц-шки и в лог это событие. Архивирование не нужно. У кого как, у меня он почти не вылетает, но на всякий случай проверку оформил, временами при перезагрузке роутера он запускается несколько раз (несколько процессов одновременно и с хаба постоянно вылетает из-за этого) - это тоже учел! S20microdc2 (Пишет в Логе запуск, стоп, рестарт (при рестарте архивируется лог), проверка на запущенность, архивирование лога, проверка Хэширования файлов... мне больше всего было это интересно!!! а то нагрузка 100% почти (обновил алгоритм проверка хэша 30-04-2012)) #!/bin/sh MOUNTPNT="/media/DISK_A1" MOUNT="$MOUNTPNT/system" SCREEN="$MOUNT/usr/sbin/screen" MICRODC2="$MOUNT/usr/bin/microdc2" DCDIR="$MOUNT/microdc2" CONFIG="$DCDIR/microdc.conf" LOG="$DCDIR/microdc.log" COUNT=`ps -ax|grep $MICRODC2|grep -v grep|wc -l` ARHDIR="$DCDIR/arc" SN="$DCDIR/status.xml" FLN="$DCDIR/files.xml" FLNA="$DCDIR/files.xml.bz2" RESC="$ARHDIR/files`date +%u`.xml.bz2" start() { echo "MicroDC2 Starting" logger MicroDC2 Starting $SCREEN -dmS microdc2 $MICRODC2 -c $CONFIG } stop() { echo "MicroDC2 Stoping" logger MicroDC2 Stoping resc killall microdc2 } restart() { resc killall microdc2 arh restart $SCREEN -dmS microdc2 $MICRODC2 -c $CONFIG echo MicroDC2 RESTARTED logger MicroDC2 RESTARTED } check() { if [ $COUNT -lt 5 ]; then start elif [ $COUNT -lt 10 ]; then echo `date +"%d.%m.%Y %T` MicroDC2 работает >> $LOG else stop fi } arh() { case "$1" in restart) ARHNAME=$ARHDIR/`date +%Y-%m-%d_%T`.log echo ======== ПЕРЕЗАПУСК КЛИЕНТА ======== >> $LOG ;; *) ARHNAME=$ARHDIR/`date +%Y-%m-%d`.log echo ======== КОНЕЦ ЛОГА ЗА ДЕНЬ ======== >> $LOG ;; esac if [ -e "$LOG" ]; then cp $LOG $ARHNAME gzip $ARHNAME echo Файл лога был перемещен в архив: > $LOG echo $ARHNAME.gz >> $LOG fi } status() { if [ $COUNT -gt 0 ]; then #Проверка на запущенность клиента if [ -e "$FLN" ]; #Проверка существует ли файл со списком then if [ -e "$SN" ]; then #Проверка на наличие файла-двойника RES=`diff -s $FLN $SN` ORIG="Files $FLN and $SN are identical" if [ "$RES" = "$ORIG" ]; #Проверка одинаковы ли файлы then echo Статус хэширования шары: ЗАВЕРШЕН 100"%" exit; else rm $SN fi #Проверка одинаковы ли файлы fi #Проверка на наличие файла-двойника TTH=`sed -e 's/>/\n/g' "$FLN" | grep TTH | wc -l` SIZE=`sed -e 's/>/\n/g' "$FLN" | grep Size | wc -l` if [ $TTH -eq $SIZE ]; #Проверка готовности хеширования then echo `date +"%d.%m.%Y %T` Статус хэширования шары: ЗАВЕРШЕН 100"%" >> $LOG; logger [MicroDC2] All files TTH calculated! cp $FLN $SN else let TTHP=$TTH*100/$SIZE let OST=$SIZE-$TTH echo `date +"%d.%m.%Y %T` Статус хэширования шары: Готово файлов: $TTH из $SIZE"("$TTHP"% готово)." Осталось файлов: $OST >> $LOG logger [MicroDC2] Hashing files, $OST left...; fi #Проверка готовности хеширования fi #Проверка существует ли файл со списком fi #Проверка на запущенность клиента } resc() { if [ -e "$FLNA" ]; then cp $FLNA $RESC; fi if [ -e "$SN" ]; then rm $SN; fi } case "$1" in start) start ;; stop) stop ;; restart) restart ;; check) check ;; arh) arh ;; status) status ;; resc) resc ;; *) echo "Usage: $0 {start|stop|restart|check|arh|status}" ;; esac Edited December 13, 2013 by Guest Link to comment Share on other sites More sharing options...
k0ste Posted November 17, 2013 Share #6 Posted November 17, 2013 Ну, DSM 4.3 на это будет сбоить. COUNT=`ps -ax|grep $MICRODC2|grep -v grep|wc -l` Без -ax должен возвращать еденицу или ноль, и дальше от этого пляшет: check() { if [ $COUNT -lt 5 ]; then start elif [ $COUNT -lt 10 ]; then echo `date +"%d.%m.%Y %T` MicroDC2 работает >> $LOG else stop fi } Костыль - скрипт засунуть в cron, который будет выплняться и проверять работает ли процесс или сдох. Link to comment Share on other sites More sharing options...
OlimpFil Posted November 18, 2013 Author Share #7 Posted November 18, 2013 Ну, DSM 4.3 на это будет сбоить. COUNT=`ps -ax|grep $MICRODC2|grep -v grep|wc -l` Без -ax должен возвращать еденицу или ноль, и дальше от этого пляшет: check() { if [ $COUNT -lt 5 ]; then start elif [ $COUNT -lt 10 ]; then echo `date +"%d.%m.%Y %T` MicroDC2 работает >> $LOG else stop fi } Костыль - скрипт засунуть в cron, который будет выплняться и проверять работает ли процесс или сдох. Спасибо! Но я не дождался ответа и подтянул другана, который помог! Выкладываю рабочий скрипт! Может кому пригодится! В крон естессно не забываем засунуть #!/bin/sh if [ `ps|grep microdc2|grep -v '.sh'|grep -v grep|wc -l` -eq 0 ]; then /opt/bin/screen -d -m su -l root -c "microdc2 -c /root/.microdc2/config" echo "`date` restart" >> /volume2/NAS2/_Temp_DC/log/cron.log else echo "`date` no restart" >> /volume2/NAS2/_Temp_DC/log/cron.log fi Link to comment Share on other sites More sharing options...
arh Posted November 21, 2013 Share #8 Posted November 21, 2013 на своём опыте в chroot всётаки стабильнее работает Link to comment Share on other sites More sharing options...
OlimpFil Posted December 3, 2013 Author Share #9 Posted December 3, 2013 на своём опыте в chroot всётаки стабильнее работает Хорошо, подскажите как поднять в chroot например ncdc. Вот есть мануал по установке на нас WD как раз устанавливается в chroot ( http://club.dns-shop.ru/RabinoVich/blog/%D0%A1%D1%82%D0%B0%D0%B2%D0%B8%D0%BC-%D0%BD%D0%B0-WD-My-Book-Live-%D0%BA%D0%BB%D0%B8%D0%B5%D0%BD%D1%82-DC/). Я бы хотел реализовать на хренолоджи. Можете набросать краткую инструкцию, как настроить этот chroot и как установить туда ncdc, я думаю многие спасибо скажут! Link to comment Share on other sites More sharing options...
arh Posted December 3, 2013 Share #10 Posted December 3, 2013 как поставить сhroot уже писал тут viewtopic.php?f=5&t=1612&start=30 а дальше по любой инструкции для ubuntu или debian (например http://dev.yorhel.nl/ncdc/install#Ubuntu_%26_Debian) Link to comment Share on other sites More sharing options...
OlimpFil Posted December 3, 2013 Author Share #11 Posted December 3, 2013 как поставить сhroot уже писал тут viewtopic.php?f=5&t=1612&start=30 а дальше по любой инструкции для ubuntu или debian (например http://dev.yorhel.nl/ncdc/install#Ubuntu_%26_Debian) Почитал, понял, что необходимо знание линуха. Пока я в линухе могу только делать по точным инструкциям, чего я так и не увидел. Где-то найти машины с линуксом, где-то , где-то се, у меня есть только нас с хренолоджи, вот по шагам я бы смог сделать, а собирать по частям, не понимая сути, я думаю не выйдет, хотя очень хочется поднять ncdc Заморочился бы кто-нибудь написал бы мануальчик от А до Я, как поднять chroot на хренолоджи, а затем, как на него установить ncdc. Я вникаю потихоньку в линуховые заморочки, но пока меня хватило на установить и заставить все работать и перезапускаться при краше вот по этим инструкциям: 1. Ставим IPKG http://shurshun.ru/synology-instruktsiy ... /#more-610 2. Ставим microdc2 http://forum.hutor.ru/viewtopic.php?t=54784 Если есть немного свободного времени, запилите нечто подобное, будет вам респект и уважуха от простых юзверей, которые хоть немного, но продвинутся в линухе! Link to comment Share on other sites More sharing options...
cool2004 Posted March 15, 2014 Share #12 Posted March 15, 2014 как поставить сhroot уже писал тут viewtopic.php?f=5&t=1612&start=30 а дальше по любой инструкции для ubuntu или debian (например http://dev.yorhel.nl/ncdc/install#Ubuntu_%26_Debian) Почитал, понял, что необходимо знание линуха. Пока я в линухе могу только делать по точным инструкциям, чего я так и не увидел. Где-то найти машины с линуксом, где-то , где-то се, у меня есть только нас с хренолоджи, вот по шагам я бы смог сделать, а собирать по частям, не понимая сути, я думаю не выйдет, хотя очень хочется поднять ncdc Заморочился бы кто-нибудь написал бы мануальчик от А до Я, как поднять chroot на хренолоджи, а затем, как на него установить ncdc. Я вникаю потихоньку в линуховые заморочки, но пока меня хватило на установить и заставить все работать и перезапускаться при краше вот по этим инструкциям: 1. Ставим IPKG http://shurshun.ru/synology-instruktsiy ... /#more-610 2. Ставим microdc2 http://forum.hutor.ru/viewtopic.php?t=54784 Если есть немного свободного времени, запилите нечто подобное, будет вам респект и уважуха от простых юзверей, которые хоть немного, но продвинутся в линухе! Присоединяюсь к просьбе. Link to comment Share on other sites More sharing options...
OlimpFil Posted June 29, 2014 Author Share #13 Posted June 29, 2014 На DSM 5 все также работает Link to comment Share on other sites More sharing options...
Bob the Builder Posted February 24, 2016 Share #14 Posted February 24, 2016 Заморочился бы кто-нибудь написал бы мануальчик от А до Я, как поднять chroot на хренолоджи, а затем, как на него установить ncdc. ncdc ставится просто и без поднятия chroot скачиваемwget https://dev.yorhel.nl/download/ncdc-linux-x86_64-1.19.1-12-g55616.tar.gz зеркало wget http://cloud.sybdata.com/video/ncdc-linux-x86_64-1.19.1-12-g55616.tar.gz распаковываем:tar -xf ncdc-linux-i486-1.19.1-12-g55616.tar.gz запускаем:./ncdc [spoiler=] Link to comment Share on other sites More sharing options...
Recommended Posts