Modification fichier control du paquet machine

Questions about WAPT Packaging / Requêtes et aides autour des paquets 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
Carla Scardigli
Messages : 3
Inscription : 30 avr. 2024 - 08:22

30 avr. 2024 - 08:42

Bonjour,

Je voudrais, dans un paquet WAPT, pouvoir modifier le fichier "control" du paquet machine.
Pour l'instant je suis capable de l'afficher.
Voici le code qui permet de l'afficher :

Code : Tout sélectionner

def install():

    w = common.Wapt()
    package  = PackageEntry(w.host_uuid)
    # Récupère les fichiers control de tous les paquets présent sur la machine
    package_version = package.get("package_uuid")
    l = w.list()
    # Parcours ces fichiers
    for elt in l:
    # Si le nom du paquet est celui du paquet machine on l'affiche
        if elt["package"] == w.host_uuid:
            print(elt)
       
Ce code affiche tout le contenu du fichier "control" du paquet machine.

J'ai essayé ceci :

Code : Tout sélectionner

elt["depends"] = None
Ce code affiche le fichier "control" avec la partie "depends" vide mais ce changement n'est pas sauvegardé.

Je n'ai pas non plus trouvé où ce fichier est stocké sur la machine.

Auriez-vous une idée de comment faire ?
Avatar de l’utilisateur
sfonteneau
Expert WAPT
Messages : 1797
Inscription : 10 juil. 2014 - 23:52
Contact :

30 avr. 2024 - 11:01

Bonjour

Je ne comprend pas ce que vous voulez faire.

Il semblerai que vous souhaitez modifier un paquet machine dans WAPT.install

Cependant, la machine qui va installer le paquet, n'a pas la clé privé qui permet de signer le paquet. (heureusement), et la machine n'a pas d'accès pour uploader des paquet (heureusement).

A mon avis il y a surement quelque chose a vous proposer mais il faudrait nous expliquer exactement le context et la finalités de ce que vous voulez faire.
Carla Scardigli
Messages : 3
Inscription : 30 avr. 2024 - 08:22

03 mai 2024 - 12:05

Bonjour,

Cette demande est en lien avec la demande : viewtopic.php?t=3833

Nous souhaiterions que lorsqu'un paquet est passé correctement sur la machine (statut OK) un code supprime la dépendance du paquet machine.
Le script qui ferait cette suppression pourrait être ajouté dans l'audit (par exemple)
Car nous gérons un nombre assez important de paquets et il est inutile d'avoir des dizaines de paquets en dépendance.

Notre idée était donc de supprimer ce paquet (son nom) de la partie "depends" du fichier "control" du paquet machine (nom du paquet = uuid)

Nous avons ceci dans le fichier control du paquet machine:

Code : Tout sélectionner

depends           : un_paquet
Nous voudrions, après l'exécution du code, avoir ceci:

Code : Tout sélectionner

depends           :
(partie "depends" vide)

Comme expliquer précédemment nous avons un code qui permet d'afficher ce fichier "control" mais nous ne parvenons pas à le modifier.

Comment pouvons-nous faire ?

Auriez-vous une autre idée que celle là pour supprimer cette dépendance ?
Avatar de l’utilisateur
dcardon
Expert WAPT
Messages : 1435
Inscription : 18 juin 2014 - 09:58
Localisation : Saint Sébastien sur Loire
Contact :

03 mai 2024 - 15:33

Bonjour Carla,

le paquet machine doit être signé, donc il faut une clef de signature pour pouvoir modifier le fichier control du paquet machine. La machine n'a pas de clef, elle ne peut donc pas modifier le fichier control car il ne pourra pas être signé (ni uploadé) et donc le paquet modifié ne servira à rien.

La modification du paquet machine peut se faire au niveau de la console de l'admin (qui a une clef de signature) ou bien avec un script d'automatisation au niveau du serveur avec de préférence une clef qui n'est pas code signing.

Ceci dit, est ce que vous pourriez mieux définir le besoin. Le fait d'avoir le paquet qui reste affecté à la machine permet de mettre à jour l'appli ou la ré-installer automatiquement si elle a été supprimé par mégarde. Est ce que vous voulez supprimer tous les depends d'un paquet machine, ou bien juste un paquet qui n'a pas vocation à rester dessus?

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
Carla Scardigli
Messages : 3
Inscription : 30 avr. 2024 - 08:22

06 mai 2024 - 08:13

Bonjour,

Une désinstallation par mégarde est quasiment impossible dans nos process.
Nous souhaitons en effet pouvoir supprimer tous les depends du paquet machine, en effet lorsque nous nettoyons notre dépôt les paquets en dépendance du paquet machine nous retournent un paquet machine en erreur.

Merci de nous aider à trouver une solution

Cordialement
Répondre