OlimpFil Posted November 6, 2013 #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
OlimpFil Posted November 7, 2013 Author #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. Последняя заковырка осталась, помогите!!!
OlimpFil Posted November 7, 2013 Author #3 Posted November 7, 2013 Решено нужно было его просто в конец засунуть автозагрузки, т.е. назвать S99microdc2.sh
k0ste Posted November 7, 2013 #4 Posted November 7, 2013 00 это он у тебя первым запустится, может быть даже когда еще сети нету, поставь его в конец. UPD: автор сам уже допёр
OlimpFil Posted November 16, 2013 Author #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
k0ste Posted November 17, 2013 #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, который будет выплняться и проверять работает ли процесс или сдох.
OlimpFil Posted November 18, 2013 Author #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
arh Posted November 21, 2013 #8 Posted November 21, 2013 на своём опыте в chroot всётаки стабильнее работает
OlimpFil Posted December 3, 2013 Author #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, я думаю многие спасибо скажут!
arh Posted December 3, 2013 #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)
OlimpFil Posted December 3, 2013 Author #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 Если есть немного свободного времени, запилите нечто подобное, будет вам респект и уважуха от простых юзверей, которые хоть немного, но продвинутся в линухе!
cool2004 Posted March 15, 2014 #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 Если есть немного свободного времени, запилите нечто подобное, будет вам респект и уважуха от простых юзверей, которые хоть немного, но продвинутся в линухе! Присоединяюсь к просьбе.
Bob the Builder Posted February 24, 2016 #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=]
Recommended Posts