# Mldonkey Probleme

## cruelnovember

Ok,  ich habe einen Router auf dem Mldonkey läuft. Nun will ich über meine Clients (2 Linux-Gentoo Clients, ein Windows Client), die an dem Router hängen Zugriff auf Mldonkey haben. Nun gibt es ja, soweit ich weiß 2 Möglichkeiten, auf Mldonkey zuzugreifen; das Webinterface und telnet. Was es mit telnet auf sich hat, habe ich bisher noch nicht herausbekommen können...Das Webinterface ist also zwangsläufig die Möglichkeit, an der ich arbeite.

Bisher habe ich es immer so gemacht, dass ich mldonkey auf dem Router gestartet habe und dann  mit den Clients eine SSH Verbindung mit Portforwarding 4080:127.0.0.1:4080 gestartet habe. Dann eben einfach den Browser 127.0.0.1:4080 öffnen lassen und so hats auch funktioniert.

Das Problem ist: wenn ich den Router neustarte (mldonkey wird über ein initscript automatisch gestartet) und ich direkt nach dem Neustart versuche mit einem Client auf das Webinterface zuzugreifen, funktioniert das wunderbar. Wenn ich jedoch ein bischen warte (so einen halben Tag oder so) und es dann nochmal versuche, dann geht es nicht mehr. Firefox sagt dann ewig: Waiting for 127.0.0.1... und nichts passiert. Wenn ich dann versuche über ssh mldonkey neuzustarten mit /etc/init.d/mldonkey restart passiert folgendes:

```

speedy root # /etc/init.d/mldonkey restart

 * Stopping mldonkey - please wait...

```

an dieser Stelle hängt er nun. Wenn ich strg+C drücke und den Befehl wiederhole, kommt:

```

speedy root # /etc/init.d/mldonkey restart

 * ERROR:  "mldonkey" has not yet been started.

```

was ja darauf schließen lässt, dass mldonkey nicht mehr läuft. /etc/init.d/mldonkey start funktioniert danach auch einwandfrei, ich hab jedoch immernoch kein Zugriff auf das Webinterface. Wenn ich den Router dann jedoch wieder neustarte hab ich wieder Zugriff.

Wie kann das sein, was könnte hier der Fehler sein??

/var/log/mldonkey.log ist leer...

liebe Grüße, ich hoffe mir kann jemand helfen  :Wink: 

Paul

PS: Ich habe auch gesehen, dass man in der /home/p2p/.mldonkey/downloads.ini irgendwie Client ZUgriff einstellen kann, habe das auch versucht die IPs der Rechner dareinzuschreiben, habe jedoch glaube ich die Syntax an der Stelle nicht ganz verstanden... Hilfe an dieser Stelle ist natürlich auch willkommen  :Wink: 

----------

## Turrican

Welchen core verwendest du?

Ich z.B. verwende immer den aktuellsten von

http://ftp.berlios.de/pub/mldonkey/spiralvoice/

Das sind statisch kompilierte Binaries, die man dann auch schön in einem root-jail laufen lassen kann.

Das mit der Steuerung geht auch anders:

Du kannst keinstellen, dass neben localhost auch bestimmte andere IPs (wenn gewünscht mit Passwort) den Core steuern - das geht dann mit Web-Interface, telnet oder einem der vielen GUIs.

Ganz ok ist z.B. Sachncho-bin (entweder aus dem Portage oder eine neue Binary von der Homepage holen) oder dem Mlgui (der ist im mldonkey-ebuild dabei, ich zieh mir aber immer eine kompilierte Version von obiger FTP-Seite (wobei die dortige letzte Version bei mir nicht läuft)).

Viel Glück!

----------

## cruelnovember

 *Quote:*   

> Welchen core verwendest du? 

 

```
[ebuild   R   ] net-p2p/mldonkey-2.5.16-r7
```

Das ist das neuste Ebuiöd, soweit ich weiß. Wie ist denn das bei Euch? Ihr startet das und könnt es dann mehrere Tage laufen lassen und kontrollieren über WebInterface? Ich hab auchmal was von soner Sleep Funktion gehört, könnte es das vielleicht sein? 

Wenn noch jemand ein Tipp hätte wär echt super, ich hab kein Bock jedesmal meinen Router neuzustarten, wenn ich was suchen will, außerdem weiß ich einfach nicht ob mldonkey überhaupt läuft oder net immer nach ner Stunde abschmiert...

grüße,

Paul

----------

## Turrican

Naja, ich starte den Core mit folgendem Befehl in einem Skript:

/usr/sbin/chroot /path-to/mldonkey /mlnet >> /var/log/mldonkey.log &

Früher hab ich's mit /mlnet -daemon gestartet, aber das ging irgendwann nicht mehr... im Moment läuft's so.

Wie gesagt: Probier doch mal einen von den fertigen Cores - vielleicht ist der stabiler.

----------

## CaptainPsycho

Argh, das tut ja schon beim Zuhören weh.   :Shocked: 

Also du startest auf deinem Rechner den mldonkey.

Dann 

telnet localhost 4000

jetzt biste in deinem mldonkey

dort gibst du

set allowed_ips "127.0.0.1 192.168.0.1"     

und so weiter ein kannst glaub ich auch * und so verwenden, aber es reicht ja deine 3 Rechner einzugeben.

Ab sofort kannst du dann von dem entsprechenden Rechner aus im Browser mit

mldonkeyrechner:4080 auf deinen Esel zugreifen.  :Smile: 

Viel Spaß!

Gruss Joachim

----------

## Arudil

Damit der Donkey das Zeug logt, musst du die /etc/init.d/mldonkey umändern:

orginal-ausschnitt:

```
env HOME=${BASEDIR} start-stop-daemon --quiet --start -c ${USER}  \

-x /usr/bin/mlnet &>${LOG} &
```

geänderter ausschnit:

```
env HOME=${BASEDIR} start-stop-daemon --quiet --start -c ${USER}  \

-x /usr/bin/mlnet -- -stdout true &>${LOG} &
```

set allowed_ips "127.0.0.1 192.168.0.1" 

erlaubt zusätzlich dem client mit ip 192.168.0.1 zugriff

set allowed_ips "127.0.0.1 192.168.0.255" 

erlaubt zusätzlich den clients mit ip 192.168.0.* zugriff

erzähl uns dann was in der log steht nachdem der esel tot ist  :Smile: 

----------

## thrashed

wie verhindert man es eigentlich das mldonkey im homeverzeichnis so viele files anlegt? kann man das nicht auf ein anderes verzeichnis auslagern oder irgendwie anders umgehen?

vielen lieben dank, der ordnungsliebende   :Very Happy: 

----------

## CaptainPsycho

 *thrashed wrote:*   

> wie verhindert man es eigentlich das mldonkey im homeverzeichnis so viele files anlegt? kann man das nicht auf ein anderes verzeichnis auslagern oder irgendwie anders umgehen?
> 
> vielen lieben dank, der ordnungsliebende  

 

Starte den mlnet direkt in seinem Verzeichnis, ansonsten legt der die dateien immer dort an, wo du dich gerade befindest.

Gruss Joachim

----------

## Arudil

voreinstellung is ja, dass der Esel durch den user p2p gestartet wird. Das Zeug wird normal dann immer in /home/p2p/mldonkey angelegt. Ich find das recht ordentlich  :Wink: 

----------

## cruelnovember

wie funktioniert das mit dem telnet? ich habe den Befehl garnicht. Brauche ich da noch irgendein Paket? Das mit dem Client Zugriff habe ich über das Webinterface gemacht, das klappt jetzt. Den Eintrag in der /etc/init.d/mldonkey habe ich abgeändert (wegen des loggens), bisher läuft der Esel noch.

Vielen Dank soweit,

Paul

----------

## Arudil

"telnet 127.0.0.1:4001" (oder so ähnlich, syntax weiss ich grad ned.

Telnet musst du erst noch emergen

"emerge -s telnet" dürfte da recht eindeutige ergebnisse hervorbringen

----------

## Deever

Oder besser eines der Frontends verwenden. Falls du KDE verwendest, könnte KMLdonkey was für dich sein.

HTH!

/dev

----------

## Netcat

Also mal zu deinem konkreten Problem von nicht mehr darauf zugreifen können. Hatte ich auch schon einmal, es passiert mir einfach nicht jeden Tag.

Das Problem ist, dass du mit /etc/init.d/mldonkey stop nicht wirklich den mldonkey beendest. Er läuft immer noch im Hintergrund weiter und wenn du dann einen neuen startest gibt es plötzlich zwei.

Nachdem du ihn also mittels script gestopt hast muss du noch den laufenden Prozess killen. Danach kannst du dann den Donkey wieder starten und er sollte laufen.

----------

## cruelnovember

Ok, in der Log ist nichts aufregendes zu finden, nur logs über nicht gefundene Server, connects zu Servern, file shares etc... Diese Logs hören dann einfach unvermittelt auf. 

 *Quote:*   

> Das Problem ist, dass du mit /etc/init.d/mldonkey stop nicht wirklich den mldonkey beendest. Er läuft immer noch im Hintergrund weiter und wenn du dann einen neuen startest gibt es plötzlich zwei.
> 
> Nachdem du ihn also mittels script gestopt hast muss du noch den laufenden Prozess killen. Danach kannst du dann den Donkey wieder starten und er sollte laufen.

 

Sehhhhhhr gut, das bringt mich weiter  :Wink: 

ps ax:

```

 7007 pts/1    RN   330:58 /usr/bin/mlnet -stdout true

 7017 pts/1    SN     0:00 /usr/bin/mlnet -stdout true

 7018 pts/1    SN     0:09 /usr/bin/mlnet -stdout true

 7019 pts/1    SN     7:15 /usr/bin/mlnet -stdout true

```

Da scheinen ja schon ein paar Esel zu laufen   :Laughing: 

killall mlnet  oder kill 7007 macht nur leider nicht was es soll, danach habe ich den Prozess immernoch laufen. Wie kille ich die Prozesse so dass sie wirklich weg vom Fenster sind?

Paul

PS: Gibt es eine Möglichkeit mit Nano in bestimmte Zeilen oder an das Ende eines Textdokuments zu springen? Ich habs bisher noch nicht gefunden und das scrollen besonders bei langen Textdateien nervt echt! (das Zeilenabzählen bei "Error in Line bla" übrigens noch mehr  :Wink:  )

----------

## cruelnovember

OK, ich hab mein Problem jetzt vorerst mit einem stündlich ausführenden Crontab:

```
killall -9 mlnet && /etc/init.d/mldonkey stop && /etc/init.d/mldonkey start fast
```

gelöst.

Das ist aber irgendwie ziemlich dreckig.......wenn irgendwer was besseres hat... NUR HER DAMIT!!!

Grüße und Danke!!!

Paul

----------

## Turrican

Nochmal: Probier doch mal einen fertigen core von hier zu nehmen:

http://ftp.berlios.de/pub/mldonkey/spiralvoice/

----------

## cruelnovember

Hey!

Ok, ich stosse hier auf einige Probleme. Ich benutze Linux noch nicht allzulange und habe halt imemr emerge benutzt weswegen ich nicht viel Erfahrung mit dieser Art des kompilierens habe. also ich downloade den neusten Linux Core  2-5-16u1. 

Wie gehe ich dann weiter vor? Was genau ist denn dann der Core? Muß ich mldonkey unmergen oder passiert da eher sowas wie ein update? *keineAhnung*. 

und: es ist ja ein rar archive also

```
unrar x mldonkeyblabla
```

aber wohin entpacke ich das? und muß ich danach noch make und make install oder irgendwas ausführen?

Es wäre schön wenn mir jemand hier helfen könnte, ich habe einfach zu wenig Ahnung um weiterzumachen und dabei noch zu wissen was ich tue  :Wink: 

Nochmal zu meinen Prozessen, keine AHnung ob das irgendwas ausmacht, aber ich hab grad gesehen dass ich irgendwie nach einiger Zeit immer mehr als einen mlnet Prozess laufen. Wenn ich alle mlnet Prozesse kille und mldonkey über /etc/init.d/mldonkey starte dann habe ich am Anfang nur einen mlnet Prozess. Dann, nach einigern Minuten habe ich 4 mlnet Prozesse. Ist das normal? Also der Esel läuft noch einige Zeit mit den 4 Prozessen aber eben nicht allzulange  :Wink: 

Gruß und danke,

Paul

ps Danke borisdigital für den nano Tip im nächsten Post  :Wink: Last edited by cruelnovember on Tue Dec 14, 2004 11:42 am; edited 5 times in total

----------

## boris64

 *cruelnovember wrote:*   

> PS: Gibt es eine Möglichkeit mit Nano in bestimmte Zeilen oder an das Ende eines Textdokuments zu springen? Ich habs bisher noch nicht gefunden und das scrollen besonders bei langen Textdateien nervt echt! (das Zeilenabzählen bei "Error in Line bla" übrigens noch mehr  )

 

```
## springt in zeile 23 deiner textdatei

nano +23 /pfad_zu_meiner_textdatei/textdatei
```

----------

## Turrican

Entpacken solltets den core mit unrar e (oder x)  mldonkeyblabla können.

Der Mldonkey-Core ist das eigentliche Programm und wird mit Hilfe von anderern Programmen gesteuert (sei es telnet, einem Browser, sancho, ...).

Momentan willst du ja nur mal probieren, ob der andere Core funktionniert. Im Endeffekt musst du also nur per Skript, per Hand oder wie auch immer den neuen Core im selben Verzeichnis starten wie den alten, also da wo die Configs sind (also z.B. mal testweise reinkopieren und da starten.)

Sollte das immer noch nicht stabil laufen, dann probier mal die aktuelste Version:

http://download.berlios.de/pub/mldonkey/spiralvoice/mldonkey-2.5-28h.static.i386-Linux.rar

Aber vorher die configs sichern.

----------

## cruelnovember

Ok nochmal langsam für jemanden der die Sache nicht so richtig versteht  :Wink:  Ich entpacke das Archiv. Nun habe ich da eine Menge Dateien drin, von denen ich sicher mehr als eine brauchen werde. Außerdem werde ich doch noch /install oder etwas in der Art machen müssen, oder?

Ich bin absolut ohne Ahnung gerade wie ich verfahren muß um das zu machen, eine Schritt für Schritt Anleitung wäre für mich gerade das was ich brauche, evtl. mit Erläuterung der Schritte, damit ich wieder was gelernt habe, fürs nächste Mal....

Grüße vom

(unwissenden)

Paul

----------

## Turrican

Ehrlich gesagt hab' ich momentan nicht wirklich den Elan, jetzt jeden Befehl explizit zu tippen (ist ja auch schon spät). Vor kurzem gab's nen Thread mit Einstiegshilfen für newbies:

https://forums.gentoo.org/viewtopic.php?t=262799

Bei uns an der uni gibt's auch ein (hoffentlich) nettes Einführungsskript, vielleicht hilft dir das weiter, um ein wenig die Basics zu lernen:

http://www-rz.uni-r.de/EDV/Unix_Workstations/Betriebssysteme/einf_oneside.pdf

Schön für Dateiverwaltung ist auch der Midnight Commander (mc).

----------

## cruelnovember

Nein  :Wink:  also so weit geht meine Unwissenheit dann doch nicht. Also ich hab den Core nun in mein Mldonkey Verzeichnis entpackt. Er läuft auch. Problem ist im Moment, dass ich meine alten Downloads nicht sehen kann. Also in der Temp sind sie drin, aber der Core hat sie irgendwie nicht in der Liste....warum das?

Paul

----------

## Turrican

Probier mal den Befehl recover_temp in mldonkey aus.

----------

## cruelnovember

Ok, ich hab den neuen Core nun laufen, aber er ist auch nicht stabiler als mein alter. Nach ca. 3 Stunden bekomme ich, wenn ich via Web-Interface zugreifen will die Meldung von Firefox: 

```
Documet contains no Data
```

das mit dem Temp Verzeichnis habe ich nun hinbekommen, allerdings habe ich nun das Problem, dass die Files nicht automatisch ins incoming verschoben werden sondern ich sie erst comitten muß. ich habe eigentlich auto commit eingestellt und wenn ich auf Commit klicke sagt er auch "files comitted, es passiert aber nichts. Ich habe schon nach den schreibrechten von Incoming geschaut, der User p2p hat schreibrechte auf den Ordner...

Also alles in allem läufts einfach immernoch nicht wie es soll.  :Sad: 

Paul[/code]

----------

## boris64

 *cruelnovember wrote:*   

> ...allerdings habe ich nun das Problem, dass die Files nicht automatisch ins incoming verschoben werden sondern ich sie erst comitten muß. ich habe eigentlich auto commit eingestellt und wenn ich auf Commit klicke sagt er auch "files comitted, es passiert aber nichts. Ich habe schon nach den schreibrechten von Incoming geschaut, der User p2p hat schreibrechte auf den Ordner...[/code]

 

erstell mal einen ordner namens "shared" unter "/home/p2p" (unter deinem p2p-userverzeichnis halt)!

seit irgendeiner mldonkey-version (oder nur in den spiralvoice-patches?!) hatte sich da mal was geändert, 

und so werden dateien nun statt ins "incoming"-verzeichnis in das "shared"-verzeichnis gepackt.

bitte frag mich nicht, wer sich so sowas ausdenkt.

----------

## cruelnovember

 *Quote:*   

> erstell mal einen ordner namens "shared" unter "/home/p2p" (unter deinem p2p-userverzeichnis halt)! 

 

hab ich gemacht - geht nicht. Rechte sind richtig gesetzt... das is echt nervig, ich glaub ich sollte auf ein anderes Programm umsteigen, hab da im Mooment nur Stress mit

Paul

----------

## boris64

hast du nach dem erstellen mldonkey auch mal neugestartet?

ps: warum benutzen eigentlich so viele die vorkompilierten binaries von spiralvoice?

die spiralvoice-patches sind doch auch in den mldonkey-paketen

integriert, die man viel bequemer via portage installieren kann. huh?

----------

## Turrican

Hast du die Version 28h auch mal ausprobiert, oder verwendest du noch den 16er?

Bei mir läuft der 28h seit Wochen ausgesprochen stabil.

----------

## cruelnovember

Ich hab mldonkey jetzt als root laufen, halt einfach gestartet mit "mldonkey" und das läuft auch schon seit einigen Tagen stabil...warum gehts als user p2p nicht??? Hat da irgendwer ne Idee zu?

Paul

----------

## schrippe

hallo, 

bin jetzt mal wie auf spiralvoice beschrieben auf 2.5.28i umgestiegen, doch trotzdem die serverliste voll ist, bekomme ich keinen connect zu igendeinem server. 

er will quasi sich noch nicht einmal verbinden. In sacho ist immer nur ein rotes minus beim donknetz zu sehen. 

die ports sind alle freigegeben, so wie für version 2.5.16u. 

23125 + 4 für donk und 6882 für bittorrent. 

edit: mir ist noch aufgefallen, das er meine dsl IP nicht in der downloads.ini setzt. da steht weiterhin die interne. 

danke für lösungen

----------

## cruelnovember

OK nun ist es schon einige Zeit her, dass ich daen Thread angefangen habe und ich habe auch einige der Probleme gelöst, aber es läuft einfach immernoch nicht richtig....

Ich habe herausgefunden dass ich zwischen zwei Möglichkeiten wählen kann mldonkey zu starten

1. /etc/init.d/mldonkey start

2. mldonkey (einfach Befehl eingeben)

Wenn ich mldonkey über das Initscript starte, ist der Esel nach maximal zwei Stunden tot. Sprich, ich kann ihn nicht mehr über das Webinterface erreichen, es kommt im Explorer ein Fester "This Document contains no Data" oder er versucht sehr lange zu laden und es passiert nichts.

Wenn ich Mldonkey einfach über den Befehl starte, läuft er recht lange stabil, allerdings habe ich dann mein .mldonkey Verzeichnis in /root und ich starte den Core auch als root. Das Problem was ich jetzt habe ist fiolgendes:

Ich habe meine temp Dateien auf einer seperaten Partition, die ich nach /root/.mldonkey/temp mounte. Wenn ich den Core mit killall -9 mlnet beende, dann funktioniert alles prima. Wenn ich aber reboot oder halt eingebe, und ich mldonkey, nachdem der Rechner wieder hochgefahren ist neustarte, stehen alle downloads auf 0%. Mit recover_temp bekomme ich es dann nach einiger Zeit hin, dass die Downloads wieder auf ihrem alten status sind, das dauert aber recht lange.[EDIT:] nicht richtig, recover_temp bringt garnichts. die Dateien werden nocheinmal von vorne runtergeladen, da ist nichts mit fortsetzen, obwohl die Temp Dateien halt echt teileweise groß sind bei Downloads ie schon fast fertig waren, also teilweise über ein GB. [/EDIT] Warum kann sich mldonkey nicht merken, wie weit die downloads sind? Nach meinem Wissen schreibt er diese Informationen in die files.ini. Wird das Programm beim runterfahren irgendwie so brutal gekillt, dass er den Status der downloads vorher nicht in der files.ini sichert?

Das Problem wäre doch sicher gelöst, wenn ich den Core über das Initscript starten würde, weil dann mldonkey mehr oder weniger ergulär heruntergefahren wird. Leider läuft das über das Initscript gestartete Programm dann nicht besonders lange...

Außerdem habe ich seit neustem das Problem, dass Mldonkey fertige files nicht in den Incoming Ordner verschiebt, obwohl auto_commit eingestellt ist. Der commit Befehl bewirkt nichts. die Permissons des incoming folders sind auf a+rwx gestellt und es ist Platz auf der Festplatte... 

Hat Irgendjemand noch irgendwelche Ideen?

Ich wäre sehr dankbar!!!

Paul  :Rolling Eyes: 

----------

## lexi

hi,  ist zwar schon etwas her aber ne Idee habe ich. 

Ich hatte das mal unter Suse. Da war ich urplötzlich auf eine ganz alte version zurückgefallen! 

Hintergrund war der das Suse auf nen verzeichnis zugegiffen hat was schon Ewigkeiten nicht mehr in Benutzung war, wiso auch immer. Nutzt du noch Cores von Spiralv. ? Dann sollte mlnet der richtige Befehl sein!  :Wink:   (jedenfalls bei der .16x) 

mein Tip ist schaue dir mal alle Verzeichnisse an und lösche diese (außer dem aktuellen natürlich) und das script überarbeiten nicht vergessen! 

was gibt den "version" im webbrowser aus ?

PS. ich beende mlnet von hand mit 

```
killall mlnet
```

 und das so lange bis dasteht das kein prozess abgebrochen wurde! und das funst prima! und das starten von Hand mache ich (leider noch unter Suse, Installation haut noch nicht so hin) von dem entsprechenden Ordner wo auch der core (und auch inconing und temp) ist.  :Smile: 

----------

