Página 1 de 1

Edición de limpieza remota de paquetes

Publicado: 27 de marzo de 2024 - 09:34
por FlavienL
Buen día,

Nos gustaría crear un paquete que limpie/purgue las dependencias del paquete remoto en cada máquina
Tanto los paquetes en el depósito como los más antiguos:
Captura.PNG
Captura.PNG (23,23 KB) Visto 9699 veces
Si eso no es posible, hemos descubierto que la casilla de verificación:
Captura1.PNG
Capture1.PNG (26,75 KB) Visto 9699 veces
No funcionó para la selección múltiple.

De hecho, cuando eliminamos paquetes de nuestros repositorios, si algunas máquinas han mantenido dependencias en su paquete remoto, este último devuelve un error porque ya no puede encontrar la dependencia.

¿Ves alguna acción masiva que se pueda llevar a cabo?

Atentamente,
Flavien

Re: Limpieza de la edición remota de paquetes

Publicado: 28 de marzo de 2024 - 19:15
por dcardon
Hola Flavien,

Si aún no tiene un paquete de "limpieza", puede crear uno y agregarlo

Código: Seleccionar todo

def install():
    WAPT.uninstall('my_package_name')
Un paquete de limpieza también es útil para limpiar las máquinas de otro software que se haya instalado "fuera de wapt" y que no tiene ninguna razón de existir.

Otra forma es seleccionar todas las máquinas; la lista de todos los paquetes aparecerá a la derecha, y puedes ejecutar el comando "desinstalar" u "olvidar" en el nombre del paquete en cuestión haciendo clic derecho sobre él. Asegúrate de seleccionar solo el paquete que deseas

Atentamente,

Denis

Re: Limpieza de la edición remota de paquetes

Publicado: 3 de abril de 2024 - 11:23 a. m.
por FlavienL
Hola Denis,

Me equivoqué, no quiero desinstalar paquetes, solo purgar todas las dependencias que están en el paquete de la máquina (paquete remoto).
Ya gestionamos la limpieza efectiva de paquetes y software instalados en las máquinas.

Permítame explicarlo con más precisión; dado que tenemos muchos paquetes almacenados en nuestro servidor principal y, en consecuencia, en nuestros repositorios locales,
Cada año procedemos a eliminar paquetes que se han vuelto innecesarios.
Utilizamos paquetes OU para transmisiones globales de nuestra base y luego ciertos paquetes de manera más unitaria (granja de 10 a 100 estaciones) en ciertas estaciones.
Cuando limpiamos los repositorios, los paquetes de la máquina entran en error porque ya no pueden encontrar los paquetes eliminados.
El truco habría sido distribuir un paquete que purgara todos los paquetes dependientes de la máquina (presentes en el Editor de paquetes remotos) antes de enviar la limpieza.

Espero haber sido más claro.

Atentamente,
Flavien

Script de PS para limpiar paquetes presentes en las estaciones de trabajo + Almacenamiento del historial en un registro:

Código: Seleccionar todo

# -*- coding: utf-8 -*-
from setuphelpers import *
import common
import datetime

chemin_log = "C:\PMF\RAPPINST\PAQUET_NETTOYAGE.log"

def install():

    w = common.Wapt()

    # On récupère ce qu'il y a dans le log

    lines = []

    if isfile(chemin_log):

        f = open(chemin_log, 'r')

        lines = f.readlines()

        f.close()

    # On écrit dans le log

    f = open(chemin_log, 'w')

    # trouve == True <=> au moins un paquet à supprimer a été trouvé

    trouve = False

    print("PAQUETS OBSOLETES EN COURS D'OUBLI : ")

    # On affiche la date du jour

    f.write("*--- " + format(datetime.datetime.now(), '%D %T') + " ---*\n\n")

    # Pour chaque paquet installé sur la machine

    for paquet in w.installed():

        # Si le paquet n'est pas disponible sur le dépot

        if paquet.package != w.host_uuid and not w.is_available(paquet.package):

            trouve = True

            print(paquet.package + " | " + paquet.version)

            # On l'ajoute à la liste des paquets à supprimer (sauf pour le paquet machine, voir condition ci-dessus)

            f.write("  " + paquet.package + " ;; " + paquet.version + '\n')

            # On l'oublie

            w.forget_packages(paquet.package)

    if not trouve:

        print("PMF à jour.")

        f.write("  > PMF à jour.\n")

    # Pour séparer les sections dans le journal :

    f.write("\n")

    # On écrit le reste du log à la suite -> le nettoyage le plus récent apparaît en haut.

    for ligne in lines:

        f.write(ligne)

    f.close()

def audit():

    return "OK"

Re: Limpieza de la edición remota de paquetes

Publicado: 29 de abril de 2024 - 14:07
por FlavienL
Hola a todos,

Una pequeña actualización sobre el tema.

Nuestra idea es poder eliminar las "dependencias" del archivo de control del paquete de la máquina:
Captura.PNG
Captura.PNG (39,37 KB) Visto 8656 veces
Gracias por tu consejo.

Atentamente,
Florida

Re: Limpieza de la edición remota de paquetes

Publicado: 30 de abril de 2024 - 9:50 a. m.
por jpele
Hola,
¿podría ponerse en contacto con nuestro servicio de atención telefónica para que podamos ayudarle mejor? Preferiría comprender completamente sus necesidades antes de escribir algo incorrecto.

Atentamente,
Jimmy

Re: Limpieza de la edición remota de paquetes

Publicado: 3 de mayo de 2024 - 15:58
por dcardon
Hola Flavien,

si el problema solo afecta a unos pocos paquetes, puedes seleccionar varias máquinas (o todas) y hacer clic con el botón derecho en "Editar varias máquinas". Luego, marca la casilla "Eliminar dependencias", selecciona las dependencias que deseas eliminar y haz clic en Aceptar.

Saludos,

Denis