Migration srv-x64-ubuntu vers srv-arm64-ubuntu

Question about WAPT Server / Requêtes et aides autour du serveur Wapt
Règles du forum
Règles du forum communautaire
* English support on www.reddit.com/r/wapt
* Le support communautaire en français se fait sur ce forum
* Merci de préfixer le titre du topic par [RESOLU] s'il est résolu.
* Merci de ne pas modifier un topic qui est taggé [RESOLU]. Ouvrez un nouveau topic en référençant l'ancien
* Préciser version de WAPT installée, version complète ET numéro de build (2.2.1.11957 / 2.2.2.12337 / etc.) AINSI QUE l'édition Enterprise / Discovery
* Les versions 1.8.2 et antérieures ne sont plus maintenues. Les seules questions acceptées vis à vis de la version 1.8.2 sont liés à la mise à jour vers une version supportée (2.1, 2.2, etc.)
* Préciser OS du serveur (Linux / Windows) et version (Debian Buster/Bullseye - CentOS 7 - Windows Server 2012/2016/2019)
* Préciser OS de la machine d'administration/création des paquets et de la machine avec l'agent qui pose problème le cas échéant (Windows 7 / 10 / 11 / Debian 11 / etc.)
* Eviter de poser plusieurs questions lors de l'ouverture de topic, sinon il risque d'être ignorer. Si plusieurs sujet, ouvrir plusieurs topic, et de préférence les uns après les autres et pas tous en même temps (ie ne pas spammer le forum).
* Inclure directement les morceaux de code, les captures d'écran et autres images directement dans le post. Les liens vers les pastebin, les bitly et autres sites tierces seront systématiquement supprimés.
* Comme tout forum communautaire, le support est fait bénévolement par les membres. Si vous avez besoin d'un support commercial, vous pouvez contacter le service commercial Tranquil IT au 02.40.97.57.55
b.ald
Messages : 5
Inscription : 04 oct. 2025 - 22:59

05 oct. 2025 - 06:34

WAPT Discovery -- 2.6.1.17472 -- SRV Ubuntu 24.04

Bonjour,

j'avais monté un serveur wapt sur le cloud d'oracle sur une instance micro-x64 (1/8 ocpu / 1 go ram), tout marche nickel hormis le fait qu'il faut être un peu plus patient vu les perf du serveur (limite de 50Mb/sec de bande passante en upload).
J'ai voulu migrer le serveur vers une instance arm-x64 (meilleur perf et 1Gb/sec/ocpu de bande passante).

donc j'ai backup

Code : Tout sélectionner

/opt/wapt/conf
/opt/wapt/waptserver/ssl
/var/www/wapt*
/var/www/*.json
et dump la bdd.

j'ai commencé à faire l'install sur la VM arm64 mais il semblerait qu'il y ait un incident avec le script postconf :

Code : Tout sélectionner

root@xxxx:/opt/wapt/waptserver/ssl# /opt/wapt/waptserver/scripts/postconf.sh
/opt/wapt/waptserver/scripts/postconf.sh: line 12: 20784 Segmentation fault      (core dumped) NCURSES_NO_UTF8_ACS=1 PYTHONPATH=/opt/wapt /opt/wapt/bin/python -I /opt/wapt/waptserver/scripts/postconf.py $@
Pour ce que j'ai pu trouver, ca plante avec le nouvel env python 3.10 lors de l'import de "setuphelper" dans postconf.py. (mais je me trompe sûrement et je n'ai pas été plus loin.)



Pour me sortir de là, j'ai tout purger et installer la dernière 2.5 et aucun problème.
j'ai migré

Code : Tout sélectionner

/opt/wapt/conf
/opt/wapt/waptserver/ssl
/var/www/wapt*
/var/www/*.json
mais la restauration de la BDD plante (sûrement pas même schemas vu que j'étais en dernieère 2.6)

donc j'ai le serveur qui tourne en dernière 2.5, j'ai récupérer la conf du serveur et mes paquets et les fichiers host mais l'inventaire de la console reste vide (pcq pas de restore de la bdd ?) et je ne peux pas upgrader ensuite vers la dernière 2.6 à cause de l'erreur lors du postconf.

(pour ré-enregistrer un machine - agent 2.6 - je n'ai pas trouver d'autre solution pour l'instant que de régénérer un waptagent 2.5 et faire un "wapt-get install --force" pour écraser l'agent 2.6 installé mais je dois me déplacer sur chaque postes pour cela)

Cdt.
WAPT Discovery -- 2.6.1.17472 -- SRV Ubuntu 24.04
WAPT Enterprise -- 2.6.0.17349-- SRV Ubuntu 22.04
WAPT Enterprise -- 2.6.0.17349 -- SRV RHEL 9 --//-- Depots secondaires -- Rocky 9
adm : W11pro
b.ald
Messages : 5
Inscription : 04 oct. 2025 - 22:59

06 oct. 2025 - 00:47

Bonjour,

Je reviens avec quelques billes en plus même si pas de solution (et je la trouverais pas de tte ^^)

Donc, le problème du postconf qui plante en "segfault" survient bien à partir de la première 2.6.1.
J'ai tenter de lancer le postconf.py avec chaque env python (enfin je suis pas dev.. je vais sûrement dire des bêtises mais bon)

Code : Tout sélectionner

/opt/wapt/bin/python3.10
/opt/wapt/bin/python3.9
/opt/wapt/bin/python*oopsjesaisplusdsl*

mais j'ai obtenu la même erreur de mémoire quand j'ai testé.

Bref, du coup j'ai installé la dernière 2.6.0 (wapt-2.6.0.17392-0ac7bf48)

Code : Tout sélectionner

cd /tmp

wget https://wapt.tranquil.it/wapt/releases/wapt-2.6.0.17392-0ac7bf48/tis-waptsetup-windows-2.6.0.17392-0ac7bf48-debian-10-amd64.deb
wget https://wapt.tranquil.it/wapt/releases/wapt-2.6.0.17392-0ac7bf48/tis-waptserver-2.6.0.17392-0ac7bf48-arm64.deb

apt install ./tis-waptserver-2.6.0.17392-0ac7bf48-arm64.deb ./tis-waptsetup-windows-2.6.0.17392-0ac7bf48-debian-10-amd64.deb
J'ai ensuite exécuté le

Code : Tout sélectionner

/opt/wapt/waptserver/scritp/postconf.sh -s
qui a pu se lancer.

En revanche, il y avait déjà un soucis dans cette version à la fin du postconf que j'avais déjà réussi à contourner/résoudre avant.
C'était assez explicite :

Code : Tout sélectionner

Output:Traceback (most recent call last):
  File "/opt/wapt/wapt-scanpackages.py", line 140, in <module>
    main()
  File "/opt/wapt/wapt-scanpackages.py", line 101, in main
    res2 = len(update_packages_table(conf, wapt_path))
  File "/opt/wapt/wapt-scanpackages.py", line 46, in update_packages_table
    load_db_config(conf, conf.get('db_schema'))
  File "/opt/wapt/waptserver/model.py", line 105, in load_db_config
    with wapt_db:
  File "/opt/wapt/lib/python3.9/site-packages/peewee.py", line 481, in inner
    return getattr(self.obj, method)(*args, **kwargs)
  File "/opt/wapt/lib/python3.9/site-packages/peewee.py", line 3231, in __enter__
    self.connect()
  File "/opt/wapt/lib/python3.9/site-packages/playhouse/pool.py", line 133, in connect
    ret = super(PooledDatabase, self).connect(reuse_if_open)
  File "/opt/wapt/lib/python3.9/site-packages/peewee.py", line 3263, in connect
    self._state.set_connection(self._connect())
  File "/opt/wapt/lib/python3.9/site-packages/playhouse/pool.py", line 83, in inner
    return fn(self, *args, **kwargs)
  File "/opt/wapt/lib/python3.9/site-packages/playhouse/pool.py", line 177, in _connect
    conn = super(PooledDatabase, self)._connect()
  File "/opt/wapt/lib/python3.9/site-packages/playhouse/postgres_ext.py", line 476, in _connect
    conn = super(PostgresqlExtDatabase, self)._connect()
  File "/opt/wapt/lib/python3.9/site-packages/peewee.py", line 3991, in _connect
    raise ImproperlyConfigured('Postgres driver not installed!')
peewee.ImproperlyConfigured: Postgres driver not installed!
De ce que j'en ai compris, il manquait le driver postgres dans l'env python3.9 (psycopg2) donc j'ai fait :

alors après coup en cherchant un peu c'est "psycopg2-binary" et non "psycopg2" qu'il fallait ... (apparement pour éviter de possible pb de "dépendance de compilation" ... ? )

Code : Tout sélectionner

/opt/wapt/bin/python3.9 -m pip install psycopg2-binary
et j'ai relancé le postconf qui a pu se terminer.

pour le coup j'ai pas attendu et j'ai refait la procédure pour restaurer la bdd (qui c'est terminée correctement, j'avais déjà restauré tout le reste la première fois).
j'ai relancé un postconf (nécessaire? je crois que c'est le premier truc que le postconf fait edit/update la bdd ou ... je sais pas trop).

et (après waptsetup -> install -> open console) en relançant la console petit soulagement :
251006_00h06m16s_1759701976.png
251006_00h06m16s_1759701976.png (235.73 Kio) Consulté 262 fois


Par contre, hormis mon poste admin, tous les agents sont en 2.6.1 (donc n+1) mais tout à l'air de fonctionner (inventaire / update / install / waptexit / etc.)

J'ai bien sûr régénéré un agent en 2.6.0.17392 mais du coup je me demandais ce qu'il valait mieux faire :
  • laisser tel quel ?
  • écraser l'agent 2.6.1 par celui en 2.6.0.17392 avec un force install ?
Je vais rester en 2.6.0.17392, si je repasse en 2.6.1, le postconf passera toujours pas je pense.

Cdt.
WAPT Discovery -- 2.6.1.17472 -- SRV Ubuntu 24.04
WAPT Enterprise -- 2.6.0.17349-- SRV Ubuntu 22.04
WAPT Enterprise -- 2.6.0.17349 -- SRV RHEL 9 --//-- Depots secondaires -- Rocky 9
adm : W11pro
Avatar de l’utilisateur
dcardon
Expert WAPT
Messages : 1797
Inscription : 18 juin 2014 - 09:58
Localisation : Saint Sébastien sur Loire
Contact :

06 oct. 2025 - 17:15

Bonjour Bastien,

je viens de tester sur une Debian 12 arm64 et l'install du serveur passe bien. J'ai pas d'ubuntu 24.04 arm64 sous la main pour regarder.

C'est quoi comme cpu que vous avez sur votre instance amazon? Le test que je viens de faire c'était sur un mac mini sur Parallels

Code : Tout sélectionner

root@debian12:~# lscpu 
Architecture:             aarch64
  CPU op-mode(s):         64-bit
  Byte Order:             Little Endian
CPU(s):                   2
  On-line CPU(s) list:    0,1
Vendor ID:                ARM
  BIOS Vendor ID:         Apple
  Model name:             -
    BIOS Model name:      Apple Silicon None CPU @ 2.0GHz
    BIOS CPU family:      257
    Model:                0
    Thread(s) per core:   1
    Core(s) per cluster:  2
    Socket(s):            1
    Cluster(s):           1
    Stepping:             r0p0
    BogoMIPS:             48.00
    Flags:                fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm jscvt fcma lrcpc dcpop sha3 asimddp 
                          sha512 asimdfhm dit uscat ilrcpc flagm sb paca pacg dcpodp flagm2 frint
Cordialement,

Denis
Denis Cardon - Tranquil IT
Communiquez autour de vous sur WAPT! Envoyez nous vos url de blog et d'articles dans la catégorie votre avis du forum, nous les mettrons en avant sur le site WAPT
Avatar de l’utilisateur
dcardon
Expert WAPT
Messages : 1797
Inscription : 18 juin 2014 - 09:58
Localisation : Saint Sébastien sur Loire
Contact :

06 oct. 2025 - 17:32

rebonjour Bastien,

je viens de faire un test sur une debian 13 arm64 en virtu Parallels sur le même mac mini, et ça passe.

Mais par contre sur une VM debian 13 arm64 sur un vbox sur un win11 arm64 (processeur Ampère Altra) j'ai aussi un segfault lors de l'import de setuphelpers.

Mais par contre c'est pas psycopg2 le pb, il se charge correctement (cf. ci-dessous).
Capture.PNG
Capture.PNG (5.74 Kio) Consulté 215 fois
Je vais creuser demain.

Cordialement,

Denis
Denis Cardon - Tranquil IT
Communiquez autour de vous sur WAPT! Envoyez nous vos url de blog et d'articles dans la catégorie votre avis du forum, nous les mettrons en avant sur le site WAPT
Avatar de l’utilisateur
dcardon
Expert WAPT
Messages : 1797
Inscription : 18 juin 2014 - 09:58
Localisation : Saint Sébastien sur Loire
Contact :

06 oct. 2025 - 18:08

rebonjour,

en fait c'est le chargement du fichier waptlicences.so (qui ne porte pas bien son nom car en fait c'est plutôt un "waptfpclibs.so", ie les libraries wapt en lazarus/fpc exposées à Python). Maintenant il est directement inclue dans wapt-get.bin et ne devrait plus être chargé indépendamment sous Linux, mais le script de postconf fait / faisait (c'est corrigé dans le git master à l'instant) appel à /opt/wapt/bin/python au lieu de /opt/wapt/wapt-get.bin (qui est aussi l'interpréteur Python).

Pour info, on a basculer sur /opt/wapt/wapt-get.bin pour mieux isoler le process wapt et ses scripts python de l'environnement système : le loader du projet cpython, ie le python.exe (ou l'équivalent sous Linux) est beaucoup trop permissif vis à vis de ce qu'il charge.

Il suffit donc de modifier la ligne suivante dans le fichier /opt/wapt/waptserver/scripts/postconf.sh

Code : Tout sélectionner

NCURSES_NO_UTF8_ACS=1 PYTHONPATH=/opt/wapt /opt/wapt/wapt-get.bin -I /opt/wapt/waptserver/scripts/postconf.py $@
Et le postconf devrait tomber marche. Merci pour la remontée, on aurait du corriger cela plus tôt.

Cordialement,

Denis
Denis Cardon - Tranquil IT
Communiquez autour de vous sur WAPT! Envoyez nous vos url de blog et d'articles dans la catégorie votre avis du forum, nous les mettrons en avant sur le site WAPT
b.ald
Messages : 5
Inscription : 04 oct. 2025 - 22:59

06 oct. 2025 - 19:59

Bonjour Denis,

Déjà, merci bcp.

C'est sur le cloud Oracle que l'instance tourne. Donc j'ai pas vraiment été étonné (même soulager) de lire que ca plantait sous vbox.
C'est une instance A1-arm donc proc Ampère.... J'aurais préféré partir sur une debian mais le freetier d'Oracle propose que ubuntu (0 debian) et on peut pas importer sa propre image..

Ensuite, pour le "psycopg2", c'est quand j'ai installé manuellement la version 2.6.0.17392 que j'ai eu l'incident, le passage avec les "wget". J'aurais p-e du être plus clair et détailler un peu plus.. (d'ailleurs, pas de "segfault" dans cette version.)

Et oui, je me rappelle avoir lu q part (mais je sais plus où) que vous trouviez que le binaire du projet python était trop permissif (mais je suis pas dev de base donc je me demande encore pq ^^) et que wapt-get.bin était en fait en quelque sorte le binaire python que vous avez redéveloppé si ma mémoire me joue pas des tours.
Merci pour les info détaillées :) va falloir je "déchiffre" un peu ^^

du coup le basculement sur /opt/wapt/wapt-get.bin c'est depuis la 2.6.1 ?

Je vais aller mettre à jour le serveur et faire la modif du postconf.sh
Encore merci.

Cdt,
Bastien
WAPT Discovery -- 2.6.1.17472 -- SRV Ubuntu 24.04
WAPT Enterprise -- 2.6.0.17349-- SRV Ubuntu 22.04
WAPT Enterprise -- 2.6.0.17349 -- SRV RHEL 9 --//-- Depots secondaires -- Rocky 9
adm : W11pro
b.ald
Messages : 5
Inscription : 04 oct. 2025 - 22:59

06 oct. 2025 - 20:11

Rebonjour,

le postconf se lance correctement et se termine correctement (enfin je pense). Merci bcp.

Juste :

Code : Tout sélectionner

Waptsetup agent installer:
    Version available on server: (True, '2.6.1.17472')
    You can download "waptsetup" Windows agent installer at URL: @@@@@
    Check the Code signing signature and the hash of the installer: Sha256: 718ad50ee9ad965206ced382260c7b882b9bf2d26265c6db37e955fd5baab0c8


Traceback (most recent call last):
  File "<string>", line 1404, in <module>
  File "<string>", line 1315, in main
  File "/opt/wapt/waptutils.py", line 2263, in run
    raise CalledProcessErrorOutput(proc.returncode, cmd, ''.join(output))
waptutils.CalledProcessErrorOutput: Command b'/opt/wapt/wapt-scanpackages.sh -b /var/www/wapt' returned non-zero exit status 139.
Output:/opt/wapt/wapt-scanpackages.sh: line 30: 72915 Segmentation fault      sudo -u wapt CRYPTOGRAPHY_OPENSSL_NO_LEGACY=1 PYTHONNOUSERSITE=1 PYTHONPATH="${WAPT_HOME}" "${WAPT_HOME}"/bin/python -I "${WAPT_HOME}"/wapt-scanpackages.py $@

CalledProcessErrorOutput: Command b'/opt/wapt/wapt-scanpackages.sh -b /var/www/wapt' returned non-zero exit status 139.
Output:/opt/wapt/wapt-scanpackages.sh: line 30: 72915 Segmentation fault      sudo -u wapt CRYPTOGRAPHY_OPENSSL_NO_LEGACY=1 PYTHONNOUSERSITE=1 PYTHONPATH="${WAPT_HOME}" "${WAPT_HOME}"/bin/python -I "${WAPT_HOME}"/wapt-scanpackages.py $@
je vais modifier le wapt-scanpackages.sh de la même manière et remplacer "/bin/python" (enfin.. je suppose?)

Cdt,
Bastien




[edit] : finalement j'ai pas fait la modif sur le "wapt-scanpackage" car la commande "wapt-get" fonctionne :

Code : Tout sélectionner

root@my-wapt:~# wapt-get scan-packages /var/www/wapt/
Using config file: /opt/wapt/wapt-get.ini
Packages filename : /var/www/wapt/Packages
Processed packages :
  /var/www/wapt/zth-testscanpkg_0-1_PROD.wapt
Skipped packages :
  /var/www/wapt/zth-ms-store-winget_2025.717.1857.0-78_windows_10.0_PROD.wapt
  /var/www/wapt/zth-rustdesk_1.4.2-3_x64_windows_10_PROD_7c3f13b8f4e027b6494b2a1dc7e20407.wapt
+ tout est fonctionnel dans la console et je sais pas trop à quel moment peut être appelé ce script.
En tout cas merci, le serveur et les agents sont bien en 2.6.1 et tout semble fonctionnel. (peut-être il faudra remplacer /bin/python à d'autres endroits)
WAPT Discovery -- 2.6.1.17472 -- SRV Ubuntu 24.04
WAPT Enterprise -- 2.6.0.17349-- SRV Ubuntu 22.04
WAPT Enterprise -- 2.6.0.17349 -- SRV RHEL 9 --//-- Depots secondaires -- Rocky 9
adm : W11pro
Avatar de l’utilisateur
dcardon
Expert WAPT
Messages : 1797
Inscription : 18 juin 2014 - 09:58
Localisation : Saint Sébastien sur Loire
Contact :

07 oct. 2025 - 09:17

Bonjour Bastien,

oui pour le /opt/wapt/wapt-scanpackages.sh c'est le même problème que pour le postconf. On va modifier aussi.

Pour ce qui est de la bascule sur le loader python wapt-get.exe/wapt-get.bin (qui est écrit en Lazarus/FPC), on l'a fait en 2.6.0. Si vous voulez mieux comprendre pourquoi, vous pouvez lancer un process-explorer sur le lancement de Python sur un Windows. Au delà du problème du PYTHONPATH (qui est déjà très problématique), il y a aussi le problème du chargement des DLL/SO qui peuvent être récupérer à des endroits où l'on ne s'attend pas. Sans parler de librairie qui vont chercher des chemins sur des Windows comme si c'était des Linux (du genre chercher des fichiers par défaut dans c:\etc\ ...).

Pour compléter, le moteur Python lui même est intégré dans la dll python310.dll/libpython310.so, et il n'y a pas de changement sur ce côté là, juste sur le loader.

L'intégration de la librairie waptlicences.dll/waptlicences.so dans le binaire wapt-get a du se faire au même moment. C'était aussi du à des problèmes liés au linker dynamique qui s’emmêle les pinceaux de temps en temps.

En résumé les languages dynamiques comme le Python sont super pratiques, mais il faut vraiment faire attention à ce que l'on fait quand on l'utilise comme un sous-composant d'un produit.

Cordialement,

Denis
Denis Cardon - Tranquil IT
Communiquez autour de vous sur WAPT! Envoyez nous vos url de blog et d'articles dans la catégorie votre avis du forum, nous les mettrons en avant sur le site WAPT
b.ald
Messages : 5
Inscription : 04 oct. 2025 - 22:59

07 oct. 2025 - 13:04

Bonjour Denis,

Merci pour les précisions mais j'avoue ne pas tout comprendre :) je sais pas ce qu'est un linker dynamique par exemple mais je vais garder ca et regarderai.
J'ai fait une reconversion "rapide" en IT, j'ai eu quelques cours de réseaux/systèmes mais très peu de cours de dev (enfin si on peut dire, mcd/mld, diagramme de classe en java ...).
Un peu de scripting en bash mais sinon python c'est depuis WAPT, comme je suis presque le seul à éditer les paquets et update les serveurs, mais j'ai jamais utilisé vraiment python en dehors de l'environnement WAPT via les paquets ou wapt-get shell .
Je fais beaucoup de "ctrl click" dans pyscripter et j'essaye de voir et comprendre ce qu'il y a déjà dans les setuphelpers/common ou comment utiliser telle ou telle bibliothèque (dll? et so? aussi). J'avais utilisé BeautifulSoup (fonction?) je crois dans un paquet. Mais je ne suis même pas sûr d'utiliser les bon termes et encore moins si les lignes python que j'écris sont "propres" ^^.

Et j'avais vu un cas (je me rappelle plus les détails) où des sites chargeaient des dll js depuis un nom de domaine réputé qui avait été par la suite racheté par la suite par des chinois qui y avaient ensuite injecté du code malveillant.

Pour WAPT, il y a une section ou un endroit où on peut demander conseils/avis quant à la configuration du serveur et des agents (fonction de leur environnement/contexte), securité, etc. ou pas vraiment?
J'ai surtout vu des post "dépannage/support" ou "remontées d'informations/bugs".

C'est surtout pour la version Discovery où je ne suis pas forcément sûr de la meilleur manière de configure/sécuriser, dans le cas où le serveur est directement exposé publiquement (sur le could d'Oracle dans mon cas pour le serveur en Discovery)

Et sinon, ca fait pas long c'est sûr, mais depuis la modif et la maj, je n'ai rencontré aucun bug ou erreur via la console. j'ai pas fait d'autre modification à part celle du postconf.sh
Je peux enfin avoir un retour dans la console parce que avec l'autre serveur anémique, tout fonctionnait parfaitement les dl étaient certes trèès lent mais les install / update / uninstall se faisaient toutes correctement.
Mais dans la console j'avais juste droit à un avant/après ^^

Encore merci.

Cdt,
Bastien
WAPT Discovery -- 2.6.1.17472 -- SRV Ubuntu 24.04
WAPT Enterprise -- 2.6.0.17349-- SRV Ubuntu 22.04
WAPT Enterprise -- 2.6.0.17349 -- SRV RHEL 9 --//-- Depots secondaires -- Rocky 9
adm : W11pro
Répondre