Microsoft heeft de release uitgebracht van de Windows Package Manager 1.0 (winget), die tools biedt voor het installeren van applicaties via de opdrachtregel. De code is geschreven in C++ en wordt verspreid onder de MIT-licentie. Pakketten worden geïnstalleerd vanuit een repository, die wordt onderhouden met de hulp van de gemeenschap. In tegenstelling tot het installeren van programma's vanuit de Microsoft Store, stelt winget gebruikers in staat om applicaties te installeren zonder overbodige marketing en advertenties.
Windows Package Manager 1.0 wordt gepositioneerd als de eerste volwaardige release, die autocompletie van invoer ondersteunt, leveringen voor verschillende architecturen biedt, installatie in de context van het gehele systeem en afzonderlijke gebruikers toestaat, groepsbeleid mogelijk maakt, REST API-toegang tot de repository biedt, delta-updates ondersteunt, een interface voor manifestgeneratie biedt en distributie van applicaties mogelijk maakt. beheerderspaneel. Toekomstplannen omvatten ondersteuning voor verschillende releasecategorieën (stabil, bèta-versies), pakketsets, afhankelijkheidsbeheer, installatiefiles in ZIP-formaat (naast MSI), installatie vanuit de Microsoft Store, integratie met PowerShell, installatie van webapplicaties (PWA) en lettertypen. De syntaxis van de commando's en de werking van winget zijn vergelijkbaar met pakkettenbeheerders zoals apt en dnf.
In deze eerste release zijn de volgende commando's beschikbaar:
- install — installeert pakketten;
- show — toont informatie over een pakket;
- source — beheert de downloadbronnen van pakketten;
- search — zoekt naar pakketten;
- list — toont een lijst van geïnstalleerde pakketten;
- upgrade — werkt opgegeven pakketten bij;
- uninstall — verwijdert geïnstalleerde pakketten;
- hash — werkt met controle-hashes;
- validate — controleert de integriteit van het manifest;
- settings — wijzigt instellingen;
- features — toont de status van experimentele functies;
- export — exporteert een lijst van geïnstalleerde pakketten;
- import — importeert een lijst van geïnstalleerde pakketten.
Pakketparameters worden gedefinieerd via manifestbestanden in YAML-indeling. Om het maken van manifestbestanden te vereenvoudigen, is er de tool winget-create aangeboden. De uitvoerbare bestanden worden opgeslagen in de Microsoft Store of direct op servers de hoofdprojecten, de repository fungeert gewoon als index, en het manifest verwijst naar een externe MSI-bestand (bijvoorbeeld gehost op de Microsoft Store, GitHub of de website van het project). Voor integriteitsbewaking en bescherming tegen vervalsing wordt de SHA256-hash gebruikt.
Momenteel zijn er meer dan 1400 pakketten in de repository aangeboden, waaronder projecten zoals 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 en Wireshark, evenals een groot aantal Microsoft-applicaties. Het is mogelijk om privé repositories aan te maken, waarmee kan worden gewerkt via de REST API.
Voor het gebruik van winget is een Windows Insider-build met ingeschakeld ontwikkelaarsmodus vereist. Binnenkort wordt winget standaard geleverd voor gebruikers van Windows 10 1809 en nieuwere versies. Standaard is bij het installeren van kant-en-klare builds de telemetrie ingeschakeld, die gegevens verzamelt over de interactie van de gebruiker met de pakketbeheerder en eventuele fouten die optreden. Om telemetrie uit te schakelen, kunt u de optie 'Basic' kiezen onder 'Instellingen > Privacy > Diagnostics & feedback' of winget uit de broncode compileren.
Bron: opennet.ru
