Ti serve la riga di comando e sei dalla zia? C’è la Google Cloud Shell

Una macchina virtuale Debian accessibile via browser

Andrea Borruso
mai più senza

--

Qualche giorno fa ho letto questo tweet:

È un servizio attivo da diverso tempo e ci avevo anche già “messo il naso”, ma stavolta ho guardato a questo tweet con “occhi nuovi” .
Ho pensato a quei — rari — momenti in cui ho bisogno di una shell e non ho con me il mio PC, non ho le mie chiavi di accesso per accedere a una remota, eccetera: Google Cloud Shell può essere (per alcune cose) una soluzione.

È un servizio gratuito per gli utenti Google (credo che ci sia comunque da associare una carta di credito all’account) con queste caratteristiche di base (qui faccio riferimento all'offerta gratuita, perché è modificabile a pagamento):

  • è basata (di default, ma è modificabile) su Debian 9.8;
  • fornisce 5 Gb di spazio disco permanente (nella directory $HOME);
  • è utilizzabile via browser;
  • è utilizzabile esclusivamente in modo interattivo, ovvero è attiva soltanto quando ci state lavorando “a schermo”;
  • ha già installati e pronti all'uso strumenti di amministrazione come il client MySql, Kubernetes e Docker;
  • è corredata da strumenti di sviluppo e deployment Java, Go, Python, Node.js, PHP e Ruby;
  • l’istanza della macchina virtuale non viene assegnata in modo permanente alla sessione e verrà chiusa se quest’ultima rimane inattiva per un’ora. Una volta terminata l’istanza, qualsiasi modifica apportata al di fuori della directory $HOME non verrà salvata.

Una nota su quest’ultimo punto: se oggi dovessi installare un’applicazione in modo standard (i.e. sudo apt-get install NomeApp), domani non sarà disponibile, perché (di solito) la cartella di installazione non è la $HOME dell’utente.

Per poter installarle nella cartella $HOME ci sono queste modalità:

  • per le app in Go, non è necessario fare nulla di speciale e usare go get github.com/nomeUtente/nomeRepo (nel caso di sorgenti github);
  • per quelle Python, si può lanciare python3 -m pip install --user nomeApp;
  • per quelle in Node.js, si possono seguire le istruzioni di questa guida;
  • per tutte quelle per cui esiste un eseguibile precompilato, basterà inserirle nella cartella /home/nomeUtente/.local/bin.

La cartella /home/nomeUtente/.local/bin deve essere nel PATH del sistema operativo.

Mi sono creato il mio coltellino svizzero da usare dalla zia con dentro csvkit, ipthon, Miller, Visidata, goodtables, chardet, gron, jq, xq, yq, pup, mapshaper, sqlite, pandas, tldr, ecc., da usare all'occorrenza.

Molto comodo.

--

--

Andrea Borruso
mai più senza

#data #maps #GIS #baci #condivisione. Orgoglioso di essere presidente di @ondatait