Scoop, cos'è e quali sono le differenze con i package manager per Windows

Presentiamo una breve guida all'uso di Scoop, applicazione che semplifica l'installazione e la gestione dei programmi in ambiente Windows. I gestori del progetto non amano chiamarlo package manager: vediamo perché e quali sono le differenze con Winget e Chocolatey.

Package manager in Windows? Fino a qualche tempo fa avremmo fatto davvero grande difficoltà a trovare una singola applicazione capace di fornire un comportamento lontanamente paragonabile ai gestori di pacchetti abitualmente utilizzati in ambito GNU/Linux. Eppure oggi anche gli utenti di Windows possono beneficiare dei servigi di strumenti software pensati per automatizzare le procedure d’installazione di un ampio ventaglio di programmi di uso più o meno comune.

Cos’è un package manager

Un package manager (o gestore di pacchetti) è un software progettato per semplificare il processo di installazione, aggiornamento, configurazione e rimozione di software su un sistema. Questo strumento si occupa di gestire pacchetti software, insiemi di file necessari per far funzionare ciascun programma.

Nell’articolo in cui spieghiamo come creare server Linux, abbiamo visto le principali differenze tra package manager come APT, Yum, dnf (Dandified Yum), Pacman e così via. Si tratta di nomi utilizzati nelle principali distribuzioni del “pinguino”.

Da alcuni anni esistono però anche package manager per Windows, ossia apposite utilità che semplificano il download dei programmi, gestiscono le dipendenze e permettono agli utenti di installare un’applicazione senza dover mettere mano a browser Web e scaricare manualmente tutti i componenti software necessari.

Anche i migliori package manager per Windows facilitano gli aggiornamenti e la rimozione del software, garantendo una gestione più efficiente del sistema.

Cos’è Scoop e a cosa serve

Per chi desidera installare velocemente e gestire in modo efficace le applicazioni Windows, Scoop è vera manna dal cielo. Innanzi tutto, si tratta di un software gratuito, open source e distribuito sotto licenza permissiva.

Qualcuno lo definisce un package manager ma Scoop, come chiariscono gli stessi amministratori del progetto vuole piuttosto essere un installer. La questione è un po’ di lana caprina: cercheremo di riassumerne i punti più importanti nel seguito, facendo un confronto con WingetChocolatey.

L’utilità di Scoop risiede nella sua facilità d’uso e nella gestione centralizzata dei pacchetti. Permette inoltre di tenere facilmente traccia delle versioni dei software installati, semplificandone l’aggiornamento.

Diversamente da altre soluzioni simili, Scoop accentra tutti i software scaricati ed eseguibili sulla macchina Windows all’interno della cartella corrispondente all’account utente in uso. Ad installazione ultimata, basta premere Windows+R quindi digitare %userprofile%\scoop nel campo Apri: ci si troverà dinanzi a una struttura, in termini di cartelle, simile a quella riprodotta in figura.

Scoop: struttura delle cartelle account utente

Per impostazione predefinita, a meno che l’utente non fornisca istruzioni differenti al momento dell’installazione, Scoop si installa proprio nella cartella %userprofile%\scoop. Ma in questa stessa cartella che l’applicazione memorizza tutti i programmi scaricati via via sul sistema locale.

Le sottocartelle di Scoop: a cosa servono

In Scoop le cartelle apps, buckets e shims ricoprono ruoli specifici nel processo di gestione dei pacchetti:

  • apps: Contiene tutte le applicazioni o pacchetti installati tramite Scoop. Ogni pacchetto è organizzato in una sua specifica sottocartella all’interno di apps. Qui vengono stivati i file associati all’applicazione come eseguibili, script, componenti, librerie e dati necessari per il funzionamento di ogni singolo programma. Pensate ad esempio alle librerie DLL: alcune di esse sono comuni a più programmi ma Scoop ne memorizza un’istanza per ciascuna applicazione gestita. Certo, è un approccio un po’ ridondante ma Scoop risolve così eventuali problemi di compatibilità e rende portabili tutte le app prese sotto la sua ala.
  • buckets: Scoop salva in questa cartella raccolte di ricette (recipe) che definiscono come installare pacchetti specifici. Una ricetta contiene informazioni su come scaricare, installare e configurare un pacchetto.
  • shims: Installando un’applicazione tramite Scoop, gli shims creati permettono l’esecuzione del programma dalla riga di comando senza dover specificare il percorso completo. I file shim eseguibili leggeri che fungono da intermediari tra il prompt dei comandi e l’eseguibile effettivo dell’applicazione. Consentono di avviare i programmi in modo più semplice, senza doversi preoccupare del percorso corretto di ciascun eseguibile.

Come installare Scoop in Windows

L’installazione di Scoop è molto semplice: basta aprire una finestra PowerShell del sistema operativo quindi impartire i seguenti due comandi:

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
Invoke-RestMethod -Uri https://get.scoop.sh | Invoke-Expression

Il primo comando imposta la politica di esecuzione degli script PowerShell per l’utente corrente. Nello specifico, abilita l’esecuzione di script PowerShell locali firmati e script remoti scaricati da origini attendibili. Il secondo comando scarica lo script pubblicato e aggiornato all’indirizzo get.scoop.sh quindi lo esegue immediatamente sul sistema. Si tratta dell’installer PowerShell per Scoop.

Avete notato un aspetto importante? Non abbiamo detto di aprire la finestra PowerShell con i diritti di amministratore. Anzi, nel caso in cui lo si facesse, Scoop mette in guardia l’utente e lo rinvia alla lettura di questo documento di supporto. Scoop sconsiglia di usare account e privilegi amministrativi per motivi di sicurezza. Tutte le applicazioni sono raccolte all’interno del profilo utente corrente, servendosi quindi dei privilegi più limitati.

Per chi volesse comunque installare Scoop da una finestra PowerShell aperta con i diritti amministrativi, basta usare il comando che segue: iex "& {$(irm get.scoop.sh)} -RunAsAdmin"

Usare Scoop per installare e gestire i programmi Windows

Dopo aver completato l’installazione di Scoop, è possibile digitare scoop help, indipendentemente dalla cartella in cui ci si trova, per ottenere la lista dei comandi utilizzabili.

Comandi Scoop

Uno dei comandi più utili è certamente quello che permette di cercare il programma da installare. Basta digitare scoop search seguito da una parola chiave per verificare se fosse supportato da Scoop e controllare in quale bucket eventualmente si trova.

Un bucket è una sorta di repository, un archivio contenente una selezione più o meno ampia di software di vario genere. È possibile cercare nei bucket anche dalla home page del progetto scrivendo nella casella Search an app. Utilizzando l’applicazione Web o il comando scoop search, si può facilmente conoscere il nome del bucket contenente il programma richiesto.

Bucket Scoop

Nell’esempio in figura, il nome del bucket è, in questo caso, extras ed è riportato proprio al di sotto della colonna Source. I bucket ufficiali sono i primi 10 e sono evidenziati con una spunta blu a destra del loro nome. Cliccando su un bucket, è possibile “sfogliarne” il contenuto anche da Web.

Per aggiungere un bucket, ad esempio il già citato extras, è necessario dapprima installare il software Git (scoop install git) quindi impartire il comando seguente:

scoop bucket add extras

Aggiunta bucket con Scoop

Installare un pacchetto software

A questo punto la maggior parte del lavoro è compiuta. Per installare un software con Scoop, è sufficiente digitare il comando scoop install seguito dal nome del pacchetto rilevato con il comando scoop search visto in precedenza. Il programma così installato risulterà disponibile sia da riga di comando (avviabile da qualunque cartella) così come nel menu Start di Windows.

Nel caso in cui qualcosa non dovesse andare per il verso giusto, si può usare il comando scoop checkup per verificare il programma indicato (va specificato esplicitamente) e ottenere suggerimenti pratici per sbloccarne il funzionamento.

In alcune situazioni, Scoop potrebbe suggerire l’installazione dell’utilità sudo. Chi utilizza i sistemi Linux, sa bene che sudo è un comando che consente a un utente di eseguire programmi con i privilegi di sicurezza di un altro utente, di solito l’utente root o un altro utente specificato. Il termine “sudo” è un’abbreviazione di “superuser do“.

In Windows, ovviamente, non esiste il comando sudo ma Scoop ne utilizza una versione appositamente creata per Windows al fine di eseguire specifici comandi con i diritti di amministratore, se e solo se quando ciò risulta davvero necessario. Scoop, infatti, non fa comparire nemmeno le richieste UAC (User Account Control) proprio perché l’intento è quello di limitare al massimo i diritti sfruttabili dai programmi in esecuzione. Il comando sudo può essere installato all’occorrenza utilizzando scoop install sudo.

Ottenere la lista dei programmi installati con Scoop e aggiornarli automaticamente

Il semplice comando scoop list consente di ottenere l’elenco dei programmi installati con Scoop. Con la semplice istruzione scoop update * è addirittura possibile applicare gli aggiornamenti eventualmente disponibili: il carattere jolly “*”, infatti, permette di richiedere l’aggiornamento automatico di tutti i software presenti.

Applicazioni installate con Scoop

Poiché Scoop tiene traccia, nella sua cartella, di tutte le versioni dei programmi via via scaricate, è anche possibile ripristinare su richiesta una release specifica: basta usare il comando scoop reset nome-programma@NN.NN. A nome-programma basta sostituire il nome del pacchetto mentre al posto di NN.NN specificare la versione da recuperare. Il comando scoop cleanup * permette di cancellare le vecchie versioni di ciascun programma installato, conservando solo l’ultima e più aggiornata.

La disinstallazione è altrettanto semplice e immediata: basta digitare scoop uninstall seguito dal nome del pacchetto software che si desidera rimuovere dal sistema.

Differenze tra Scoop, Winget e Chocolatey

Gli sviluppatori di Scoop non amano chiamare la loro “creatura” un package manager. Lo scrivono a chiare lettere in questo documento di supporto: “Scoop non è un package manager, piuttosto è un’applicazione che legge file manifest in formato JSON che descrivono come installare un programma e le sue dipendenze“.

La principale differenza tra Scoop, Winget e Chocolatey, comunque, è che il primo – come abbiamo visto – non richiede i privilegi di amministratore e non provoca la visualizzazione di richieste UAC. Pur consentendo l’avvio delle applicazioni da qualunque cartella, inoltre, Scoop non “sporca” le variabili d’ambiente di Windows (il “path“). Provate a premere Windows+R, a digitare sysdm.cpl ,3 quindi fare clic su Variabili d’ambiente: la lista delle variabili di sistema e per il singolo utente resta inalterata.

Path Scoop

In un altro approfondimento abbiamo visto come caricare i programmi più utili alla fine dell’installazione di Windows con Chocolatey.

Scoop nasce quindi per attingere al contenuto di un repository e aggiunge le applicazioni seguendo le indicazioni contenute in un file manifest.

Winget è un programma ufficiale Microsoft, invece, che agisce come package manager e permette di installare programmi automaticamente in Windows. L’utilità Microsoft, anch’essa funzionante da riga di comando, aiuta a individuare le applicazioni di proprio interesse e le installa nella maniera canonica. La cartella d’installazione è quindi solitamente quella proposta di default dal programma che si sta installando. Un approccio diametralmente opposto rispetto a quello adottato da Scoop.

Ciononostante, anche con Winget è possibile automatizzare le installazioni: lo abbiamo visto in un nostro articolo in cui presentiamo un nostro script per rendere automatica l’installazione dei programmi Windows.

È possibile descrivere Winget come un “agente” che automatizza il download dei programmi e avvia la corrispondente procedura d’installazione. L’applicazione si limita a invocare, ad esempio, l’installazione dotata di interfaccia grafica. Tutte le questioni relative all’installazione di ciascun software, comprese la gestione del percorso predefinito, la creazione delle chiavi nel registro di sistema, la memorizzazione dei componenti a livello di file system, la creazione dei collegamenti sono sotto la gestione dell’installer tradizionale; Winget non offre nulla di più in questo senso.

Scoop, viceversa, è diverso perché assume il pieno controllo della routine di installazione e conserva tutti i programmi in un’unica locazione di memoria, la cartella userprofile%\scoop. Nessuna parte del sistema subisce modifiche al di fuori del contenuto della cartella Scoop.

Credit immagine in apertura: iStock.com – georgeclerk

Ti consigliamo anche

Link copiato negli appunti