staging.inyokaproject.org

MLDonkey

Status: Gelöst | Ubuntu-Version: Nicht spezifiziert
Antworten |
Dieses Thema ist die Diskussion des Artikels MLDonkey.

Ngar

Anmeldungsdatum:
7. November 2007

Beiträge: Zähle...

Hallo zusammen,

da ich mich gerade damit herumgeschlagen habe MLDonkey selbstzukompilieren und Einzurichten, habe ich das auch gleich mal in einen Wiki-Artikel gepackt.

Da es schon einen ähnlichen Artikel gibt, stellt sich die Frage, falls meiner für würdig befunden wird 😛 , ob beide zusammengefasst werden sollten oder separat bestehen bleiben sollen?

Wie immer stehe ich für Kritik, Anregungen und Bauchpinseleien zur Verfügung.

Regards

Ngar

Adna_rim Team-Icon

Anmeldungsdatum:
8. November 2006

Beiträge: 2521

Hey schöner Artikel,
gilt alles ab unter der Überschrift "Starten" für beide mldonkey Versionen? Also genauso für die Version aus den Repos? Dann wäre ich für eine Zusammenlegung der Artikel.

greets

Ngar

(Themenstarter)

Anmeldungsdatum:
7. November 2007

Beiträge: Zähle...

Hi,

ich habe mir beide Artikel noch einmal angeschaut und sie dann "zusammengeworfen" - soviel wars dann garnicht. \^^

Ich muss nur nochmal schuan, wo mldonkey aus den paketen hininstalliert wird

Gruß

Ngar

Adna_rim Team-Icon

Anmeldungsdatum:
8. November 2006

Beiträge: 2521

Alles klar, wenn du meinst fertig zu sein melde dich wieder hier.

Habe mir den Artikel jetzt mal durchgelesen und da hast du dir ja richtig Mühe gemacht sieht gut aus ☺.

Ich habe noch einige Veränderungen vorgenommen und ein paar Fehler ausgemerzt, du kannst dir in der Revision ja mal anschauen was.

In kürze: Kein "Ich" verwenden und du brauchst Wörter wie notwendig oder optional nicht fett zu machen. Fett macht man nur Dateinamen/Pfade usw... Bei dem Ausführen von Befehlen mit root-Rechten auf den Grundlagenartikel verweisen. Ein Link der zu einer Downloadseite führt mit ⮷ und nicht der Länderflagge kennzeichnen.

greets

Chrissss Team-Icon

Anmeldungsdatum:
31. August 2005

Beiträge: 37971

Wunderschön. Den Artikel hatte ich auch schon lange auf meiner Todo Liste ☺

Ich nutze seit den Anbegin von mldonkey das feine Progrämmchen. Compiliere es auch immer selber. Was mich wundert. Mldonkey ist in ocaml geschrieben. Ich sehe nun aber keinerlei ocaml Pakete in der Liste der Pakete, die zum compilieren nötig wären. Ich checke das heute abend mal in einer sauberen VM.

Meine Gedanken.

1) Den mldonkey User würde ich mit

sudo adduser --system --disabled-login mldonkey


Der mldonkey User bekommt deine eine UID<1000, taucht also nicht in der Liste der Benutzer auf und kann sich auch nicht einloggen. Was auch sinnvoller ist.

2) Ich würde gleich sinnvolle Optionen mitgeben. Ich bezweifle dass jemand die "original" mldonkey GUI compilieren will. Die sind einfach zu schlecht und Sancho zu gut. Daher würde ich die GUIs immer rauslassen. Ausser FileTP, BT und ed2k sind die Protokolle in meinen Augen nicht brauchbar. Daher würde ich als Beispielzeile

./configure --enable-batch --disable-multinet --disable-gui --disable-newgui --enable-pthread --enable-donkey --enable-bittorrent --enable-filetp --enable-overnet --enable-gd


nennen.

3) Du musst nicht von Hand die Links in die Runlevel setzen. Dafür gibts

sudo update-rc.d mldonkey defaults


Siehe Dienste#head-b0a82a3e71a5b615fbe7d53938a60c1f9bf1be0e

Tschuess
Christoph

Ngar

(Themenstarter)

Anmeldungsdatum:
7. November 2007

Beiträge: 57

Chrissss hat geschrieben:

Ich nutze seit den Anbegin von mldonkey das feine Progrämmchen. Compiliere es auch immer selber. Was mich wundert. Mldonkey ist in ocaml geschrieben. Ich sehe nun aber keinerlei ocaml Pakete in der Liste der Pakete, die zum compilieren nötig wären. Ich checke das heute abend mal in einer sauberen VM.

Ich zitiere kurz aus dem Englischen mldonkey Wiki
eng Wiki hat geschrieben:

sudo apt-get install make
./configure
...
''''''''''''''''''''''''  Objective-Caml 3.09.1 is required  ''''''''''''''''''''''''*
'''''''''''''''''''''  Check http://caml.inria.fr/  '''''''''''''''''''''*
Do you want this script to try to download and install ocaml
LOCALLY in mldonkey directory ?


Now you have the choice to let MLDonkey compile Ocaml, this is convenient but you have to compile Ocaml everytime you compile a new MLDonkey version. You can say "no" here and install the Ocaml package

sudo apt-get install ocaml-nox ocaml-native-compilers
./configure


or say "yes" here to go ahead and let MLDonkey compile a local copy of Ocaml.

Da ./configure mit dem Parameter --enable-batch ausgeführt wurde, werden alle Abfragen mit JA beantwortet.

Das führt dann dazu, das nur eine lokale Version von Ocaml compiliert wird. Für den, der Ocaml sonst nicht braucht, es es unerheblich und wer Ocaml verwendet hat es schon drauf, womit die Abfrage garnicht auftaucht. Daher wollte ich auf diese Besonderheit nicht weiter eingehen. - Kann ich aber acuh noch tun.

Da ich gerade mit meinem Ubuntu Rechner am experimentieren bin (guckst du hier), werde ich mich im laufe des Abends um die anderen Vorschläge kümmern und meine Ergebnis an diesen Post anhängen.

Diese muss ich erst ausprobieren, da mir zwar klar ist, was sie machen, aber da ich noch neu bin mit Ubuntu/Linux muss ich das alles erstmal gemacht haben, bevor ich behaute es auch zu können *gg*

Regards

Ngar

noisefloor Team-Icon

Anmeldungsdatum:
6. Juni 2006

Beiträge: 29567

Hallo,

WICHTIG:

den alten Artikel umbauen ist am sinnvollsten, ABER dafür muss dieser in die Baustelle!! Sonst geht die Historie verloren, und das ist schlecht. Siehe auch http://forum.ubuntuusers.de/topic/75501/

Daher bitte alle Änderungen hier eintragen: Baustelle/MLDonkey_neu

Danke, Gruß
noisefloor

Ngar

(Themenstarter)

Anmeldungsdatum:
7. November 2007

Beiträge: 57

Chrissss hat geschrieben:

1) Den mldonkey User würde ich mit

sudo adduser --system --disabled-login mldonkey


Der mldonkey User bekommt deine eine UID<1000, taucht also nicht in der Liste der Benutzer auf und kann sich auch nicht einloggen. Was auch sinnvoller ist.

ich habe mldonkey nun auf diese Art erstellt - nun muss ich aber alle arbeiten mit root machen und dann mit chown übergeben - oder geht das noch anders?
Kommt mir irgendwie komisch vor.

@noisefloor
Hmm - ich hoffe es reicht, wenn ich den Inhalt von "meinem" Artikel rüberkopiere

Gruß

Ngar

noisefloor Team-Icon

Anmeldungsdatum:
6. Juni 2006

Beiträge: 29567

Hallo,

klar reicht das - es geht wie gesagt im die Historie des alten bzw. Original Artikels. Wenn der dabei mit einenm neueren, besseren Inhalt überschrieben wird - ok.

Bitte aber bedenken: Paketinstalltion hat immer Vorrang vor selber komplilieren. Diesen Teil also bitte nicht löschen. Wenn selber kompilieren massive Vorteile haben sollte - Paketinstallation trotzdem drin lassen + Vorteile des Kompilierens beschreiben.

Gruß
noisefloor

Ngar

(Themenstarter)

Anmeldungsdatum:
7. November 2007

Beiträge: 57

Chrissss hat geschrieben:

sudo adduser --system --disabled-login mldonkey

Ich habe jetzt eine Weile gebastelt und bin dabei an meine Grenzen gestoßen. Dadurch das mldonkey nun als Systemuser angelegt ist, wurde seine Shell auf /bin/false angelegt und ich bekomme mit meinem Skriptbefehl

su -c "/home/mldonkey/mldonkey-2.9.2/mlnet" - mldonkey


nicht gestartet. Ich vermute, daß liegt wohl daran, das die "shell" sofort wieder geschlossen wird.

Was muss ich anders machen oder muss ich seine Shell auf /bin/bash setzen?

Regards

Ngar

Chrissss Team-Icon

Anmeldungsdatum:
31. August 2005

Beiträge: 37971

So, habs mal in einer VM installiert. Nötig bei

./configure --enable-batch --disable-multinet --disable-gui --disable-newgui --enable-pthread --enable-donkey --enable-bittorrent --enable-filetp --enable-overnet --enable-gd


oder auch

./configure --enable-batch


sind die Pakete

  • '''build-essential'''

    • '''zlib1g-dev'''

      • '''ocaml-nox'''

        • '''ocaml-native-compilers'''

      Nicht nötig sind

  • '''gcc'''

    • '''g++'''

      • '''libc6-dev'''

        • '''libbz2-dev'''

          • '''libgd2-noxpm-dev'''

            • '''libmagic-dev'''

          gcc, g++ werden sowieso über build-essential installiert. Warum sollen die anderen Pakete nötig sein? Ocaml würde ich defintiv aus den Paketquellen installieren, dazu haben wir sie ja.

      Des weiteren habe ich mir erlaubt einige massive Änderungen vorzunehmen.

* Hinweis auf das Generieren eines Paketes. Ich habe hier extra checkinstall erwähnt, weil dh_make/fakeroot streikt und man in diesem Fall wirklich ein Paket generieren sollte. mldonkey wird recht häufig geupdated, so kommt es zu keinen Chaos.

* Benutzer Einrichten nach hinten geschoben. Man muss mldonkey nicht als Benutzer "mldonkey" compilieren. Wichtig ist, dass der Benutzer beim ersten Start existiert. Man muss sich auch nie als mldonkey anmelden. "sudo -u mldonkey -H mlnet" startet den Core als mldonkey. Auf die ganze Jongliererei mit Pfaden kann man daher verzichten. Ich hab diesen Passus komplett entfernt

* Daher den Startbefehl komplett geändert.

* Init-Skript geändert

* Eintrag in die Runlevel geändert

Dann noch zum Thema Konfiguration. Ich meine hier, dass wir so wenig an der downloads.ini doktorn sollten wie möglich. Zu viele Benutzer hatten in der Vergangenheit schon Probleme, dort die erlaubten IPs einzustellen. Ich würde hier direkt über telnet gehen. Das ist einfacher. Andere Dinge, wie die Temp-Verzeichnisse etc, lassen sich nicht über das Telnet Interface einstellen.

So. Bin eigentlich durch.

Tschuess
Christoph

Ngar

(Themenstarter)

Anmeldungsdatum:
7. November 2007

Beiträge: 57

Ui - warst fleissig und sieht gut aus.

Chrissss hat geschrieben:

Nicht nötig sind
...

  • '''libbz2-dev'''

    • '''libgd2-noxpm-dev'''

      • '''libmagic-dev'''
        Warum sollen die anderen Pakete nötig sein?

Ohne diese Bibliotheken ergibt ./configure folgende Meldung:

Core features:
 - zlib (required)   enabled
 - threads           enabled
 - bzip2                     disabled        // benötigt: libbz2-dev
 - iconv             enabled
 - libmagic                  disabled        // benötigt: libmagic-dev
 - graphical stats           disabled        // benötigt: libgd2-noxpm-dev

Diese Features sind zum Betrieb von MLDonkey nicht nötig - aber wer sie nutzen will benötigt diese Bibliotheken. Daher waren sie als optional gekennzeichnet.

Chrissss hat geschrieben:

  • Init-Skript geändert

Ich habe dann auch noch einmal das Skirpt bearbeitet - naja eigentlich hab ichs komplett neugeschrieben 😀

Da es in einem von 10 Fällen auch vorkommt, das mldonkey nicht mehr läuft, die mlnet.pid aber noch existiert habe ich den Test erweitert. Ausserdem habe ich die IF-Anweisungen rausgenommen, es verursachte mir schon fast körperliche Schmerzen mit sovielen IF's zu arbeiten *gg*.

Zum Thema History der Änderungen.

Da am neuen Artikel doch mehr Leute beteiligt waren, würde mit einem drüberschreiben die History vom neuen Artikel verloren gehen. Kann die alte History nicht einfach "druntergeklebt" werden - zur not direkt in der DB?

Chrissss Team-Icon

Anmeldungsdatum:
31. August 2005

Beiträge: 37971

Hab gerade die letze Änderung gesehen. Bitte schau mal kurz ein paar Grundsätze an. Man installiert compilierte Programme

Programme_Kompolieren

Compilierte Programme lässt man nicht einfach irgendwo liegen, man installiert sie. Also der "berühmte" Dreisatz.

$ ./configure
$ make
$ make install

Daher brauchst du das hier

# Installationsverzeichnis von MLDonkey
INSTALL_DIR="/home/mldonkey/mldonkey-2.9.2"


nicht einbauen. Nach der Installation befindet sich mlnet im $PATH und die Pfadangabe in

sudo -u $USER -H $INSTALL_DIR/mlnet > /dev/null 2>&1


ist unnütz.

Ngar

(Themenstarter)

Anmeldungsdatum:
7. November 2007

Beiträge: 57

wieder was gelernt - ich hoffe nur meine Unwissenheit ist nicht zu nervenaufreibend

Ich bevorzuge jedoch learning by doing und da übersehe ich ab und an doch etwas.

\–––-

Haben sich unsere Posts überschnitten? denn deine Ansicht ob die optionalen Pakre gänzlich entfallen sollen oder evtl doch angemerkt werden sollte intressiert mich

Gruß

Ngar

Chrissss Team-Icon

Anmeldungsdatum:
31. August 2005

Beiträge: 37971

Ngar hat geschrieben:

Ich bevorzuge jedoch learning by doing und da übersehe ich ab und an doch etwas.

Ne, keine Angst, du machst deine Sache Klasse ☺
Ngar hat geschrieben:

Haben sich unsere Posts überschnitten? denn deine Ansicht ob die optionalen Pakre gänzlich entfallen sollen oder evtl doch angemerkt werden sollte intressiert mich

Yep, sie haben sich überschnitten. Hab übersehen dass configure ein bisschen meckert, aber das Compilieren klaptp. Bau die Pakete wieder ein ☺

Antworten |