Edición de limpieza remota de paquetes

Comparta sus sugerencias o problemas relacionados con la consola WAPT o el agente WAPT aquí
Reglas del foro
Reglas del foro de la comunidad
* Soporte en inglés en www.reddit.com/r/wapt
* El soporte de la comunidad en francés está disponible en este foro
* Por favor, anteponga [RESUELTO] al título del tema si está resuelto.
* Por favor, no edite un tema que esté etiquetado como [RESUELTO]. Abra un nuevo tema haciendo referencia al anterior.
* Especifique la versión de WAPT instalada, la versión completa y el número de compilación (2.2.1.11957 / 2.2.2.12337 / etc.), así como la edición Enterprise/Discovery.
* Las versiones 1.8.2 y anteriores ya no son compatibles. Las únicas preguntas aceptadas sobre la versión 1.8.2 están relacionadas con la actualización a una versión compatible (2.1, 2.2, etc.).
* Especifique el sistema operativo del servidor (Linux/Windows) y la versión (Debian Buster/Bullseye - CentOS 7 - Windows Server 2012/2016/2019).
* Especifique el sistema operativo de la máquina de administración/creación de paquetes y de la máquina con el agente problemático, si corresponde (Windows 7/10/11/Debian 11/etc.).
* Evite hacer varias preguntas al abrir un tema, ya que podría ser ignorado. Si hay varios temas, ábralos por separado, preferiblemente uno tras otro y no todos a la vez (es decir, no sature el foro con spam).
* Incluya fragmentos de código, capturas de pantalla y otras imágenes directamente en la publicación. Los enlaces a Pastebin, Bitly y otros sitios de terceros serán eliminados sistemáticamente.
* Como en cualquier foro comunitario, el soporte es proporcionado voluntariamente por los miembros. Si necesita soporte comercial, puede comunicarse con el departamento de ventas de Tranquil IT al 02.40.97.57.55.
Respuesta
Flavien L
Mensajes: 11
Inscripción: 9 de mayo de 2023 - 10:36

27 de marzo de 2024 - 09:34

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 9693 veces
Si eso no es posible, hemos descubierto que la casilla de verificación:
Captura1.PNG
Capture1.PNG (26,75 KB) Visto 9693 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
Avatar de usuario
dcardón
Experto en WAPT
Mensajes: 1908
Inscripción: 18 de junio de 2014 - 09:58
Ubicación: Saint Sébastien sur Loire
Contacto :

28 de marzo de 2024 - 19:15

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
Denis Cardon - Tranquil IT
¡Comparte tus experiencias en WAPT! Envíanos las URL de tus blogs y artículos en la "Tu opinión del foro y los publicaremos en el de WAPT
Flavien L
Mensajes: 11
Inscripción: 9 de mayo de 2023 - 10:36

3 de abril de 2024 - 11:23

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"
Flavien L
Mensajes: 11
Inscripción: 9 de mayo de 2023 - 10:36

29 de abril de 2024 - 14:07

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) Vista 8650 veces
Gracias por tu consejo.

Atentamente,
Florida
Avatar de usuario
jpele
Mensajes: 156
Inscripción: 4 de marzo de 2019 - 12:01
Ubicación: Nantes

30 de abril de 2024 - 9:50 AM

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
Avatar de usuario
dcardón
Experto en WAPT
Mensajes: 1908
Inscripción: 18 de junio de 2014 - 09:58
Ubicación: Saint Sébastien sur Loire
Contacto :

3 de mayo de 2024 - 15:58

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
Denis Cardon - Tranquil IT
¡Comparte tus experiencias en WAPT! Envíanos las URL de tus blogs y artículos en la "Tu opinión del foro y los publicaremos en el de WAPT
Respuesta