07.11.08
Mon NAS est libre, et évolutif (ipkg)
Hop,
Oh le beau NAS !
J’ai couplé une PS3 à un NAS QNAP TS-209. Ce NAS tourne sous un Linux minimaliste (architecture ARM) hébergeant plein de services (lisez la fiche ça ira plus vite), notamment TwonkyMedia pour mettre à disposition en DLNA les contenus multimédias de ce NAS. Il y a évidemment un serveur SSH, FTP etc. Bref, tout ce qu’il faut pour bien gérer son contenu à distance et dans n’importe quelle condition.
Mais ça manque de commandes intégrées
Il ne manquait que certains outils qu’on a potentiellement l’habitude d’utiliser sur un Linux (donc depuis le NAS). Me concernant c’était LFTP afin que mon NAS puisse aller chercher tout seul certaines ressources en FTP sur un serveur (bon bref, je vous passe les détails). En effet, quitte à ce qu’il soit tout le temps allumé, autant qu’il sache downloader. Notez que de base, il intègre un wget, un client bittorrent administrable par le web etc….
Heureusement le fabricant est actif
Récemment, il y a eu un update de firmware permettant d’installer QPKG et donnant accès à un dépôt de paquets pour cette architecture, le tout grâce à la commande “ipkg” dont la syntaxe ressemble à du “apt-get”.
On peut donc maintenant installer les commandes screen et ncftp. Par exemple. LFTP ne passe pas pour des problèmes de versions de libc. Plutôt qu’une énorme prise de tête et un NAS potentiellement HS, j’ai opté pour NCFTP au lieu de LFTP. Libre à vous de galérer si vous voulez.
Notez que le paquet QPKG s’installe sur la partition de données principale (exemple chez moi : /share/MD0_DATA/optware/), pas sur les partoches systèmes standard. Donc vous pouvez imaginer installer plein de paquets, il y aura de la place, tant que vous en avez sur votre partition principale.
Installation et utilisation de QPKG
Malheureusement, il ne suffit pas de mettre le nouveau firmware pour obtenir “ipkg”, il faut mettre le nouveau firmware puis installer un paquet “optware” supplémentaire.
Voici donc comment installer QPKG (optware et ipkg) afin de pouvoir taper des commandes magiques comme :
ipkg install screen
ipkg install ncftp
J’ai presque l’impression d’être sous Debian, ouaiiiiiiiis
Mise à jour du firmware
Rapidement, vu que c’est archi-classique, débrouillez-vous. Le firmware est sur le site officiel.
Installez QPKG
Depuis l’interface d’admin de votre NAS (http://votre.ip:8080/) :
La première fois, vous ne trouverez pas le module QPKG, il faut cliquer sur le bouton “Get QPKG”, vous suivez le lien, vous downloadez le paquet sur votre PC puis le chargez dans l’interface. A la fin, vous l’activez, ça ressemble donc à ça :

Ensuite, balancez la purée avec ipkg
Voici ce que donne l’installation de screen et lftp :
[/share/MD0_DATA/optware/opt/bin] # ./ipkg install screen
Installing screen (4.0.3-2) to root…
Downloading http://ipkg.nslu2-linux.org/feeds/optware/cs05q3armel/cross/stable/screen_4.0.3-2_arm.ipk
Installing termcap (1.3.1-2) to root…
Downloading http://ipkg.nslu2-linux.org/feeds/optware/cs05q3armel/cross/stable/termcap_1.3.1-2_arm.ipk
Configuring screen
chown: unknown group name: root
Configuring termcap
Successfully terminated.
[/share/MD0_DATA/optware/opt/bin] # ./ipkg install lftp
Installing lftp (3.7.3-1) to root…
Downloading http://ipkg.nslu2-linux.org/feeds/optware/cs05q3armel/cross/stable/lftp_3.7.3-1_arm.ipk
Installing ncurses (5.6-3) to root…
Downloading http://ipkg.nslu2-linux.org/feeds/optware/cs05q3armel/cross/stable/ncurses_5.6-3_arm.ipk
Installing expat (2.0.1-1) to root…
Downloading http://ipkg.nslu2-linux.org/feeds/optware/cs05q3armel/cross/stable/expat_2.0.1-1_arm.ipk
Installing libstdc++ (6.0.3-6) to root…
Downloading http://ipkg.nslu2-linux.org/feeds/optware/cs05q3armel/cross/stable/libstdc++_6.0.3-6_arm.ipk
Configuring expat
Configuring lftp
Configuring libstdc++
Configuring ncurses
//opt/lib/ipkg/info/ncurses.postinst: line 2: update-alternatives: command not found
postinst script returned status 127
ERROR: ncurses.postinst returned 127
Successfully terminated.
[/share/MD0_DATA/optware/opt/bin] #
La fin ne sent pas très bon. Ca se passe mieux avec NCFTP. J’ai pas cherché plus loin.
Ah oui, j’oubliais, il me semble que ipkg n’est pas le PATH au début. Comme je devais le rebooter, je l’ai fait. Depuis je peux taper ipkg depuis n’importe où. C’était peut-être simplement mon shell ouvert qui datait d’avant l’installation de QPKG, donc PATH KO. Enfin ref, relogguez-vous ou rebootez, au choix.
Amusez-vous bien.
Le mot de la fin
Si vous hésitiez entre tel ou tel NAS, franchement celui-là, il est cool. Si vous avez des questions sur son fonctionnement, demandez toujours.
A+
Poischack said,
July 11, 2008 at 3:13 pm
Y a un truc que je ne saisi pas : lftp/ncftp c’est clients ftp simples ? Dans ce cas pourquoi ne pas utiliser wget pour récuperer les fichiers ?
michauko said,
July 11, 2008 at 4:05 pm
Certes, il me semble que wget sait faire du resume et de la récursivité, mais ça me parait plus logique de faire faire ça à un client http://FTP. Notamment car un client FTP réup moins de données que le HTTP.
Enfin, ces outils gèrent plusieurs “threads” à la fois, on peut en mettre en pause, limiter la bande passante à la volée, tout ça…
Sinon, je peux aussi injecter les fichiers en SFTP (ou FTP) vers le NAS à la limite.
Bon à part ces considérations, le but de cet article est surtout de montrer que le dernier update de ce NAS permet d’installer à priori n’importe quoi. “N’importe quoi” pouvant aller d’un casse brique à je ne sais quelle version d’outil qui ne serait pas à jour dans le NAS (apache plus récent, MySQL plus récent etc). Par exemple, il manque la commande “file”. C’est vraiment con, mais moi ça me gêne par fois
A+
Poischack said,
July 11, 2008 at 4:10 pm
Oui wget fait du résume (-c), la récursivité (–recursive) ainsi que la limitation de bande passante (–limit-rate=).
Mais en effet, il ne gère pas les threads.
Par contre je ne saisi pas “Notamment car un client FTP réup moins de données que le HTTP.” oui mais wget fonctionne en mode ftp tout comme n’importe quel client http://ftp.
S’il te manque la commande file pourquoi ne pas l’installer via les sources ?
(oui oui je sais c’est pas le but de l’article :D)
michauko said,
July 11, 2008 at 4:37 pm
ah oui il fait aussi du ftp j’oubliais
Pour ce qui est de compiler “file” (ou autre chose) : oui mais la cross-compilation, c’est pas mon dada. Ou alors il faudrait que le NAS intègre un compilo de base, ce qui n’est pas le cas.
Enfin, pour compiler un programme un peu compliqué, avec des dépendances etc, ce serait absolument horrible, sans parler de la puissance CPU et RAM très limitée.
tenshu said,
July 12, 2008 at 4:22 pm
Au boulot on utilise un synology, franchement c’est également une excellente marque. D’ailleurs Qnap, thecus et synology sont équivalent de ce côté.
Ce qui manque je trouve dans tout ces nas c’est smbmount pour faire des backup d’un serveur vers le nas de façon autonome.
michauko said,
July 15, 2008 at 12:56 pm
tenshu : rsync ? (ou unison si besoin d’être plus user-friendly). Ca peut passer par SSH (FTP aussi il me semble)
Sinon, grâce à ipkg, tu dois pouvoir mettre les outils Samba justement. En tout cas sur le QNAP
Youpla said,
July 18, 2008 at 6:06 pm
Hello, je suis l’heureux propriétaire d’un TS-109 II depuis hier et je dois dire que ce NAS m’épate. Installation/initialisation/configuration en a peine plus d’une heure. Avec le dernier firmware il est possible d’installer ipkg comme décrit plus haut. Personnellement j’ai installé man, vim et bip (bouncer irc que j’ai pas encore réussi à configurer), aucun problème (je n’ai pas rencontré de problème de path).
Pour la commande file je n’en ai pas (encore) l’utilité mais…
[/proc] # ipkg list | grep ^file
file - 4.25-1 - Ubiquitous file identification utility.
Tu sais ce qu’il te reste a faire michauko
Par contre il semble que certaines commandes soient “allégées”. Par exemple, impossible de faire un find . -ls . J’espère ne pas avoir trop de mauvaise surprises de ce genre.
Aller j’y retourne !
michauko said,
July 18, 2008 at 9:11 pm
Voui, “file” est installé
pour find, en effet, impossible de faire des trucs genre :
find . -type f -exec blabla {} \;
Enfin, pour ceux que ça intéresserait, entre le TS-209 et TS-209 II, il n’y a que le NFS (je crois) en plus. Et ça se “pirate” fastoche en trifouillant dans /etc, dixit des collègues qui en ont un aussi.
Youpla said,
July 18, 2008 at 9:18 pm
En fait tu confonds avec la version PRO. Effectivement il n’est pas indispensable de payer plus cher pour avoir NFS puisqu’il est disponible dans ipkg (j’ai pas testé mais il est listé).
La version II quant a elle offre 256Mo de RAM au lieu des 128 de la version standard (et c’est bien sympatoche 128Mo de plus pour bidouiller).
Sinon j’ai réussi a configurer mon bouncer IRC, je vais pouvoir ne plus rien rater des conversation en mon absence !
la suite ca serait quoi… un p’tit serveur IMAP pour centraliser mon courrier ?
Sinon si quelqu’un trouve un moyen d’installer proprement une “vraie” version de find je suis preneur.
++
michauko said,
July 18, 2008 at 9:41 pm
ah oui j’m'a trompé
Le fait est que les 128 Mo de RAM sont tout juste plein. J’ai jamais osé diffuser un film via Twonky tout en bourrinant du SFTP et bittorrent, mais c’est sûr que ça pourrait ramer dans ces conditions
Pour le courrier, j’ai opté pour un vrai serveur
Pour find, j’ai regardé. Sachant que (sur une Debian ou Ubuntu), tu as :
dpkg-query -S ` which find`
qui donne le paquet findutils
J’ai naturellement tenté :
ipkg install findutils
Ca marche et la version ipkg passe avant celle native. Une affaire qui roule