Microsoft ha pubblicato la versione 1.0 del Windows Package Manager (winget), che offre strumenti per l'installazione di applicazioni tramite la 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 dal Microsoft Store, winget consente di installare applicazioni senza marketing e pubblicità superflui.
Il Windows Package Manager 1.0 è posizionato come il primo rilascio completo, che supporta il completamento automatico dell'input, la fornitura di build per diverse architetture, l'installazione a livello di sistema e di singoli utenti, le policy di gruppo, l'API REST per l'accesso al repository, aggiornamenti delta, un'interfaccia per la generazione di manifesti, la distribuzione di applicazioni per pannelli di controllo. Tra i piani futuri si segnala il supporto per diverse categorie di rilascio (rilasci, 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 web app (PWA) e font. La sintassi dei comandi e la logica di funzionamento di winget sono simili a quelle dei gestori di pacchetti apt e dnf.
Nella prima versione sono disponibili i seguenti comandi:
- install — installazione di pacchetti;
- show — visualizza informazioni sul pacchetto;
- source — gestione delle fonti di download dei pacchetti;
- search — ricerca di pacchetti;
- list — visualizzazione dell'elenco dei pacchetti installati;
- upgrade — aggiornamento dei pacchetti specificati;
- uninstall — rimozione dei pacchetti installati;
- hash — gestione degli hash di verifica;
- 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.
I parametri del pacchetto sono definiti tramite file manifesto in formato YAML. Per facilitare la creazione dei file con manifesto è stato fornito un toolkit chiamato winget-create. I file eseguibili stessi sono conservati nel Microsoft Store o direttamente su server progetti principali, il repository funge solo da indice, e il manifesto fa riferimento a un file msi esterno (ad esempio, situato su Microsoft Store, GitHub o il sito del progetto). Per il controllo dell'integrità e la protezione contro le sostituzioni viene utilizzato l'hash SHA256.
Attualmente nel repository sono stati proposti 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, oltre a un grande numero di applicazioni Microsoft. È supportata la creazione di repository privati, con i quali si interagisce tramite API REST.
Per utilizzare winget è necessaria una build di Windows Insider con la modalità sviluppatore abilitata. È previsto che a breve winget venga fornito di default per gli utenti di Windows 10 1809 e versioni successive. Di default, durante l'installazione delle build pronte, il gestore pacchetti invia telemetria che raccoglie dati sull'interazione dell'utente con il gestore pacchetti e gli errori che si verificano. Per disattivare la telemetria è possibile selezionare 'Basic' in 'Impostazioni > Privacy > Diagnostica e feedback' o compilare winget dai sorgenti.
Fonte: opennet.ru
