Arda Solutions s.r.l. | The Informal Blog

026 - edited

Oggi scrivo di un argomento “leggero” che però potrebbe essere interessante per quelli di voi che sono interessati a processi e tool di automazione in ambito IT.

Parlando di sistemi operativi molti di noi hanno conoscenze che riguardano sia l’ambiente Microsoft ma, sopratutto, ambienti a derivazione Linux. Avanzando nell’utilizzo di sistemi Microsoft molte volte mi sono imbattuto nella necessità (o comodità) di installare pacchetti e funzionalità multiple con una semplice stringa composta a linea di comando. Sulle derivate Linux questo vuol dire installare con un apt-get qualcosa oppure uno yum qualcos’altro mentre su windows questo non *era* possibile. Grazie all’introduzione di powershell però si è affacciata anche per i sistemi Microsoft la possibilità di utilizzare comandi “apt-get like” , oggi vi presento Chocolatey, l’apt-get che mancava a Windows

Chocolatey sfrutta a pieno le potenzialità introdotte da powershell e rendendo windows “apt-get like” … Si preoccupa quindi di gestire dipendenze e repository per l’installazione di software attraverso l’esecuzione di semplici comandi shell. I pacchetti rispettano il formato NuGet, standard ampiamente utilizzato dagli sviluppatori per scaricare le dipendenze e le librerie durante la fase di sviluppo. La differenza sostanziale con NuGet è che quest’ultimo lavora “a livello di progetto” (tipicità di chi sviluppa) mentre chocolatey, una volta installato, può gestire il vostro intero sistema.

Una volta raggiunto il sito di chocolatey vi rendete conto dell’obietto del progetto: rendere semplice e comoda la gestione della (o delle) vostre macchine, infatti, potete trovare già nella home l’unica stringa necessaria per installare tutto ciò che vi serve in modo automatico, semplice e veloce. Basta dare un semplice:

@powershell -NoProfile -ExecutionPolicy unrestricted -Command "iex ((new-object net.webclient).DownloadString('https://chocolatey.org/install.ps1'))" && SET PATH=%PATH%;%systemdrive%\chocolatey\bin

Attendere, e il gioco è fatto.

A questo punto avremo la possibilità, proprio come sui sistemi Linux, di installare rapidamente e con un unico comando tutto il software di cui necessitiamo, e mantenerlo aggiornato.

In passato, per installare per esempio 7zip, l’attività da fare era: cercare su internet, andare sul sito, scaricare l’ultimo pacchetto ed installare e magari, per ogni aggiornamento seguire lo stesso procedimento, con chocolatey tutto questo si risolve con un semplice:

cinst 7zip

E, quando avremo necessità di verificare aggiornamenti, basterà dare un semplice:

chocolatey update 7zip

Qui potete trovare tutta la documentazione necessaria per sbizzarrirvi, e, vi assicuro che c’è da divertirsi! Se poi, una volta conosciuto lo strumento pensate che si possa fare di più tranquilli, perché si può fare! Infatti, sarà possibile anche installare automaticamente le componenti aggiuntive di windows (le Windows Feature) sempre utilizzando chocolatey. Volete aggiungere Hyper-V? Basta dare:

cinst Microsoft-Hyper-V-All -source windowsfeatures

E attendere…

Sopratutto quest’ultima feature può essere molto interessante perché sarà possibile automatizzare la configurazione delle nostre macchine virtuali aggiungendo e rimuovendo le role e mantenendo aggiornato il parco macchine da un unica posizione.

La direttiva “-source” infatti ci permette di definire il “dominio” di attività e, anche per i pacchetti software, sarà possibile definire un repository centrale locale per assicurarci che il software da noi installato sia sempre garantito e certificato e la sorgente sicura.

Progetti come questo permettono di avviciarsi all’automazione con pochi e semplici comandi, fanno intendere il valore dell’automazione in un ambiente, quello IT, sempre più in rapida crescita e che richiede di accellerare ogni giorno i tempi di intervento restrigendo le finestre di deploy.

Considero chocolatey un ottimo strumento anche se ancora non del tutto maturo e non privo di concorrenti. L’altro concorrente interessante che vale la pena di menzionare è Ninite che però funziona in maniera differente, a voi il divertimento di scoprirne il funzionamento!

Leave a Reply