La comunità open source sta sviluppando un innovativo progetto chiamato try, pubblicato su GitHub, che cerca di rivoluzionare l’approccio all’esecuzione dei comandi su Linux. Questo progetto offre la possibilità di eseguire un comando e ispezionarne gli effetti prima di renderne effettive le modifiche, consentendo agli utenti di annullare le modifiche apportate da un comando.
Gli autori di try spiegano chiaramente il loro obiettivo di rompere con l’idea che l’esecuzione di un comando sia un processo irrevocabile. Vogliono cambiare questo presupposto e offrire agli utenti la possibilità di provare un comando prima di confermarne l’esecuzione.
Uno strumento fondamentale utilizzato da try per raggiungere questo obiettivo sono i namespace di Linux. I namespace sono una funzionalità del kernel che consente di isolare risorse di sistema specifiche, creando un ambiente virtuale separato per i processi. Ogni namespace crea un’istanza virtuale di risorse come processi, reti, file system e hostname, fornendo un ambiente isolato in cui i processi possono operare senza interferire reciprocamente. L’utilizzo dei namespace consente agli amministratori di sistema e agli sviluppatori di creare ambienti di esecuzione indipendenti, migliorando la sicurezza, la gestibilità e la flessibilità delle applicazioni su Linux.
Il comando unshare su Linux consente di creare nuovi namespace o modificare le opzioni di isolamento di un namespace esistente. Try sfrutta i namespace e il comando unshare per creare ambienti di esecuzione isolati e separati, consentendo agli utenti di provare i comandi in un ambiente sicuro prima di confermare le modifiche.
Try utilizza anche OverlayFS, un file system a livello di kernel utilizzato su Linux. OverlayFS combina o sovrappone i contenuti di più directory o file system in una singola visualizzazione unificata. Questo file system è utilizzato in vari scenari, come la gestione di container Docker, distribuzioni Linux live e creazione di snapshot. OverlayFS consente di creare un ambiente virtuale che mantiene intatti i file originali, facilitando l’annullamento delle modifiche apportate dai comandi.
È importante sottolineare che try è ancora considerato un prototipo e non deve essere utilizzato come sandbox reale. Gli autori di try raccomandano di non eseguire comandi che rimuovono informazioni dalla cartella /dev o scrivono dati sul disco. È consigliabile utilizzare try solo per comandi di cui ci si fida.
Per utilizzare try in Linux, è sufficiente installarlo seguendo i semplici passaggi riportati sulla pagina GitHub del progetto. Una volta installato, il comando try può essere invocato seguito dal comando da eseguire e, se necessario, da annullare in un secondo momento.
In sintesi, try offre agli utenti di Linux un nuovo approccio all’esecuzione dei comandi, consentendo loro di provare le modifiche prima di confermarle grazie all’uso dei namespace e di OverlayFS.