Microsoft ha pubblicato la versione 1.0 del gestore pacchetti Windows Package Manager (winget), fornendo strumenti per l'installazione di applicazioni tramite riga di comando. Il codice è scritto in C++ e distribuito con licenza MIT. I pacchetti vengono installati da un repository supportato dalla comunità. A differenza dell'installazione di programmi attraverso il Microsoft Store, winget permette di installare applicazioni senza il marketing e la pubblicità superflui.
Windows Package Manager 1.0 è presentato come il primo rilascio completamente funzionale, che supporta il completamento automatico dell'input, l'offerta di build per diverse architetture, l'installazione sia a livello di sistema che per singoli utenti, le politiche di gruppo, una REST API per accedere al repository, aggiornamenti delta, un'interfaccia per la generazione di manifesti, e distribuzione di applicazioni per pannelli di controllo. I piani futuri includono il supporto per diverse categorie di uscite (rilascio, versioni beta), set di pacchetti, gestione delle dipendenze, file di installazione in formato zip (oltre a msi), installazione dal Microsoft Store, integrazione con PowerShell, installazione di applicazioni web (PWA) e caratteri. La sintassi dei comandi e la logica di funzionamento con winget sono simili a quelle dei gestori pacchetti apt e dnf.
Nel primo rilascio sono disponibili i seguenti comandi:
- install — installazione dei pacchetti;
- show — visualizza informazioni sul pacchetto;
- source — gestione delle fonti di download dei pacchetti;
- search — ricerca dei pacchetti;
- list — mostra l'elenco dei pacchetti installati;
- upgrade — aggiornamento dei pacchetti specificati;
- uninstall — rimozione dei pacchetti installati;
- hash — gestione degli hash di controllo;
- validate — verifica dell'integrità del manifesto;
- settings — modifica delle impostazioni;
- features — visualizzazione dello stato delle funzionalità sperimentali;
- export — esportazione dell'elenco dei pacchetti installati;
- import — importazione dell'elenco dei pacchetti installati.
Le configurazioni dei pacchetti sono determinate tramite file di manifesto in formato YAML. Per semplificare la creazione dei file di manifesto, è disponibile lo strumento winget-create. I file eseguibili stessi sono conservati nel Microsoft Store o direttamente su server progetti principali, il repository funge unicamente da indice, e il manifesto si riferisce a un file msi esterno (ad esempio, ospitato su Microsoft Store, GitHub o sul sito del progetto). Per il controllo dell'integrità e la protezione da manomissioni viene utilizzato l'hash SHA256.
Attualmente, il repository offre oltre 1400 pacchetti, tra cui progetti come 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 e Wireshark, così come un gran numero di applicazioni Microsoft. È supportata la creazione di repository privati, con cui è possibile interagire tramite REST API.
Per utilizzare winget è necessaria una build di Windows Insider con la modalità sviluppatore attivata. È prevista l'introduzione di winget come predefinito per gli utenti di Windows 10 1809 e versioni successive. Di default, durante l'installazione delle build pronte, è attivata l'invio di telemetria che raccoglie dati sulle interazioni degli utenti con il gestore di pacchetti e sugli errori che si verificano. Per disattivare la telemetria, è possibile selezionare il valore 'Basic' in 'Impostazioni > Privacy > Diagnostica e feedback' o compilare winget dai sorgenti.
Fonte: opennet.ru
