Modifica del file di controllo del pacchetto macchina

Domande sul packaging WAPT / Richieste e assistenza sui pacchetti Wapt.
Regole del forum
Regole del forum della community
* Supporto in inglese su www.reddit.com/r/wapt
* Supporto della community in francese disponibile su questo forum
* Si prega di anteporre [RISOLTO] al titolo dell'argomento se è stato risolto.
* Si prega di non modificare un argomento contrassegnato con [RISOLTO]. Aprire un nuovo argomento facendo riferimento a quello precedente.
* Specificare la versione di WAPT installata, la versione completa e il numero di build (2.2.1.11957 / 2.2.2.12337 / ecc.) nonché l'edizione Enterprise/Discovery.
* Le versioni 1.8.2 e precedenti non sono più supportate. Le uniche domande accettate relative alla versione 1.8.2 riguardano l'aggiornamento a una versione supportata (2.1, 2.2, ecc.).
* Specificare il sistema operativo del server (Linux/Windows) e la versione (Debian Buster/Bullseye - CentOS 7 - Windows Server 2012/2016/2019).
* Specificare il sistema operativo della macchina di amministrazione/creazione dei pacchetti e della macchina con l'agente problematico, se applicabile (Windows 7/10/11/Debian 11/ecc.).
* Evitare di porre più domande quando si apre una discussione, altrimenti potrebbe essere ignorata. Se ci sono più discussioni, aprirle separatamente, preferibilmente una dopo l'altra e non tutte contemporaneamente (ovvero, non intasare il forum).
* Includere frammenti di codice, screenshot e altre immagini direttamente nel post. I link a Pastebin, Bitly e altri siti di terze parti verranno sistematicamente rimossi.
* Come in qualsiasi forum della community, il supporto è fornito volontariamente dai membri. Se si necessita di supporto commerciale, è possibile contattare il reparto vendite di Tranquil IT al numero 02.40.97.57.55
Risposta
Carla Scardigli
Messaggi: 6
Registrazione: 30 aprile 2024 - 08:22

30 aprile 2024 - 08:42

Buongiorno,

Vorrei poter modificare il file "control" del pacchetto macchina all'interno di un pacchetto WAPT.
Per ora posso visualizzarlo.
Ecco il codice che lo visualizza:

Codice: Seleziona tutto

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)
       
Questo codice visualizza tutto il contenuto del file "control" nel pacchetto macchina.

Ho provato questo:

Codice: Seleziona tutto

elt["depends"] = None
Questo codice visualizza il file "control" con la sezione "depends" vuota, ma questa modifica non viene salvata.

Inoltre non sono riuscito a trovare dove è archiviato questo file sul computer.

Hai qualche idea su come farlo?
Avatar utente
sfontenau
Esperto WAPT
Messaggi: 2312
Registrato: 10 luglio 2014 - 23:52
Contatto:

30 aprile 2024 - 11:01

Salve,

non ho capito cosa stia cercando di fare.

Sembra che voglia modificare un pacchetto macchina in WAPT.install.

Tuttavia, la macchina che installerà il pacchetto non possiede la chiave privata necessaria per firmarlo (per fortuna) e non ha i permessi per caricare i pacchetti (per fortuna).

A mio parere, probabilmente possiamo suggerirle qualcosa, ma avrebbe bisogno di spiegarci il contesto e lo scopo preciso di ciò che desidera fare.
Carla Scardigli
Messaggi: 6
Registrazione: 30 aprile 2024 - 08:22

3 maggio 2024 - 12:05

Buongiorno,

Questa richiesta è correlata alla seguente richiesta: viewtopic.php?t=3833

Vorremmo che quando un pacchetto è passato con successo attraverso la macchina (Stato OK) un codice rimuove la dipendenza dal pacchetto della macchina.
Lo script che eseguirebbe questa eliminazione potrebbe essere aggiunto a la revisione contabile (Per esempio)
Poiché gestiamo un numero piuttosto elevato di pacchetti, non è necessario avere decine di pacchetti dipendenti.

La nostra idea era quindi quella di rimuovere questo pacchetto (il suo nome) dal "dipende"del fascicolo"controllare" dal pacchetto macchina (nome pacchetto = uuid)

Lo troviamo nel file di controllo del pacchetto macchina:

Codice: Seleziona tutto

depends           : un_paquet
Dopo aver eseguito il codice, vorremmo avere questo:

Codice: Seleziona tutto

depends           :
(parte "dipende" vuoto)

Come spiegato in precedenza, abbiamo un codice che ci consente didisplay questo file "controllare"ma non siamo in grado di cambiarlo.".

Come possiamo farlo?

Hai altre idee per eliminare questa dipendenza?
Avatar utente
dcardon
Esperto WAPT
Messaggi: 1908
Registrazione: 18 giugno 2014 - 09:58
Ubicazione: Saint Sébastien sur Loire
Contatto:

3 maggio 2024 - 15:33

Ciao Carla,

il pacchetto della macchina deve essere firmato, quindi è necessaria una chiave di firma per modificare il file di controllo del pacchetto. La macchina non ha una chiave, quindi non può modificare il file di controllo perché non può essere firmato (o caricato) e di conseguenza il pacchetto modificato sarà inutilizzabile.

La modifica del pacchetto della macchina può essere effettuata a livello della console di amministrazione (che dispone di una chiave di firma) o con uno script automatizzato sul server, preferibilmente utilizzando una chiave che non sia di firma del codice.

Detto questo, potresti chiarire le tue esigenze? Mantenere il pacchetto assegnato alla macchina consente aggiornamenti automatici dell'applicazione o la reinstallazione in caso di eliminazione accidentale. Desideri rimuovere tutte le dipendenze da un pacchetto della macchina o solo da un pacchetto che non deve rimanere lì?

Cordiali saluti,

Denis
Denis Cardon - Tranquil IT
Condividi le tue esperienze su WAPT! Inviaci gli URL dei tuoi blog e articoli nella "La tua opinione del forum e li pubblicheremo sul di WAPT
Carla Scardigli
Messaggi: 6
Registrazione: 30 aprile 2024 - 08:22

6 maggio 2024 - 08:13

Salve,

la disinstallazione accidentale è praticamente impossibile nei nostri processi.
Dobbiamo essere in grado di rimuovere tutte le dipendenze del pacchetto `machine`. Quando puliamo il nostro repository, i pacchetti che dipendono da `machine` restituiscono un errore.

Grazie per l'aiuto nel trovare una soluzione.

Cordiali saluti,
Risposta