Installation de MLDonkey sur le DS101G+ - HOWTO
(et versions Power PC ultérieures avec de la chance)
English Version
Archives tar
---------------------------------------------------------------

Tout d'abord, je vous rappelle que le téléchargement d'oeuvres
protégés par la propriété intellectuelle c'est maaaaaaaal.
Maintenant, commençant l'introduction.

Le DS101G+ est un NAS (network attached storage) équipé d'un
processeur powerpc sur lequel tourne un unix (linux busybox).
Il est donc possible de copier mldonkey compatible Power PC
et ses dépendances pour pouvoir utiliser MLdonkey.

Ce tutorial a été écrit à l'aide d'un DS101G+ mais il est
théoriquement possible de faire la même chose sur DS106e. Il
s'adresse à des personnes qui n'ont au minimum pas peur du
shell unix et qui peuvent faire preuve d'un minimum de
réflexion. (une partie du tutorial nécessite de s'adapter si
la situation le demande)
De plus, je ne garantis pas que votre NAS fonctionne après
les modifications apportées (en fait surtout si vous copier-coller
bêtement la partie où il faut installer les dépendances)


1. Prérequis
2. Téléchargement
3. Copie
4. Création d'un utilisateur dédié (presque optionnel)
5. Configuration
6. Builder MLdonkey
7. Informations complémentaires
8. License


###############
1. Prérequis
###############

Tout d'abord, il nous faut accéder au NAS grâce à une accès
shell (SSH, telnet etc.) Pour ça, il y a de très bon tutoriaux
sur le web.

-> Google, http://synology.free.fr, http://nslu2-linux.org



########################
2. Téléchargement
########################

Le package complet (MLnet + dépendances)

wget http://nastools/mldonkey/mldonkey-2.8.2.tar.gz
tar -xzf mldonkey-2.8.2.tar.gz

D'autres fichiers sont disponibles dans :
http://nastools.free.fr/mldonkey


#############################
3. Copie des dépendances
#############################

En gros, on va copier les bibliothèques binaires dans les répertoires
par défaut de linux puis créer les liens symboliques (raccourcis)
qui permettent à MLdonkey de les retrouver.

Ceci se passe exclusivement dans /usr/lib (en tout cas pour le DS101G+)

!! ATTENTION LIRE CECI AVANT DE COMMENCER !!

Il se peut que la copie des bibliothèques écrase des fichiers
existants (à cause de mise à jour ou de versions différentes de NAS)
Il faut donc faire attention à ne rien écraser. En l'occurence
si vous écrasez un bibliothèque de version antérieur, il a beaucoup
de chance de ne pas y avoir de problème mais il n'est
pas de même pour les versions ultérieurs de bibliotèque.
Pour savoir connaître la version d'une bibliotèque il faut
se référence au numéro de version dans le nom du fichier réel.
(donc tout ce qui n'est pas symbolique)

Pour différencier un lien symbolique d'un fichier réel il faut
taper :

ls -l

lrwxrwx(...)9 00:32 libcrypto.so -> libcrypto.so.0.9.7
lrwxrwx(...)9 00:32 libcrypto.so.0 -> libcrypto.so.0.9.7
-rw-r--(...)6 05:16 libcrypto.so.0.9.7

les 2 premières lignes désigne des liens symboliques.
La dernière ligne désigne le fichier réel.

!! ATTENTION LIRE DESSUS AVANT DE COMMENCER !!

cd mldonkey-2.8.2

cp libz.so.1.2.2 /usr/lib/
ln /usr/lib/libz.so.1.2.2 /usr/lib/libz.so.1
ln /usr/lib/libz.so.1 /usr/lib/libz.so

cp libbz2.so.1.0.2 /usr/lib/
ln -s /usr/lib/libbz2.so.1.0.2 /usr/lib/libbz2.so.1.0
ln -s /usr/lib/libbz2.so.1.0 /usr/lib/libbz2.so

cp libgd.so.2.0.33 /usr/lib/
ln -s /usr/lib/libgd.so.2.0.33 /usr/lib/libgd.so.2
ln -s /usr/lib/libgd.so.2 /usr/lib/libgd.so

!! ATTENTION LIRE DESSUS AVANT DE COMMENCER !!

cp libjpeg.so.62.0.0 /usr/lib/
ln -s /usr/lib/libjpeg.so.62.0.0 /usr/lib/libjpeg.so.62
ln -s /usr/lib/libjpeg.so.62 /usr/lib/libjpeg.so

cp libfreetype.so.6.3.5 /usr/lib/
ln -s /usr/lib/libfreetype.so.6.3.5 /usr/lib/libfreetype.so.6
ln -s /usr/lib/libfreetype.so.6 /usr/lib/libfreetype.so

cp libpng12.so.0.1.2.8 /usr/lib/
ln -s /usr/lib/libpng12.so.0.1.2.8 /usr/lib/libpng12.so.0
ln -s /usr/lib/libpng12.so.0 /usr/lib/libpng12.so


!! ATTENTION LIRE DESSUS AVANT DE COMMENCER !!



##################################################
4. Création d'un utilisateur dédié (presque optionnel*)
###################################################

* vous faîtes comme vous voulez mais c'est presque obligatoire !
dû au fait que le shell est installé sur une petit partition de 30mo

MLdonkey est un programme utilisateur qui peut fonctionner
sans les droits root. Il convient donc de créer un utilisateur
dédié au daemon mldonkey.

Tout d'abord si ce n'est pas déjà fait, il faut créer un répertoire
/volume1/home et le monter sur /home.
(Le dossier de /home/mlnet/.mldonkey va être très gros)

mkdir -p /volume1/home
mkdir -p /home
mount -o bind /volume1/home /home


Ajout de l'utilisateur qui lancera mldonkey :

adduser mlnet

Maintenant, on ouvre une session sous l'identité mlnet.

su mlnet


####################
5. Configuration
####################

Il faut d'abord lancer le processus mlnet donné dans le package.

./mlnet&

Remarque : vous pouvez mettre mlnet où vous voulez cela n'a
pas d'importance. En général sous linux les daemon serveurs
"compilé à la main" sont stockés dans /usr/local/sbin/.

Si y'a marqué "Core started" c'est good.

On va maintenance autoriser votre pc à se connecter à
l'interface web.

On tue le process mldonkey : kill %1

On accède au fichier à modifier.

vi ~/.mldonkey/downloads.ini

Pour passer en mode insertion (pour écrire) il faut faire : [ESC], [I]
(En cas de catastrophe vous pouvez sortir sans
 sauver en faisant : [ESC], [:], q!, [ENTER])
 
Puis on cherche la ligne allowed_ips.
(vous pouvez parcourir tout le fichier à la main
  ou utiliser : [ESC], ?allowed_ips, [ENTER])

Compléter par :

allowed_ips = [
"127.0.0.1";
"VOTRE_IP";]

Vous pouvez utiliser des jokers en remplaçant par 255 :
  ex : 192.168.0.255    <=>    192.168.0.*
       255.255.255.255  <=>    *.*.*.*

Pour sauver le fichier et quitter : [ESC], [:], wq, [ENTER]

Redémarrer mldonkey : ./mlnet &
Puis sur votre machine : http://ip_syno:4080/




####################
6. Builder MLdonkey
####################

Vous pouvez vous-même builder la dernière version de MLdonkey
en installant une chroot jail Debian :
http://www.nslu2-linux.org/wiki/DS101/Debian

Puis compiler MLdonkey : http://www.debianaddict.org/article61.html




################################
7. Informations complémentaires
################################


Bibliothèque utilisées par mlnet :

ldd /usr/sbin/mlnet

libz.so.1 => /usr/lib/libz.so.1 (0x0ffcd000)
libbz2.so.1.0 => /usr/lib/libbz2.so.1.0 (0x0ff9c000)
libgd.so.2 => /usr/lib/libgd.so.2 (0x0ff2a000)
libpthread.so.0 => /lib/libpthread.so.0 (0x0feb9000)
libjpeg.so.62 => /usr/lib/libjpeg.so.62 (0x0fe77000)
libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0x0fddc000)
libpng12.so.0 => /usr/lib/libpng12.so.0 (0x0fd96000)
libm.so.6 => /lib/libm.so.6 (0x0fd01000)
libdl.so.2 => /lib/libdl.so.2 (0x0fcde000)
libstdc++.so.5 => /usr/lib/libstdc++.so.5 (0x0fc05000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x0fbd7000)
libc.so.6 => /lib/libc.so.6 (0x0fa78000)
/lib/ld.so.1 => /lib/ld.so.1 (0x30000000)


Toutes les bibliothèques (contient aussi les liens symboliques)
sont téléchargeables ici :
  http://nastools.free.fr/mldonkey/mldonkey_libs.tar.gz




#############
8. License
#############

  Copyright (c)  CZH.
  Permission is granted to copy, distribute and/or modify this document
  under the terms of the GNU Free Documentation License, Version 1.2
  or any later version published by the Free Software Foundation;
  with no Invariant Sections, no Front-Cover Texts, and no Back-Cover
  Texts.  A copy of the license is in fdl.txt.



ds-101g+ ds-106e ds-106 cs-406 MLdonkey Synology