Il comando rm Linux ha un successore più intelligente: si chiama rip2

Il comando rm di Linux, pur essendo uno strumento fondamentale per la gestione dei file, presenta rischi significativi poiché non consente il ripristino dei file eliminati. rip2 si presenta come un'alternativa moderna e sicura, progettata in Rust, che archivia i dati cancellati in una directory apposita, consentendone all'occorrenza un facile recupero.

Il comando rm Linux è uno degli strumenti fondamentali per la gestione dei file: permette di eliminare file e directory dalla finestra del terminale o dai sistemi operativi sprovvisti di qualunque interfaccia grafica (desktop environment) in modo immediato. È uno strumento da usare con cautela, poiché non offre alcuna opzione per ripristinare i file una volta rimossi.

Con l’utilizzo di rm si possono rimuovere file singoli: basta specificare il loro nome. Per eliminare intere cartelle, insieme con il loro contenuto, è necessario usare un approccio ricorsivo: rm -r nomecartella. L’eventuale aggiunta dell’opzione -f permette di eliminare gli oggetti a livello di file system senza richiedere conferma, anche se protetti da scrittura.

rip2, un comando rm sicuro e moderno basato su Rust

Con il preciso obiettivo di migliorare il comportamento del comando rm Linux, rip2 si propone oggi come il suo naturale successore. Disponibile in questo repository GitHub, la principale caratteristica di rip2 è quella di evitare la cancellazione immediata dei dati, spostandoli in una cartella chiamata graveyard (“cimitero”, in italiano). Tale directory si trova solitamente nel percorso /tmp/graveyard-$USER.

Il vantaggio principale di rip2 è che, diversamente rispetto al tradizionale comando rm, i dati cancellati possono essere facilmente ripristinati in caso di necessità. Non si corre inoltre il rischio che qualche dato possa essere sovrascritto (è il caso degli hard disk magnetomeccanici) oppure definitivamente eliminato dal controller dell’unità SSD a seguito del comando TRIM.

Nel caso di rip2, inoltre, allorquando venissero eliminati più file con lo stesso identico percorso, l’utilità genera più versioni, progressivamente numerate, per evitare conflitti.

Storia e sviluppo di rip2

Va rimarcato che rip2 non è uno strumento che nasce come “idea improvvisata”. È invece il frutto di diversi fork: il comando rip originario risale a un progetto 2020, non più fatto progredire. Per arrivare al repository odierno che contiene un’applicazione ben più stabile e affidabile.

Vale la pena citare il refactoring del codice per renderlo conforme agli standard moderni del linguaggio Rust, particolarmente utile per scongiurare qualunque problema nella gestione della memoria. Ci sono inoltre il supporto per l’autocompletamento su diverse shell (bash, zsh, fish,…), l’implementazione di un sistema completo di test e monitoraggio della copertura, l’output migliorato con colori e informazioni dettagliate sulle date, l’introduzione di meccanismi di sicurezza per prevenire problemi legati a processi concorrenti.

Come installare e usare rip2

Le istruzioni per installare il comando sono disponibili a questo indirizzo. Chi non volesse lavorare direttamente sul codice sorgente, tuttavia, può trovare i file binari quindi le versioni già compilate di rip2 per tutti i principali sistemi operativi: Linux, Windows e macOS.

Il comando di base per eliminare un file o una directory è semplice:

rip file1 dir1

Per ripristinare l’ultimo file cancellato:

rip -u

Per visualizzare le informazioni su un file prima di cancellarlo:

rip -i file1

Altri comandi utili includono rip -s per consultare la lista dei file cancellati di recente e rip -su per ripristinarli tutti nei percorsi originari.

La directory graveyard predefinita può essere modificata tramite variabili d’ambiente o alias su Linux, soprattutto per evitare che file di grandi dimensioni riempiano la memoria RAM in quei sistemi in cui il percorso /tmp risulta montato nella memoria volatile.

Credit immagine in apertura: iStock.com – NicoElNino

Ti consigliamo anche

Link copiato negli appunti