NAS Synology : installer IPKG pour ajouter des applications supplémentaires

De temps en temps, on a besoin d’intervenir sur le NAS et l’interface web d’administration du Synology n’est ni la plus intuitive, ni la plus rapide. En tout cas, sur un D212+, cela rame toujours un peu.

Aujourd’hui, je vous montre comment ouvrir une session SSH en tant que root sur votre Synology afin d’y installer des applications non officielles mais toutes aussi valables comme nano ou screen. Ce tuto prend à peine 10 minutes à réaliser.

Cela nous permettra à terme de pouvoir lancer différentes commandes et d’exploiter à fond les possibilités du NAS.

Activer SSH sur le Synology

Première étape : on active le service SSH sur le Synology :

  1. connectez-vous au webadmin de votre Synology,
  2. rendez-vous dans Control Panel > Applications > Terminal & SNMP,
  3. dans l’onglet Terminal, cochez l’option Enable SSH service,
  4. changez le port par défaut pour quelque chose de plus exotique : 44222 par exemple,
  5. sauvegardez les options.

Retenez bien le numéro du port que vous avez défini. Il sera maintes fois utilisé par la suite.

Ouvrir une session SSH sur le NAS avec l’utilisateur root

Cette étape est cruciale et permet d’éviter de longues heures de recherche sur Internet pour comprendre pourquoi les commandes des étapes suivantes ne fonctionnent pas…

Vous devez *absolument* ouvrir une session SSH sur le NAS en tant qu’utilisateur root.

Le mot de passe de l’utilisateur root est le même que celui de l’utilisateur admin mais une session en tant qu’admin ne vous donnera pas les droits nécessaires pour installer quoi que ce soit.

On se connecte avec l’utilisateur admin en SSH :

ssh admin@DiskStation -p44222Code language: CSS (css)

Et comme nous devons être root, on le devient :

sudo -i

Résultat:

BusyBox v1.16.1 (2015-10-28 13:19:22 CST) built-in shell (ash)
Enter 'help' for a list of built-in commands.

DiskStation>Code language: PHP (php)

Installer IPKG sur le Synology

La deuxième étape est d’installer un gestionnaire de paquet sur le NAS, pour ajouter des paquets supplémentaires qui ne sont pas présents sur les dépôts officiels de Synology. C’est un peu comme un apt-get ou aptitude.

Vous devez connaître le modèle du processeur exact de votre Synology en vous aidant de cette capture d’écran récapitulative :

Configurer une sauvegarde du serveur vers un NAS Synology avec des clés SSH photo

Sur mon Synology 212+, le processeur est donc un Marvell Kirkwood mv6282 2.0Ghz ARM (Marvell ARMADA 300).

Un autre moyen de connaître le modèle du processeur est de lancer un simple :

cat /proc/cpuinfo | more

Ce qui nous retourne :

Processor        : Feroceon 88FR131 rev 1 (v5l)
BogoMIPS        : 1985.74
Features        : swp half thumb fastmult edsp 
CPU implementer        : 0x56
CPU architecture: 5TE
CPU variant        : 0x2
CPU part        : 0x131
CPU revision        : 1Code language: CSS (css)

Ensuite, il nous reste à télécharger le bon fichier fichier correspondant à notre processeur. Le wiki Synology allemand existe toujours et nous donne :

ARM (armv5tejl, nur DS107+,DS207+,CS407,RS407): 
http://ipkg.nslu2-linux.org/feeds/optware/syno-x07/cross/unstable/syno-x07-bootstrap_1.2-7_arm.xsh

PowerPC (ppc_6xx): 
http://ipkg.nslu2-linux.org/feeds/optware/ds101g/cross/unstable/ds101-bootstrap_1.0-4_powerpc.xsh

PowerPC (ppc_85xx, e500v?): 
http://ipkg.nslu2-linux.org/feeds/optware/syno-e500/cross/unstable/syno-e500-bootstrap_1.2-7_powerpc.xsh

Marvell Kirkwood 88F6281, 88F6282, 88FR131 (ARMv5TE Feroceon) : http://web.archive.org/web/20121005035819/http://wizjos.endofinternet.net/synology/archief/syno-mvkw-bootstrap_1.2-7_arm-ds111.xsh 
(ou utiliser http://ipkg.nslu2-linux.org/feeds/optware/cs08q1armel/cross/stable/syno-mvkw-bootstrap_1.2-7_arm.xsh si vous obtenez une erreur au niveau du choix du processeur)

Intel Atom: 
http://ipkg.nslu2-linux.org/feeds/optware/syno-i686/cross/unstable/syno-i686-bootstrap_1.2-7_i686.xshCode language: JavaScript (javascript)

Voici un backup de notre fichier : syno-mvkw-bootstrap_1.2-7_arm-ds111.xsh

On peut donc procéder à l’installation. On récupère le fichier bootstrap qui va installer ipkg:

cd /volume1/@tmp
wget  http://web.archive.org/web/20121005035819/http://wizjos.endofinternet.net/synology/archief/syno-mvkw-bootstrap_1.2-7_arm-ds111.xshCode language: JavaScript (javascript)

On le chmod et on l’exécute :

chmod +x syno-mvkw-bootstrap_1.2-7_arm-ds111.xsh
sh ./syno-mvkw-bootstrap_1.2-7_arm-ds111.xsh

Résultat :

Optware Bootstrap for syno-mvkw.
Extracting archive... please wait
bootstrap/
bootstrap/optware-bootstrap.ipk
bootstrap/wget.ipk
1227+1 records in
1227+1 records out
bootstrap/bootstrap.sh
bootstrap/ipkg.sh
bootstrap/ipkg-opt.ipk
Creating temporary ipkg repository...
Installing optware-bootstrap package...
Unpacking optware-bootstrap.ipk...Done.
Configuring optware-bootstrap.ipk...Modifying /etc/rc.local
Done.
Installing ipkg...
Unpacking ipkg-opt.ipk...Done.
Configuring ipkg-opt.ipk...Done.
Removing temporary ipkg repository...
Installing wget...
Installing wget (1.12-2) to root...
Configuring wget
Successfully terminated.
Creating /opt/etc/ipkg/cross-feed.conf...
Setup complete.

On met ensuite à jour les paquets :

ipkg update && ipkg upgrade

Et on installe quelques paquets utiles comme nano et screen :

ipkg install nano screen

Vous pouvez afficher la liste de tous les nouveaux paquets disponible avec la commande :

ipkg listCode language: PHP (php)

Pour pérenniser l’installation d’ipkg (ou si jamais vous obtenez le message “ipkg not found” au reboot du NAS), il faut (re)mettre le chemin dans le fichier de configuration de votre NAS :

nano /root/.profile

Remplacer la ligne PATH existante par celle-ci :

PATH=/sbin:/bin:/usr/sbin:/usr/bin:/opt/sbin:/opt/bin:/usr/syno/sbin:/usr/syno/bin:/usr/local/sbin:/usr/local/bin:/root/binCode language: JavaScript (javascript)

Éditez maintenant le fichier /etc/rc.local :

nano /etc/rc.local

Et ajoutez-y :

mount -o bind /volume1/@optware /opt

Sauvegardez et redémarrez le NAS.

Utilisation d’ipkg

Mettre à jour les dépôts et paquets :

ipkg update && ipkg upgrade

Afficher la liste des paquets déjà installés :

ipkg listCode language: PHP (php)

Installer un paquet :

ipkg install 

Supprimer un paquet :

ipkg remove 

Cela devrait parfaire les quelques limitations du NAS en mode terminal et vous permettre d’ajouter des programmes très utiles pour la suite.

Vous avez un projet WordPress ou WooCommerce en tête? Transformez votre vision en réalité avec mon expertise reconnue.

Parlons de votre projet dès aujourd'hui »

Articles conseillés :

Matt

Matt Biscay est développeur WordPress et WooCommerce certifié chez Codeable, ainsi que sysadmin qualifié et enseignant-chercheur. Passionné par le code performant et les solutions sécurisées, je m'efforce d'offrir une expérience utilisateur exceptionnelle sur chaque projet.

Vous avez aimé cet article ? Vous avez un projet en tête et vous pensez que je pourrais vous aider à le concrétiser ? N'hésitez pas à me contacter, je serais ravi de discuter avec vous de votre projet !

13 pensées sur “NAS Synology : installer IPKG pour ajouter des applications supplémentaires”

  1. Merci pour ce tuto.

    Je tenais quand même à y ajouter une précision pour épargner à d’autre ma petite heure de galère :

    Pour les heureux possesseurs d’un DS216se et autres machines avec un proco Marvell Armada 370 ARMv7l, le paquet en lien ici ne fonctionnera pas. Il faut paramétrer manuellement l’environnement optware. Toute la procédure se trouve ici :

    https://github.com/trepmag/ds213j-optware-bootstrap

    Reply
  2. Bonjour et merci pour cette procedure.
    Fonctionne t’elle avec DSM 6?

    En l’appliquant j’obtiens:

    Optware Bootstrap for syno-i686.
    Extracting archive… please wait
    bootstrap/
    bootstrap/bootstrap.sh
    bootstrap/ipkg-opt.ipk
    bootstrap/ipkg.sh
    1216+1 records in
    1216+1 records out
    249302 bytes (249 kB) copied, 0.0434367 s, 5.7 MB/s
    bootstrap/optware-bootstrap.ipk
    bootstrap/wget.ipk
    Backup your configuration settings, then type:
    rm -rf /volume1/@optware
    rm -rf /usr/lib/ipkg
    This will remove all existing optware packages.

    You must *reboot* and then restart the bootstrap script.

    Je trouve bizarre qu’il me demande de supprimer ces 2 répertoires.

    Ne voulant pas faire de betises je prefere demander avant.

    Merci d’avance de votre aide.
    Gilles

    Reply
    • Bonjour Gilles,

      Le script d’installation a détecté une installation précédente et a besoin de supprimer les anciens fichiers/répertoires avant d’installer les nouveaux. C’est donc normal.

      Reply
      • Bonjour je n’ai pas la permission pour supprimer les anciennes versions …
        ipkg est introuvable, donc je suis bloqué.

        Comment faire ?

        (Jai essaye avec les deux comptes admin, rien ne marche)

      • C’est bon il fallait que je supprimes les anciennes versions avec les droits root
        donc un petit sudo -i en ligne de commande m’a permis d’etre root et de supprimer ce qui n’alalit pas.

  3. Bonsoir.
    Je n’ai pas cette ligne dans mon .profile :
    PATH=/sbin:/bin:/usr/sbin:/usr/bin:/opt/sbin:/opt/bin:/usr/syno/sbin:/usr/syno/bin:/usr/local/sbin:/usr/local/bin:/root/bin
    C normal ?

    Reply
  4. Bjr très bon tuto.
    Je viens d’acheter un DS216+II. Il possède un CPU Intel Celeron N3060 Braswell.

    Je n’arrive pas à déterminer quel est le lien du fichier bootstrap qu’il faut que j’utilise.

    Si quelqu’un peu m’aider. Merci d’avance

    Reply
  5. Bonjour
    Merci pour cette procédure très détaillée.
    J’ai suivi la procédure pour installation sur un DS215j, mais en fin de processus j’ai un message INVALID; pouvez-vous m’aider?

    Voici le détail:
    root@DS-Eric:/volume1/@tmp# chmod +x syno-x07-bootstrap_1.2-7_arm.xsh
    root@DS-Eric:/volume1/@tmp# sh ./syno-x07-bootstrap_1.2-7_arm.xsh
    Optware Bootstrap for syno-x07.
    Extracting archive… please wait
    bootstrap/
    bootstrap/bootstrap.sh
    bootstrap/ipkg-opt.ipk
    bootstrap/ipkg.sh
    1226+1 records in
    1226+1 records out
    250145 bytes (250 kB) copied, 0.0921516 s, 2.7 MB/s
    bootstrap/optware-bootstrap.ipk
    bootstrap/wget.ipk
    Creating temporary ipkg repository…
    Installing optware-bootstrap package…
    Unpacking optware-bootstrap.ipk…Done.
    Configuring optware-bootstrap.ipk…Modifying /etc/rc.local
    Done.
    Installing ipkg…
    Unpacking ipkg-opt.ipk…Done.
    Configuring ipkg-opt.ipk…Done.
    Removing temporary ipkg repository…
    Installing wget…
    /opt/bin/ipkg: error while loading shared libraries: /opt/lib/libipkg.so.0: ELF file OS ABI invalid

    Et voici ma config:
    Processor : ARMv7 Processor rev 1 (v7l)
    processor : 0
    BogoMIPS : 1594.16

    processor : 1
    BogoMIPS : 1594.16

    Features : swp half thumb fastmult vfp edsp neon vfpv3 tls
    CPU implementer : 0x41
    CPU architecture: 7
    CPU variant : 0x4
    CPU part : 0xc09
    CPU revision : 1

    Hardware : Marvell Armada-375 Board
    Revision : 0000
    Serial : 0000000000000000

    Merci d’avance !

    Reply

Opinions