Ti piacerebbe installare applicazioni su Windows da linea di comando esattamente come accade su Linux tramite terminale? Con Scoop puoi farlo. Si tratta infatti di una soluzione gratuita ed Open Source con cui effettuare installazioni in modalità command-line sui sistemi operativi di Microsoft. Per utilizzarlo, come vedremo a breve come, basta sfruttare PowerShell.
Il progetto è dotato inoltre di un ecosistema software particolarmente ampio. Nel momento in cui viene scritto questo approfondimento il suo catalogo conta infatti quasi 5.400 titoli tra cui molti dei programmi più utilizzati da sviluppatori, amministratori di database e sysadmin. Alle singole applicazioni si aggiungono poi i bucket (ad oggi quasi 1.500) che sono in sostanza dei repository di risorse accomunate dalla medesima categoria (font, linguaggi di programmazione, utility..) o singolo progetto (Java, PHP, Python..). Ma quali sono i vantaggi di un approccio all'installazione non basato su un'interfaccia visuale.
Perché utilizzare Scoop
Prima di passare a qualche esempio pratico sull'uso della piattaforma è bene chiarire che i benefici derivanti dal ricorso alla linea di comando vanno oltre la (più che giustificata) soddisfazione di installare applicazioni in un modo alternativo a quello mainstream. L'uso di Scoop permette ad esempio di bypassare i wizard di installazione proprio perché non sfrutta alcuna interfaccia grafica. Nello stesso modo non si devono gestire i pop-up dei permessi che spesso vengono proposti dal sistema della Casa di Redmond durante questo tipo di procedure.
Un altro vantaggio risiede nel fatto che le dipendenze vengono individuate e installate automaticamente. Anche in questo caso troviamo delle similitudini con quanto accade in Linux. Ad esempio quando si utilizza APT (Advanced Packaging Tool) per le installazioni su Debian o Ubuntu. Scoop è poi in grado di gestire in autonomia tutti i passaggi necessari per completare un setup, fino all'ottenimento di un programma funzionante. Senza contare il fatto di poter evitare eventuali "effetti collaterali" (ad esempio dipendenze mancanti od orfane) che derivano da installazioni e disinstallazioni.
Un altro problema che viene risolto, o meglio scongiurato, è quello della PATH pollution. Esso si verifica in particolare quando si installa un gran numero di applicazioni e i percorsi di sistema sono letteralmente "inquinati" dall'affollarsi delle librerie istallate.
Installare Scoop
Scoop non è solo una soluzione per installare applicazioni da linea di comando. È anche un'applicazione che si installa da linea di comando. Non dobbiamo fare altro che avviare PowerShell dopo aver verificato che la versione corrente sia almeno la 5.1. Fatto questo il primo comando da lanciare è il seguente che permette di impostare le policy di esecuzione di PowerShell in Windows:
> Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
Nel caso specifico RemoteSigned
è un'impostazione più permissiva di AllSigned
, che accetta solo script firmati da un'Autority riconosciuta, ma più restrittiva di Bypass
, che di fatto non blocca alcuno script. RemoteSigned
è in pratica l'impostazione di default per i sistemi server.
Da notare che non è necessaria l'esecuzione come Amministratore. Se non dovessero verificarsi comportamenti imprevisti si può passare alla fase successiva tramite l'istruzione:
> Invoke-RestMethod -Uri https://get.scoop.sh | Invoke-Expression
Viene così lanciata la fase di installazione vera a propria di Scoop. Analizzando l'output ripreso nell'immagine precedente si può notare il riferimento al percorso ~\scoop\shims
che merita un breve approfondimento. Gli shims sono infatti delle scorciatoie che vengono create da Scoop per le applicazioni utilizzabili da terminale. Essi vengono generati nella directory ~\scoop\shims
che diventa accessibile dal PATH. Per quanto riguarda invece le applicazioni con interfaccia grafica (ebbene sì, permette di installare anche quelle) vengono generate delle scorciatoie in una cartella chiamata "Scoop App" del menu Start. In questo modo l'utilizzatore può distinguere facilmente i due tipi di applicazioni in base alla loro collocazione.
Installare un'applicazione con Scoop
Come anticipato, Scoop propone un catalogo molto nutrito di applicazioni installabili da linea di comando. Per scoprire se il software che si sta cercando è presente in esso basta lanciare il comando di ricerca scoop search
seguito, appunto, dal nome dell'applicazione desiderata. Per proporre un esempio avviamo la ricerca di WinSCP, un client FTP/file manager ritenuto da molti più completo rispetto al diffusissimo FileZilla:
> scoop search WinSCP
In alternativa è possibile fare riferimento al sito Web ufficiale di Scoop. Esso presenta infatti un motore di ricerca interno con il quale trovare le applicazioni in catalogo.
Per ciascun titolo vengono mostrati i comandi necessari per l'installazione. Il primo, cioè:
> scoop bucket add extras
Ci indica che per poter installare WinSCP è necessario un aggiornamento dei bucket. Il secondo:
> scoop install extras/winscp
provvede invece all'installazione del programma, come mostrato nell'immagine seguente:
Come è possibile notare, tutto avviene automaticamente. Senza aprire alcuna schermata di installazione o configurazione. Una volta conclusa la procedure WinSCP risulterà disponibile sul sistema corrente e pronto da utilizzare:
A livello di sistema Scoop scarica e gestisce tutti i package come delle risorse portabili. Esse vengono isolate in modo ordinato all'interno della directory ~\scoop
. La portabilità garantisce quindi che le applicazioni installate possano essere posizionate dove si desidera.
Disinstallare un'applicazione con Scoop
Scoop è una soluzione completa che supporta anche le operazioni di disinstallazione dei software. In questo caso il comando di riferimento è scoop uninstall
seguito dal nome dell'applicazione che si vuole rimuovere dal proprio sistema Windows. Nell'immagine proposta di seguito viene mostrata la semplice procedura di disinstallazione di WinSCP.
Con essa viene rimossa in un solo colpo qualsiasi traccia del programma installato in precedenza. Quindi non soltanto l'eseguibile (con estensione .exe
) ma anche i relativi shims e qualsiasi collegamento interno al sistema sia stato creato al percorso dell'applicazione.
Conclusioni
Installare applicazioni tramite un'interfaccia grafica può risultare comodo ma non è necessariamente la modalità più pratica ed efficace. Per questa ragione è disponibile una soluzione come Scoop, un command-line installer per Windows con cui installare programmi direttamente da riga di comando, tramite l'interfaccia testuale di PowerShell. Scoop, che supporta oggi svariate centinaia di applicazioni, gestisce automaticamente tutte le dipendenze e supporta anche le procedure di disinstallazione. Si tratta di un'alternativa ideale per chi utilizza i sistemi targati Microsoft ma vuole gestire le applicazioni come si farebbe con il terminale di una distribuzione Linux.