Die Firma Microsoft hat die Veröffentlichung des Windows Package Manager 1.0 (winget) angekündigt, der Werkzeuge zur Installation von Anwendungen über die Befehlszeile bereitstellt. Der Code ist in C++ geschrieben und unter der MIT-Lizenz lizenziert. Pakete werden aus einem vom Community unterstützten Repository installiert. Im Gegensatz zur Installation von Programmen aus dem Microsoft Store ermöglicht winget die Installation von Anwendungen ohne überflüssiges Marketing und Werbung.
Der Windows Package Manager 1.0 wird als erste vollfunktionsfähige Version positioniert, die die Auto-Vervollständigung von Eingaben, die Bereitstellung von Builds für unterschiedliche Architekturen, die Installation im Kontext des gesamten Systems und einzelner Benutzer, Gruppenrichtlinien, eine REST-API für den Zugriff auf das Repository, Delta-Updates, eine Schnittstelle zur Generierung von Manifests sowie die Verbreitung von Anwendungen unterstützt. dem Verwaltungs-PanelZu den zukünftigen Plänen gehört die Unterstützung verschiedener Release-Kategorien (Versionen, Betaversionen), Paketsätze, die Arbeit mit Abhängigkeiten, Installationsdateien im ZIP-Format (neben MSI), die Installation aus dem Microsoft Store, die Integration mit PowerShell, die Installation von Webanwendungen (PWA) und Schriftarten. Die Syntax der Befehle und die Logik der Arbeit mit winget sind den Paketmanagern apt und dnf ähnlich.
In der ersten Version stehen folgende Befehle zur Verfügung:
- install — Installation von Paketen;
- show — Ausgabe von Informationen über ein Paket;
- source — Verwaltung der Quellen für den Paketdownload;
- search — Suche nach Paketen;
- list — Anzeige der Liste installierter Pakete;
- upgrade — Aktualisierung der angegebenen Pakete;
- uninstall — Deinstallation installierter Pakete;
- hash — Arbeit mit Prüfziffern;
- validate — Überprüfung der Integrität des Manifests;
- settings — Änderung der Einstellungen;
- features — Anzeige des Status experimenteller Funktionen;
- export — Export der Liste installierter Pakete;
- import — Import der Liste installierter Pakete.
Die Paketparameter werden über Manifestdateien im YAML-Format definiert. Um die Erstellung von Manifestdateien zu vereinfachen, steht das Werkzeug winget-create zur Verfügung. Die ausführbaren Dateien werden im Microsoft Store oder direkt auf Servern den Hauptprojekten gespeichert, das Repository fungiert nur als Index, und das Manifest verweist auf eine externe MSI-Datei (beispielsweise auf Microsoft Store, GitHub oder der Projektwebsite). Zur Überprüfung der Integrität und zum Schutz vor Manipulation wird der SHA256-Hash verwendet.
Derzeit sind im Repository über 1400 Pakete angeboten, darunter Projekte wie 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 und Wireshark sowie eine große Anzahl von Microsoft-Anwendungen. Die Erstellung privater Repositories wird unterstützt, deren Interaktion über die REST-API erfolgt.
Um winget nutzen zu können, ist eine Windows Insider-Build mit aktiviertem Entwicklermodus erforderlich. In naher Zukunft ist geplant, winget standardmäßig für Benutzer von Windows 10 1809 und neueren Versionen bereitzustellen. Bei der Installation von bereitgestellten Builds ist im Paketmanager standardmäßig die Übermittlung von Telemetrie aktiviert, die Daten über die Interaktion des Benutzers mit dem Paketmanager und aufgetretene Fehler sammelt. Um die Telemetrie zu deaktivieren, kann der Wert "Basic" unter "Einstellungen > Datenschutz > Diagnosen & Feedback" ausgewählt werden oder winget aus dem Quellcode kompiliert werden.
Quelle: opennet.ru
