Finalmente un package manager semplice, sicuro ed efficace per installare utility e programmi anche per Windows!

Scoop: package manager Windows!

Probabilmente molti di voi conoscono un altro famoso gestore pacchetti per Windows, Chocolatey ma il motivo per cui ho scelto di parlarvi di scoop è che lo trovo migliore per molti aspetti. In particolare mi piace la soluzione adottata da scoop per installare i programmi: questi infatti non vengono installati nella solita directory C:\Programmi\ ma vengono installati all'interno della cartella dell'utente. Questo consente di eseguire scoop senza i diritti di amministratore (proprio come fa Homebrew su MacOS) e installare i programmi senza che ci venga mostrato il noioso pop-up del User Account Control. Un altro pregio di scoop è l'installazione indipendente di ogni programma: se un programma richiede delle librerie (i famosi file .dll) specifiche, queste vengono installate direttamente con il programma e saranno utilizzate solo da questo. In questo modo, al costo di occupare un po' più di spazio su disco, si risolvono anche i possibili problemi che possono derivare da diverse versioni della stessa libreria.

Non ho ancora detto che scoop funziona da riga di comando, su PowerShell. So bene che parlare di "riga di comando" alla maggior parte degli utenti Windows è come parlare della scoperta del fuoco ad un astronauta ma, se questa "antica" interfaccia viene ancora utilizzata per amministrare moltissimi server su cui si regge internet, un motivo ci sarà ed è anche facilmente intuibile: l'efficienza, senza fronzoli grafici il comando impiega il minimo delle risorse necessarie per essere eseguito.

I requisiti per l'installazione di scoop sono: PowerShell versione 5 o superiore e .NET Framework 4.5 o superiore; se entrambi i requisiti sono soddisfatti, possiamo passare all'installazione di scoop.

Apriamo PowerShell (come utente normale non come amministratore!) e digitiamo: Set-ExecutionPolicy RemoteSigned -scope CurrentUser Rispondiamo S seguito da invio: in questo modo saremo sicuri che l'installazione di scoop andrà a buon fine e poi digitiamo il criptico comando per scaricare i file necessari e avviare l'installazione vera e propria: iwr -useb get.scoop.sh | iex

Scoop: package manager Windows!

A questo punto possiamo digitare scoop help come suggerito al termine dell'installazione

Scoop: package manager Windows!

Come possiamo vedere i comandi principali di ogni package manager ci sono tutti:

  • search, per cercare i programmi tramite parola chiave; se nessuna parola chiave è specifica, scoop mostrerà una lista di tutti i programmi disponibili;
  • install, seguito dal nome del pacchetto per installare il programma desiderato;
  • uninstall, sempre seguito dal nome del pacchetto per rimuovere un programma;
  • update, senza argomenti aggiornerà solo scoop, se seguito dal nome di un programma aggiornerà solo quello mentre per aggiornare in una volta tutti i programmi installati dovremo aggiungere * .

Se vogliamo avere maggiori dettagli per ogni altro comando disponibile sarà sufficiente digitare scoop help nome-comando.

Se osserviamo attentamente i comandi ne possiamo individuare almeno 2 che sono degni di nota: uno è checkup e l'altro è virustotal.

scoop checkup sarà da eseguire subito dopo l'installazione per trovare evenutali problemi che protrebbero impedire o limitare il corretto funzionamento e una volta individuati, scoop segnalerà anche la soluzione

Scoop: package manager Windows!

Come vedere dallo screenshot sopra, alcuni comandi per correggere i problemi rilevati iniziano con una parola ben conosciuta dagli utenti Linux: sudo. In questo caso non ha niente a che vedere con quello presente sulle distro Linux ma funziona in maniera analoga: poiché scoop è eseguito da un normale utente, utilizzare sudo prima del comando consente di eseguire quel comando (e solo quel comando) con i diritti di amministratore. sudo non rientra nell'installazione predefinita di scoop e andrà quindi installato con il comando scoop install sudo, dopodiché sarà possibile passare alla correzione dei problemi rilevati. Sempre nello screenshot sopra possiamo vedere come un comando eseguito senza sudo restituisca un errore mentre, con sudo davanti, lo stesso comando vada a buon fine.

Adesso che abbiamo installato sudo, avremo anche la possibilità di installare programmi nella cartella di sistema dedicata a tale scopo C:\Programmi\Scoop, cosa che sconsiglio se non strettamente necessaria perché si perde una delle carattestiche fondamentali di scoop, ma molto utile se vogliamo che un programma sia utilizzabile da tutti gli evenutali altri utenti.

Se avete notato attentamente lo screenshot sopra, avrete visto che due dei "problemi" rilevati da scoop riguardano il controllo in tempo reale dell'antivirus che può rallentare notevolmente l'esecuzione di scoop. Se abbiamo seguito il suggerimento e abbiamo disabilitato questo controllo solo per le cartelle di scoop, per fare una verifica dei programmi installati possiamo avvalerci di un altro comando interessante: scoop virustotal *, che consente di sfruttare il famoso servizio (VirusTotal, appunto) per testare in una volta tutti i programmi installati!

Scoop: package manager Windows!

Per impostazione predefinita, i programmi disponibili tramite scoop devono rispettare rigidi criteri e per avere accesso a molti altri programmi (più di mille!!) dovremo abilitare un repository (chiamati bucket) detto extras. Questo può essere fatto con due semplici comandi:

scoop install git

coop bucket add extras

Scoop: package manager Windows!

Da notare che questi repository non contengono i file da installare ma, come le Formulae di Homebrew, contengono file con estensione .json con le istruzioni per scaricare e installare il programma dal sito ufficiale o altra fonte affidabile.

Se installiamo programmi che hanno un'interfaccia grafica, potremo trovare le icone per lanciarli nel menu, tutti raggruppati in una cartella Scoop.

Scoop: package manager Windows!

Ho scoperto scoop da poco ma mi ha subito conquistato e, anche se non ho avuto modo di provarlo in maniera molto approfondita, non mi ha mai dato problemi che, comunque, non mancherò di segnalare qui qualora si presentassero.