Creazione di un pacchetto WAPT Cleaner

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
Bloccato
renaud.counhaye
Messaggi: 31
Iscrizioni: 13 dicembre 2017 - ore 11:45

15 ottobre 2018 - 12:08

Ciao a tutti, :)

ho eseguito una migrazione del server WAPT, dalle macchine sul server "A" (WAPT 1.3) al server "X" (WAPT 1.5, successivamente aggiornato alla versione 1.6).

Il problema di questa migrazione è che le macchine che hanno subito la modifica tramite waptdeploy hanno ripristinato il loro inventario dalla versione 1.3 alla 1.5, e alcuni nomi di pacchetti sono cambiati, mentre altri sono scomparsi.
Tuttavia, il loro inventario rimane valido per il client e la console.

Vorrei un aiuto per creare uno script di pulizia. Mi chiedo se abbiate un suggerimento migliore di questo:

lo script esegue un `wapt-get list` e poi, tramite un ciclo, cerca le eccezioni che avrei elencato in precedenza in una variabile.
Se trova il pacchetto, esegue un semplice `wapt-get forget xxxxxx` seguito da un `wapt-get install zzzzz` con il pacchetto sostitutivo.

Forse ho saltato un passaggio in waptdeploy per la pulizia post- o pre-installazione. Oppure forse stai cercando un pacchetto già pronto per un processo simile?

Grazie in anticipo :)

(probabilmente farò progressi sul sistema menzionato sopra e lo condividerò con te una volta terminato).
Renaud Counhaye,
Tecnico di sistemi di rete,
Divisione Funzioni Centrali
, Gruppo Ymagis
Immagine
Avatar utente
dcardon
Esperto WAPT
Messaggi: 1908
Registrazione: 18 giugno 2014 - 09:58
Ubicazione: Saint Sébastien sur Loire
Contatto:

15 ottobre 2018 - 20:12

Buonasera Renaud,
renaud.counhaye ha scritto: 15 ​​ott 2018 - 12:08 Ho eseguito una migrazione del server WAPT, dalle macchine sul server "A" WAPT 1.3 al server "X" WAPT 1.5 (che è stato successivamente aggiornato alla versione 1.6).

Il problema con questa migrazione è che le macchine che hanno subito la modifica tramite waptdeploy hanno ripristinato il loro inventario dalla versione 1.3 alla 1.5 e alcuni nomi di pacchetti sono cambiati, mentre altri pacchetti sono scomparsi.
Tuttavia, il loro inventario rimane valido agli occhi del client e della console.
Dal punto di vista del sistema, è aggiornato: non ci sono pacchetti più recenti di quello già installato sulla macchina. Quindi non è sbagliato, anche se non è esattamente quello che volevi.
renaud.counhaye ha scritto: 15 ​​ott 2018 - 12:08 Vorrei un aiuto per creare uno script di pulizia. Vorrei sapere se avete qualcosa di meglio da suggerire rispetto a questo:
Se non sono interessati troppi pacchetti, è sufficiente digitare il nome del pacchetto in questione nella casella di ricerca ("parola chiave di ricerca"), ad esempio xyz-firefox, e verranno elencati i computer che hanno il pacchetto. Nota: tieni presente che la ricerca corrisponde alle sottostringhe, quindi cercando xyz-firefox verranno restituiti anche i computer che hanno xyz-firefox-esr.
  • Successivamente seleziona "rimuovi dipendenze da pacchetti o gruppi di pacchetti" per rimuovere le dipendenze dai pacchetti in questione;
  • Quindi puoi eliminare o dimenticare il pacchetto selezionando le macchine interessate e, nell'elenco dei pacchetti sulla destra, facendo clic con il pulsante destro del mouse e selezionando "dimentica pacchetti"
Sinceramente,

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
renaud.counhaye
Messaggi: 31
Iscrizioni: 13 dicembre 2017 - ore 11:45

19 ottobre 2018 - 10:59

Ciao Denis,

Sfortunatamente, sono numerose le macchine interessate da questo inventario fantasma.
Ecco perché cercavo un modo per automatizzarlo, data l'impossibilità di pulire facilmente l'inventario di una macchina dopo una migrazione del server.

Quindi ho ideato questo codice molto semplice:
È possibile dimenticare un pacchetto noto solo al client poiché non è registrato nei pacchetti assegnati alla macchina sulla console, quindi non è necessaria alcuna reinstallazione.

Codice: Seleziona tutto

# -----------------------------------------------------------------------
# This script was made in an effort to manage previous WAPT registred packages.
# Made by Renaud Counhaye for Ymagis.
# -----------------------------------------------------------------------
from setuphelpers import *

list_replaces=["chrome-fr","firefox-esr-fr","adobereader-mui"] #liste de vieux paquet aillant un remplacant
list_replaced=["chrome","firefox","adobereader"] #liste des paquets remaplcants les anciens! attention doit être dans le meme ordre!

#list de paquets à oublier tout simplement.
list_forgets=["check-viscosity","fr-standard-applications","apple-software-update","ie11","fr04-fr-Office365-and-Standard-applications","fr-web-browsers","deploy-ymagis-nxt","trend-micro-security-agent"]

uninstallkey = []

#def main():
def install():
    #check si le fichier précédent existe, si oui, kill
    if(isfile(makepath('C:','sys','logs','waptgetlist.txt'))):
        print('previous file is present')
        remove_file(makepath('C:','sys','logs','waptgetlist.txt'))
    print('start...')
    run('cmd /c wapt-get list > C:\sys\logs\waptgetlist.txt') #creation d'un fichier contenant la lsite des packets actif sur la machine
    if(isfile(makepath('C:','sys','logs','waptgetlist.txt'))):
       print('file is present')
       f=open(makepath('C:','sys','logs','waptgetlist.txt'), "r") 
       if f.mode == 'r':
            f1 = f.readlines() #lecture ligne par ligne du fichier
            for line in f1:
                data = line.split(" ")
                package = data[0]
                if package in list_replaces:
                    print '--in replaces' #si le paquet lu est dans la liste des pack a remplacer, on forget puis wapt.install 
                    point=list_replaces.index(package)
                    if(point != -1):
                        cmd = "cmd /c wapt-get forget "+package+" --force"
                        run(cmd)
                        WAPT.install(list_replaced[point],force=WAPT.options.force)
                else:
                    if package in list_forgets:
                        print '--in forgets' #si le paquet lu est dans la liste des pack a oublier, on forget 
                        point = list_forgets.index(package)
                        if(point != -1):
                            print str(point)+' found forgets'
                            cmd = "cmd /c wapt-get forget "+package+" --force"
                            run(cmd)
                        else:
                            print '++not found'
            print 'end.'

if __name__ == '__main__': #run debug
    install()
PS: Sarebbe interessante consentire a un pacchetto WAPT con una chiave speciale di forzare la rimozione di un pacchetto dalla macchina su cui è in esecuzione.

Buona giornata,
Renaud Counhaye,
Tecnico di sistemi di rete,
Divisione Funzioni Centrali
, Gruppo Ymagis
Immagine
Avatar utente
sfontenau
Esperto WAPT
Messaggi: 2312
Registrato: 10 luglio 2014 - 23:52
Contatto:

19 ottobre 2018 - 13:57

Più semplice:

https://wapt.lesfourmisduweb.org/detail ... 9_all.wapt

Codice: Seleziona tutto

import platform
from setuphelpers import *

uninstallkey=[]

def install():
    prefixpkg = control.package.split('-',1)[0]
    reader = WAPT.is_installed('%s-pdfcreator'% prefixpkg)
    if reader and Version(reader.version.split('-',1)[0]) == Version('3.2.1'):
        WAPT.forget_packages(reader.package)
        WAPT.install('%s-pdfcreator'% prefixpkg)
Bloccato