Code, Learn

Winget – Il package manager di Bill Gates

28 Novembre 2023 - 3 minuti di lettura

Gestire manualmente tutti i software – scaricare gli aggiornamenti dai siti ufficiali, disinstallare le vecchie versioni a favore delle nuove – è un compito laborioso e seccante. Tutte queste attività sono allo stesso tempo essenziali per avere le ultime funzionalità e per mantenere i nostri dati al sicuro da attacchi esterni. La soluzione preferita dagli sviluppatori per evitare compiti noiosi è l’automatizzazione: per questa ragione sono nati i package manager. Grazie a questi strumenti è possibile aggiornare tutti i software installati sulla macchina con un unico comando, facilitando la procedura.

In questo articolo vi racconterò una breve storia sui package manager, nati inizialmente per Linux, sino ad arrivare a Winget. Vedremo poi un esempio che dimostra le potenzialità di questo strumento, in particolare le funzionalità di export e import, e un consiglio finale personalmente molto utile.

Storia dei package manager: da APT a Winget

Sviluppati negli anni ’90 i primi package manager, permettevano, tramite riga di comando, di gestire i programmi in modo comodo e veloce.

APT (Advanced Packaging Tool), realizzato per il sistema operativo Debian GNU/Linux nel 1997, fu uno dei primi a comparire sul mercato, fornendo un sistema di gestione dei pacchetti completo con supporto per la ricerca, l’installazione, la rimozione e l’aggiornamento software. Questo approccio rivoluzionò la gestione del software tanto che anche altri sistemi operativi adottarono tecnologie simili: RPM per distribuzioni Linux di Red Hat e Homebrew per macOS, solo per citarne alcuni.

Per molto tempo Windows è stato sprovvisto di un package manager e, nonostante l’esistenza di progetti come Chocolatey e Scoop, Microsoft non si è mai cimentata nella creazione di uno strumento ufficiale fino al 2020. Partendo dalla codebase scritta da un programmatore indipendente, Microsoft  finalmente decise che era ora di ufficializzare un proprio package manager che facilitasse la vita ai programmatori: Winget.

Winget

Winget, come altri prodotti della sua categoria, consente agli utenti di installare, aggiornare e disinstallare il software in modo semplice e veloce.
Per capirne le potenzialità, apriamo una shell “PowerShell” (oppure una shell “Prompt dei comandi”) e digitiamo winget --help o winget -?. La console ci mostrerà la lista di comandi che è possibile eseguire.

Una funzionalità in particolare potrebbe aiutare le persone che si trovano spesso a dover ripristinare il proprio computer. Grazie al comando export è possibile creare un file JSON che rappresenta l’elenco completo dei programmi presenti nel sistema. Questo file può essere utilizzato successivamente per ripristinare facilmente tutte le applicazioni tramite il comando import, dopo un reset del sistema operativo.

Facciamo ora un esempio pratico, esportiamo la lista dei programmi presenti sul computer in un file (io l’ho chiamato intreSetup.json). Per fare ciò digitiamo nella shell winget export -o intreSetup.json. Il file JSON conterrà le seguenti informazioni.

Per importare i programmi estratti basterà eseguire il comando winget import intreSetup.json. Winget si occuperà della lettura dell’intero file e dell’installazione dei vari applicativi.

Conclusioni e…

Prima di salutarci, non mi resta che invitarvi a utilizzare questo strumento e a farci sapere cosa ne pensate. Buon divertimento!

…un consiglio finale

Se si eseguono i comandi export e import sullo stesso computer, Winget procederà con l’aggiornamento dei programmi presenti nella lista. In caso abbiate installato un programma che non volete aggiornare:

  1. Esportate la lista
  2. Eliminate il nome del programma dal file
  3. Rieseguite il comando di import

In questo modo Winget non eseguirà l’aggiornamento di quel programma specifico.

Articolo scritto da