oracle7 Posté(e) le 5 juillet 2020 Auteur Partager Posté(e) le 5 juillet 2020 @bruno78 Waouh ! Il faut vraiment que @PPJP passe par ici, lui seul, à mon avis, saura répondre à ta question sur les dépendances. Mais, je me demande si lui ne fait pas déjà toute cette manipulation dans son script quand il liste tous les packages actifs et services puis qu'il redémarre les packages actifs ? Cordialement oracle7😉 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
bruno78 Posté(e) le 5 juillet 2020 Partager Posté(e) le 5 juillet 2020 Bonsoir @oracle7, en fait je viens de vérifier, et on trouve l'information grâce à # synopkg list --depend-on <package> Par exemple : root@ds918xxxx:# synopkg list --depend-on WebStation Apache2.4-2.4.43-0015: Apache HTTP Server est un serveur HTTP open source pour les systèmes d'exploitation modernes, notamment Unix et Windows. Avec ce pack est installé, vous pouvez choisir Apache comme serveur principal dans Web Station. phpMyAdmin-4.9.2-0183: phpMyAdmin est un outil logiciel gratuit conçu pour gérer les bases de données MariaDB. Gérez les bases de données MariaDB stockées sur votre Synology NAS en installant ce programme. Apache2.2-2.2.34-0020: Apache HTTP Server est un serveur HTTP open source pour les systèmes d'exploitation modernes, notamment Unix et Windows. Avec ce pack est installé, vous pouvez choisir Apache comme serveur principal dans Web Station. root@ds918xxxx:# Ce qui correspond bien à ce que j'ai constaté ! à savoir que Apache 2.2, 2.4 et PhpMyAdmin dépendent bien de Webstation. A partir de là, le traitement doit être possible, .... mais encore du travail à faire alors que je me croyais prêt du but .... J'avoue que je ne sais pas si cela est traité dans le script de @PPJP, que je n'ai pas encore fait tourner ..... 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
oracle7 Posté(e) le 5 juillet 2020 Auteur Partager Posté(e) le 5 juillet 2020 @bruno78 Bonsoir, il y a 24 minutes, bruno78 a dit : J'avoue que je ne sais pas si cela est traité dans le script de @PPJP, que je n'ai pas encore fait tourner ..... Sans le faire spécialement tourner, regardes le code, tu verras qu'il y a 2 fonctions dédiées : lister_packages_actifs_et_services() et redemarrage_des_packages_actifs(). Elles doivent peu-être déjà faire ce que à quoi tu réfléchis. Non ? Cordialement oracle7😉 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
bruno78 Posté(e) le 5 juillet 2020 Partager Posté(e) le 5 juillet 2020 @oracle7 de ce que je comprends du script de @PPJP, il vérifie bien que le package est lancé, mais je ne crois pas qu'il regarde les dépendances. Ceci dit ce que fait exactement le script start-stop-status pour chaque package n'est pas clair pour moi .... 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
oracle7 Posté(e) le 5 juillet 2020 Auteur Partager Posté(e) le 5 juillet 2020 (modifié) @bruno78 De ce que j'en comprends (sous toutes réserves !) : il mémorise les packages à "true" et récupère le "subscriber" selon le retour du script "star-stop-status" qui doit correspondre à "start". C'est peut-être là que sont gérées les dépendances ? mais pas sûr du tout ???? Ensuite il relance les packages ainsi mémorisés. Pas facile tout çà 😪 Cordialement oracle7😉 Modifié le 5 juillet 2020 par oracle7 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
bruno78 Posté(e) le 6 juillet 2020 Partager Posté(e) le 6 juillet 2020 (modifié) Hello, a priori grâce à la commande synopkg list --depend-on <package> , j'ai a priori pris en compte le problème des packages dépendants. Ils sont maintenant identifiés et relancés à la suite des autres packages. Encore quelques vérifications et un test grandeur nature à faire, et je pense ne pas être loin du but. 🙂 Ci-dessous la trace de la partie finale du script, concernant le redémarrage des packages, liste établie dynamiquement à partir des informations du fichier INFO du certificat LE, et avec prise en compte des packages dépendants de ceux directement impactés dans le certificat. --- Redemarrage global des Packages et services, incl. dependants --- package AudioStation restart successfully ---- cmd #00 : /usr/syno/bin/synopkg restart AudioStation Duree 42.90 sec. package VPNCenter restart successfully ---- cmd #01 : /usr/syno/bin/synopkg restart VPNCenter Duree 24.49 sec. package SynologyDrive restart successfully ---- cmd #03 : /usr/syno/bin/synopkg restart SynologyDrive Duree 58.71 sec. package LogCenter restart successfully ---- cmd #04 : /usr/syno/bin/synopkg restart LogCenter Duree 8.46 sec. package ReplicationService restart successfully ---- cmd #05 : /usr/syno/bin/synopkg restart ReplicationService Duree 59.68 sec. package MailPlus-Server restart successfully ---- cmd #06 : /usr/syno/bin/synopkg restart MailPlus-Server Duree 132.55 sec. package FileStation restart successfully ---- cmd #07 : /usr/syno/bin/synopkg restart FileStation Duree 40.26 sec. package WebStation restart successfully ---- cmd #08 : /usr/syno/bin/synopkg restart WebStation Duree 55.49 sec. ftpd start/running, process 2924 ---- cmd #09 : initctl restart ftpd Duree 0.33 sec. package SynologyMoments restart successfully ---- cmd #10 : /usr/syno/bin/synopkg restart SynologyMoments Duree 41.42 sec. package Virtualization restart successfully ---- cmd #11 : /usr/syno/bin/synopkg restart Virtualization Duree 39.49 sec. package MailClient restart successfully ---- cmd #12 : /usr/syno/bin/synopkg restart MailClient Duree 56.96 sec. package Apache2.4 restart successfully ---- cmd #13 : /usr/syno/bin/synopkg restart Apache2.4 Duree 8.74 sec. package phpMyAdmin restart successfully ---- cmd #14 : /usr/syno/bin/synopkg restart phpMyAdmin Duree 24.65 sec. package Apache2.2 restart successfully ---- cmd #15 : /usr/syno/bin/synopkg restart Apache2.2 Duree 8.40 sec. --- Duree totale du script 605.67 sec. C'était un essai à blanc, donc sans appel à acme.sh. Les contrôles effectués ensuite ne montrent pas d'anomalie pour le moment. Tous les services semblent opérationnels. Me reste à valider de bout en bout avec la génération du nouveau certificat .... Modifié le 6 juillet 2020 par bruno78 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
oracle7 Posté(e) le 6 juillet 2020 Auteur Partager Posté(e) le 6 juillet 2020 @bruno78 Bonjour, il y a 35 minutes, bruno78 a dit : je pense ne pas être loin du but Super bonne nouvelle ! 😀 Verrais-tu un inconvénient à m'envoyer ton script par MP afin que je l'examine pour bien comprendre le processus suivi ? Merci d'avance Cordialement oracle7😏 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
bruno78 Posté(e) le 6 juillet 2020 Partager Posté(e) le 6 juillet 2020 @oracle7, ben en fait j'avais penser à te demander de le tester également 🙂 .... avec toutes les précautions d'usage. C'est plus sage avant de le lâcher ... Laisse moi 1 ou 2 jours pour faire un test complet, avec génération de certificat etc ..... Et il faut aussi que je fasse un peu de mise au propre du code, commentaires, .... bref ... parce que là, à coup de rustine à droite et à gauche ... ! Après on est d'accord : un pro dira, à raison, que c'est codé avec les pieds .... Je ne suis pas pro du codage, et je ne connaissais pas python il y a 6 mois .... Mais fonctionnellement je pense que ça tient à peu prêt. Dés que c'est prêt, je t'envoie une copie en MP. Bruno78 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
oracle7 Posté(e) le 6 juillet 2020 Auteur Partager Posté(e) le 6 juillet 2020 @bruno78 OK pas de problème quand tu es prêt. Tu as raison, avant de lâcher ce script dans "la nature", il faut bien verrouiller les choses. Juste une question : comme c'est du python, cela veux dire qu'il faudra faire installer le package idoine sur le NAS en prérequis ? Personnellement cela ne me gêne pas mais, là ne risque-t-on pas de refroidir certains utilisateurs, même si c'est le "prix à payer" pour une automatisation complète du processus qui fait qu'au final on en oublie que le renouvellement se fait tout seul sans aucune intervention postérieure ? Cordialement oracle7😏 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
bruno78 Posté(e) le 7 juillet 2020 Partager Posté(e) le 7 juillet 2020 @oracle7, oui, le module python est un prérequis. Mais ce n'est pas le paquet le plus compliqué à installer, et Python est un prérequis aussi pour le module MailPlus . "Python modules" suffit, pas besoin de Python 3 en revanche. Je ne pense pas que ce soit un prérequis trop contraignant (surtout quand on se lance dans les manipulations sur les certificats ...). Mais je suis d'accord pour la remarque. Par contre, je suis incapable du travail de @PPJP ....en shell .... . Par contre, je ne sais pas si il y a des modèles sur lesquels ce module Python ne serait pas compatible ? 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
bruno78 Posté(e) le 7 juillet 2020 Partager Posté(e) le 7 juillet 2020 @oracle7, bonne nouvelle, testé rapidement, mais a priori le script python reste compatible avec le python de base embarqué avec DSM. Il ne doit donc pas être indispensable d'installer un module python supplémentaire. Donc a priori pas de prérequis spécifique. 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Jeff777 Posté(e) le 7 juillet 2020 Partager Posté(e) le 7 juillet 2020 Bonjour @bruno78 est-ce que c'est vrai pour le monitoring Freebox aussi ? 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
.Shad. Posté(e) le 7 juillet 2020 Partager Posté(e) le 7 juillet 2020 Pour le script qu'on a en test avec @Jeff777 (renouvellement automatisé d'un certificat wildcard pour DNS auto-hébergé) on attend le renouvellement naturel (sans passer par --force) pour vérifier si tout est OK, fin août normalement. 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
bruno78 Posté(e) le 7 juillet 2020 Partager Posté(e) le 7 juillet 2020 il y a 18 minutes, Jeff777 a dit : Bonjour @bruno78 est-ce que c'est vrai pour le monitoring Freebox aussi ? Pour le monitoring Freebox, il s'agit du docker telegraf dans lequel on installe Python. Là il n'y a pas le choix. 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Jeff777 Posté(e) le 7 juillet 2020 Partager Posté(e) le 7 juillet 2020 Ah oui c'est vrai 🤐 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
.Shad. Posté(e) le 7 juillet 2020 Partager Posté(e) le 7 juillet 2020 C'est tout à fait possible à mon avis (théoriquement, je n'ai jamais testé) : - Soit tu montes le dossier du NAS contenant les binaires python dans ton conteneur telegraf. - Soit à mon avis la solution la plus propre pour ne pas toucher au NAS : tu utilises la fonctionnalité volume de docker. volume permet de créer un volume utilisable par n'importe quel autre conteneur. Tu crées donc un conteneur python (l'image officielle existe) et tu crées un volume avec les binaires python, tu pourras l'utiliser dans n'importe quel autre conteneur. Les volumes comme les networks peuvent être définis globalement, pas seulement dans les conteneurs. Voir https://docs.docker.com/compose/compose-file/compose-file-v2/#volumes pour plus d'info sur les volumes. 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
bruno78 Posté(e) le 7 juillet 2020 Partager Posté(e) le 7 juillet 2020 @.Shad., je mets la methode (2) (container python independant) sur ma to-do list. Je n'y avais pas pensé. 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Jeff777 Posté(e) le 7 juillet 2020 Partager Posté(e) le 7 juillet 2020 J'ai pas tout compris mais ça n'a pas l'air plus simple que de suivre le tuto comme il est. 😂 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
bruno78 Posté(e) le 7 juillet 2020 Partager Posté(e) le 7 juillet 2020 @oracle7, dans le renouvellement du certificat, il reste un item que je n'ai pas su traiter : { "display_name" : "DSM Desktop Service", "display_name_i18n" : "common:web_desktop", "isPkg" : false, "owner" : "root", "service" : "default", "subscriber" : "system" }, De quoi s'agit'il ? comment le traiter ? Bruno78 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
oracle7 Posté(e) le 7 juillet 2020 Auteur Partager Posté(e) le 7 juillet 2020 (modifié) @bruno78 Bonjour, Belle colle que tu poses là. Franchement je ne saurais te répondre sur ce point, cela dépasse mes compétences et connaissances. J'imagine que si tu poses la question c'est que l'on ne peut pas le relancer comme les autres services ? En plus, il me paraît important puisque a priori il concerne la gestion du bureau DSM ! il y a sûrement une commande spécifique pour lui autre que : /usr/syno/bin/synopkg . Non ? Du coup après recherche, j'ai trouvé cela sur la toile : regardes la commande "synoservice" peut-être une piste de solution ? Mais avec cela, j'enfonce peut-être une porte déjà ouverte chez toi ? Chez moi "synoservice --list" renvoie une liste impressionnante de services "actifs" dont DSM, alors ??? Cordialement oracle7😏 Modifié le 5 juillet 2021 par oracle7 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
bruno78 Posté(e) le 7 juillet 2020 Partager Posté(e) le 7 juillet 2020 @oracle7, exact ! Par ailleurs : root@ds918:# synoservice --status DSM Service [DSM] status=[enable] required upstart job: [synoscgi] is start. ======================================= root@ds918:# synoservicecfg --status | grep synocgi Service [synocgid] status=[enable] [synocgid] is start. root@ds918:# je pense que je vais d'abord tester sur un Virtual DSM .... pas envie de tout planter ! 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
oracle7 Posté(e) le 7 juillet 2020 Auteur Partager Posté(e) le 7 juillet 2020 @bruno78 ?????? il y a 17 minutes, bruno78 a dit : exact ! J'ai enfoncé une porte ouverte ????? 🤪🤪🤪 Cordialement oracle7😏 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
bruno78 Posté(e) le 7 juillet 2020 Partager Posté(e) le 7 juillet 2020 @oracle7 .... non non pas du tout, au contraire. Je ne sais pas comment traiter ce point. Et d'ailleurs, à supposer que l'on redemarre DSM ou synoscgi ou synocgid (lequel ???), je ne sais pas vérifier si le nouveau certificat est pris en compte ou pas .... donc je ne sais pas quoi faire .... Mais je me dis que redemmarrer DSM Desktop n'est pas forcément anodin et/ou sans risque ... D'où le fait que je vais d'abord regarder sur un VDSM. 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
oracle7 Posté(e) le 7 juillet 2020 Auteur Partager Posté(e) le 7 juillet 2020 @bruno78 OK tu as raison d'être prudent 😀 Cordialement oracle7😏 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
oracle7 Posté(e) le 7 juillet 2020 Auteur Partager Posté(e) le 7 juillet 2020 @bruno78 Au cas où, sais-tu qu'il existe aussi la commande "synopkg star-depend <service>" du coup est-ce que cela ne te simplifierait-il pas les choses ? Regardes accessoirement aussi les autres commandes disponibles (par ex : onoffall)... Citation # synopkg usage: synopkg <command> [...] command: start <package> Start a package. stop <package> Stop a package. restart <package> Stop a package, then start it. resume <package> Start a package without enable its service. It will do nothing if enabled flag doesn't exist. pause <package> [skipupgradecheck] Stop a package without disable its service. It will do nothing if enabled flag doesn't exist. start-depend <service> Start all packages depend on specific service. stop-depend <service> Stop all packages depend on specific service. onoffall start|stop [event] [param] Start or stop all the packages. install [--daemon-reload] <spk> Install a package through local spk. install_from_server <package> [volume] [user] [beta] Install a package from server. uninstall <package>... Uninstall one or more package. upgradeall [limitonly] [lang] [user] Upgrade all upgradable package. chkupgradepkg [lang] Find all upgradable packages from server, and decide whether to upgrade accorting to user settings. checkupdateall [lang] [user] Find all upgradable packages from server (use cache first), and decide whether to upgrade accorting to user settings. status <package> Get status of an installed package. is_onoff <package> Check if a package is installed and if its enabled flag exists. version <package> Get version of an installed package. query <spk> Get a package's basic information from the spk. list [--name] [--depend-on <package>] List all installed package. log <package> Get package's log path. checkupdate <package> [lang] Check if a package is updatable. sort_spk_by_dep_order <spk_path>... Sort given spks according to their dependencies. notify_stopped_by_firmware Send notifications about which packages are stopped by firmware. Cordialement oracle7😏 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Messages recommandés
Rejoindre la conversation
Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.