La compañía Microsoft ha publicado la versión 1.0 del gestor de paquetes Windows Package Manager (winget), que proporciona herramientas para instalar aplicaciones utilizando la línea de comandos. El código está escrito en C++ y se distribuye bajo la licencia MIT. Los paquetes se instalan desde un repositorio, que se mantiene con la participación de la comunidad. A diferencia de la instalación de programas desde el catálogo de Microsoft Store, winget permite instalar aplicaciones sin el marketing y la publicidad innecesarios.
Windows Package Manager 1.0 se posiciona como el primer lanzamiento completamente funcional, que incluye autocompletado en la entrada, entrega de compilaciones para diferentes arquitecturas, instalación en el contexto del sistema completo y usuarios individuales, políticas grupales, API REST para acceder al repositorio, actualizaciones delta, interfaz para la generación de manifiestos, distribución de aplicaciones para el panel de control. Entre los planes futuros se destaca el soporte para diferentes categorías de lanzamientos (lanzamientos estables, versiones beta), conjuntos de paquetes, gestión de dependencias, archivos instaladores en formato zip (además de msi), instalación desde Microsoft Store, integración con PowerShell, instalación de aplicaciones web (PWA) y fuentes. La sintaxis de los comandos y la lógica de trabajo con winget son similares a los gestores de paquetes apt y dnf.
En el primer lanzamiento se proporcionan los siguientes comandos:
- install — instalar paquetes;
- show — mostrar información sobre el paquete;
- source — gestionar fuentes de descarga de paquetes;
- search — buscar paquetes;
- list — mostrar la lista de paquetes instalados;
- upgrade — actualizar los paquetes especificados;
- uninstall — eliminar paquetes instalados;
- hash — trabajar con hashes de verificación;
- validate — verificar la integridad del manifiesto;
- settings — cambiar configuraciones;
- features — mostrar el estado de las funciones experimentales;
- export — exportar la lista de paquetes instalados;
- import — importar la lista de paquetes instalados.
Los parámetros del paquete se definen a través de archivos de manifiesto en formato YAML. Para simplificar la creación de archivos de manifiesto, se ofrece la herramienta winget-create. Los archivos ejecutables se almacenan en Microsoft Store o directamente en como en entornos de nube públicos o privados. los proyectos principales, el repositorio solo actúa como un índice, y el manifiesto hace referencia a un archivo msi externo (por ejemplo, alojado en Microsoft Store, GitHub o el sitio del proyecto). Se utiliza un hash SHA256 para el control de integridad y protección contra manipulaciones.
En la actualidad, se han propuesto más de 1400 paquetes en el repositorio, incluyendo proyectos como 7Zip, OpenJDK, iTunes, Chrome, Blender, DockerDesktop, Dropbox, Evernote, FreeCAD, GIMP, Git, Maxima, Inkscape, Nmap, Firefox, Thunderbird, Skype, Edge, VisualStudio, KiCad, LibreOffice, Minecraft, Opera, Putty, TelegramDesktop, Steam, WhatsApp, Wireguard y Wireshark, así como una gran cantidad de aplicaciones de Microsoft. Se admite la creación de repositorios privados, que se interactúan a través de la API REST.
Para utilizar winget, es necesario tener una compilación de Windows Insider con el modo de desarrollador habilitado. Se planea que winget se entregue por defecto a los usuarios de Windows 10 1809 y versiones más recientes en un futuro cercano. De forma predeterminada, al instalar compilaciones listas en el gestor de paquetes, se incluye el envío de telemetría que recopila datos sobre la interacción del usuario con el gestor de paquetes y los errores que pueden ocurrir. Para desactivar la telemetría, se puede seleccionar el valor "Basic" en "Ajustes > Privacidad > Diagnósticos y comentarios" o compilar winget desde el código fuente.
Fuente: opennet.ru
