Il s'agit de la commande perlsynology qui peut être exécutée dans le fournisseur d'hébergement gratuit OnWorks en utilisant l'un de nos multiples postes de travail en ligne gratuits tels que Ubuntu Online, Fedora Online, l'émulateur en ligne Windows ou l'émulateur en ligne MAC OS
PROGRAMME:
Nom
perlsynology - Perl 5 sur les systèmes Synology DSM
DESCRIPTION
Synology fabrique un grand nombre de périphériques de stockage en réseau (NAS) qui sont
très populaire dans les grandes organisations ainsi que dans les petites entreprises et les foyers.
Les systèmes NAS sont équipés de Synology Disk Storage Manager (DSM), qui est un
down système Linux amélioré avec plusieurs outils de gestion du NAS. Il y a plusieurs
saveurs de matériel : Marvell Armada (ARMv5tel, ARMv7l), Intel Atom (i686, x86_64),
Freescale QorIQ (PPC), et plus encore. Pour une liste complète, consultez la FAQ Synology
<http://forum.synology.com/wiki/index.php/What_kind_of_CPU_does_my_NAS_have>.
Comme il est basé sur Linux, le NAS peut exécuter de nombreux progiciels Linux populaires,
y compris Perl. En fait, Synology fournit un package prêt à installer pour Perl, selon
sur la version de DSM le perl installé va de 5.8.6 sur DSM-4.3 à 5.18.4 sur
DSM-5.1.
Il existe une communauté d'utilisateurs active qui fournit de nombreux packages logiciels pour le Synology
systèmes DSM ; au moment de la rédaction de ce document, ils fournissent la version Perl 5.18.4.
Ce document décrit diverses fonctionnalités du système d'exploitation Synology DSM qui affecteront
comment Perl 5 (ci-après simplement Perl) est configuré, compilé et/ou exécuté. il a été compilé
et vérifié par Johan Vromans pour le Synology DS413 (QorIQ), avec les commentaires de H.Merijn
Marque (DS213, ARMv5tel).
Paramètres up le construire sûr, heureux et sain
Comme DSM est un système Linux réduit, il manque de nombreux outils et bibliothèques couramment
trouvé sur Linux. Les outils de base comme sh, cp, rm, etc. sont implémentés à l'aide de BusyBox
<http://en.wikipedia.org/wiki/BusyBox>.
· À l'aide de votre navigateur préféré, ouvrez la page de gestion de DSM et démarrez le package
Centre.
· Si vous voulez tester Perl, installez "Perl".
· Dans Paramètres, ajoutez les sources de package suivantes :
http://www.cphub.net
http://packages.quadrat4.de
· Toujours dans Paramètres, dans Channel Update, sélectionnez Beta Channel.
· Appuyez sur Actualiser. Dans le panneau de gauche, l'élément "Communauté" apparaîtra. Cliquez dessus. Sélectionner
"Bootstrap Installer Beta" et installez-le.
· De même, installez "iPKGui Beta".
La fenêtre de l'application devrait maintenant afficher une icône pour iPKGui.
· Démarrez iPKGui. Installez les packages "make", "gcc" et "coreutils".
Si vous voulez tester Perl, installez "patch".
L'étape suivante consiste à ajouter des liens symboliques aux bibliothèques système. Par exemple, le développement
le logiciel attend une bibliothèque "libm.so" qui est normalement un lien symbolique vers "libm.so.6". Synologie
ne fournit que ce dernier et non le lien symbolique.
Ici, l'architecture réelle du système Synology est importante. Il faut savoir où
les bibliothèques gcc ont été installées. Regarder dans /opter pour un répertoire similaire à arm-none-
linux-gnueab ou powerpc-linux-gnuspe. Dans les instructions ci-dessous, j'utiliserai powerpc-linux-
gnuspe comme exemple.
· Sur la page de gestion DSM, démarrez le Panneau de configuration.
· Cliquez sur Terminal et activez le service SSH.
· Fermez le Terminal et le Panneau de configuration.
· Ouvrez un shell sur le Synology en utilisant ssh et devenez root.
· Exécutez les commandes suivantes :
cd / lib
ln -s libm.so.6 libm.so
ln -s libcrypt.so.1 libcrypt.so
ln -s libdl.so.2 libdl.so
cd /opt/powerpc-linux-gnuspe/lib (ou
/opt/arm-none-linux-gnueabi/lib)
ln -s /lib/libdl.so.2 libdl.so
AVERTISSEMENT: Lorsque vous effectuez une mise à niveau du logiciel système, ces liens disparaissent et doivent
à rétablir.
Compilation Perl 5
Une fois l'environnement de construction configuré, la construction et le test de Perl sont simples.
La seule chose que vous devez faire est de télécharger les sources comme d'habitude et d'ajouter un fichier Policy.sh
comme suit:
# Administration.
perladmin="[email protected]"
# Installez Perl dans une arborescence dans /opt/perl au lieu de /opt/bin.
préfixe=/opt/perl
# Sélectionnez le compilateur. Notez qu'il n'y a pas d'alias ou de lien 'cc'.
cc=gcc
# Construire des drapeaux.
ccflags="-DDEBUGING"
# Bibliothèque et inclure des chemins.
libpth="/ lib"
locincpth="/opt/include"
loclibpth="/ lib"
Vous pouvez créer le répertoire de destination et lui donner les bonnes autorisations avant
l'installation, éliminant ainsi le besoin de construire Perl en tant que super utilisateur.
Dans le répertoire où vous avez décompressé les sources, exécutez les commandes habituelles :
./Configurer -des
a prendre une
faire un test
make install
Connu d'ouvrabilité
Configurez
Aucun problème connu pour le moment
Silhouette
Message d'erreur "Aucune définition d'erreur trouvée".
Cette erreur est générée lorsqu'il n'est pas possible de trouver les définitions locales pour
codes d'erreur, en raison de la structure peu commune du système de fichiers Synology.
Cette erreur a été corrigée dans le git de développement Perl pour la version 5.19, commit
7a8f1212e5482613c8a5b0402528e3105b26ff24.
Défaut tests
"ext/DynaLoader/t/DynaLoader.t"
Un sous-test échoue en raison de la structure peu commune du système de fichiers Synology. Le fichier
"/lib/glibc.so" est manquant.
AVERTISSEMENT: Ne pas créer de lien symbolique "/lib/glibc.so.6" vers "/lib/glibc.so" ou certains composants du système
commencera à échouer.
Fumees vers les tests Perl 5
Si la construction se termine avec succès, vous pouvez configurer des tests de fumée comme décrit dans le
Test::Documentation sur la fumée.
Pour les tests de fumée, vous avez besoin d'un Perl en cours d'exécution. Vous pouvez soit installer le Synology fourni
package pour Perl 5.8.6, ou construisez et installez votre propre version beaucoup plus récente.
Notez que je ne pouvais pas exécuter de fumées avec succès lorsqu'il était lancé par le planificateur de tâches Synology.
J'ai eu recours à l'initiation des fumées via une tâche cron exécutée sur un autre système, en utilisant ssh :
ssh nas1 wrk/Test-Smoke/smoke/smokecurrent.sh
Demandeur d’emploi local (national) patchs
Lorsque des correctifs locaux sont appliqués avec des tests de fumée, le pilote de test sera automatiquement
demander la régénération de certaines tables après l'application des correctifs. La Synologie
fourni Perl 5.8.6 (au moins sur le DS413) is ne pas capable de générer ces tables. Ce
générera des opcodes avec des valeurs fausses, provoquant l'échec de la construction.
Vous pouvez empêcher la régénération en ajoutant le paramètre
'drapeaux' => 0,
à la config smoke, ou en ajoutant un autre patch qui insère
sortie 0 si $] == 5.008006;
au début du programme "regen.pl".
L'ajout de bibliothèques
La procédure ci-dessus décrit un environnement de base et aboutit donc à un Perl de base. Si
vous souhaitez ajouter des bibliothèques supplémentaires à Perl, vous aurez peut-être besoin de paramètres supplémentaires.
Par exemple, le Perl de base n'a aucune des bibliothèques DB (db, dbm, ndbm, gdsm).
Vous pouvez les ajouter à l'aide d'iPKGui, cependant, vous devez définir la variable d'environnement
LD_LIBRARY_PATH à la valeur appropriée :
LD_LIBRARY_PATH =/ lib:/opt/lib
exporter LD_LIBRARY_PATH
Ce paramètre doit être en vigueur pendant la construction de Perl, mais aussi lorsque les programmes sont
fonctionner.
REVIEW
Mars 2015, pour Synology DSM 5.1.5022.
Utilisez perlsynology en ligne en utilisant les services onworks.net