Pagina 1 di 1
Evitare cancellazioni rovinose [RISOLTO]
Inviato: mer 13 gen 2010, 16:29
da Burroughs
Qualche giorno fa, preso dalla fretta, ho dato un
rm -r di troppo e così facendo ho cancellato una directory del mio repository.
Poco male, ho delle copie di backup sparse qua e là fra i miei computer.
Volendone sapere di più, soprattutto per evitare in futuro simili boiate, mi sono imbattuto in
questo sito, in cui, fra l'altro, si afferma:
Sandro Tosi ha scritto:Un trucchetto per evitare di effettuare un ``rm'' in una directory
sbagliata e` quello di creare un file ``-i'' nelle directory piu`
importanti.
Mi sapete spiegare in cosa consiste questo metodo?
Ho provato a creare un semplice file di testo, chiamato
-i, in una directory di prova, ma questo non è servito ad impedire che poi un banale
rm -r me la cancellasse.
Burroughs.
Re: Evitare cancellazioni rovinose
Inviato: mer 13 gen 2010, 16:37
da Mario Vanoni
Burroughs ha scritto:Qualche giorno fa, preso dalla fretta, ho dato un
rm -r di troppo e così facendo ho cancellato una directory del mio repository.
Poco male, ho delle copie di backup sparse qua e là fra i miei computer.
Volendone sapere di più, soprattutto per evitare in futuro simili boiate, mi sono imbattuto in
questo sito, in cui, fra l'altro, si afferma:
Sandro Tosi ha scritto:Un trucchetto per evitare di effettuare un ``rm'' in una directory
sbagliata e` quello di creare un file ``-i'' nelle directory piu`
importanti.
Mi sapete spiegare in cosa consiste questo metodo?
Ho provato a creare un semplice file di testo, chiamato
-i, in una directory di prova, ma questo non è servito ad impedire che poi un banale
rm -r me la cancellasse.
Burroughs.
Leggi la man page di rm(1)!
Con
cd dir
rm -irv *
ti chiede in modo interattivo se vuoi cancellare o no ogni singolo argomento.
Re: Evitare cancellazioni rovinose
Inviato: mer 13 gen 2010, 16:37
da 414N
Io metterei un bel alias apposito in ~/.bashrc, tipo
Magari è più utile nella home di root (/root) che nella home dell'utente non privilegiato.
Re: Evitare cancellazioni rovinose
Inviato: mer 13 gen 2010, 16:56
da targzeta
Si, anche io penso che l'idea era quella di passare indirettamente l'opzione '-i' a rm. Solo che è na fesseria di soluzione! Già l'alias di 414N è più intelligente.
Altrimenti potresti crearti un "cestino" in stile windows. Scrivi un piccolo scriptino che sposta i file in directory prestabilite, preferibilmente nello stesso filesystem, e poi crei un alias a rm per questo scriptino. In questo modo invece di cancellare i file, li sposti. Ovviamente puoi anche raffinare lo script per
- individuare il filesystem corrente
- creare se necessario la directory trash
- avvisare un utente che il cestino è pieno (ergo il filesystem si sta riempiendo). Magari che te lo dica prima di iniziare l'operazione, non come windows che solo dopo aver perso 10 minuti ti dice che non è possibile spostare il file perchè manca lo spazio sufficiente.
- rinominare i file spostati in modo che sia facile ripristinarli, ad esempio rinominandoli con l'intero path, sostituendo '/' in '_'. Oppure meglio ancora se ci metti un file indice che ti dica per ogni file, il suo path originale.
N.B.Non sottovalutare la questione di spostare i file sullo stesso filesystem. Fare un mv da un filesystem all'altro impiega molto tempo perchè deve effettivamente spostare i file, mentre spostare dei file su uno stesso filesystem è un operazione piuttosto rapida, come la cancellazione, in entrambi i casi si deve solo modificare le informazioni sugli inode.
Emanuele
Offtopic: @414N: non ho capito se la puntualizzazione iniziale era riferita a Mario. Mi sembra che abbiate detto la stessa cosa, no?
Re: Evitare cancellazioni rovinose
Inviato: mer 13 gen 2010, 16:58
da kreen
Ciao, se i files sono fissi, tipo eseguibili, pacchetti etc,
valuta anche l'uso di chattr +i , vantaggi e svantaggi che comporta.
Re: Evitare cancellazioni rovinose
Inviato: mer 13 gen 2010, 17:25
da 414N
spina ha scritto:Offtopic: @414N: non ho capito se la puntualizzazione iniziale era riferita a Mario. Mi sembra che abbiate detto la stessa cosa, no?
Offtopic: Sì sì, è la stessa cosa che ha detto anche Mario. Abbiamo postato quasi contemporaneamente e non ho corretto quanto avevo scritto prima di leggere la risposta di Mario. Mò aggiusto
Re: Evitare cancellazioni rovinose
Inviato: mer 13 gen 2010, 17:28
da Burroughs
Ragazzi, vi ringrazio per i suggerimenti che mi avete dato.
La soluzione proposta da 414N, cioè quella dell'alias, mi stuzzica di più, però a me interesserebbe, più che altro, impostare un alias che impedisca l'esecuzione in modalità non interattiva di rm -r, mentre per il comando in sé la modalità non interattiva va più che bene.
Insomma, per essere chiari: ok l'avvertimento se cerco di cancellare una directory intera, no per il file singolo.
Burroughs.
@mario: ovviamente conosco l'opzione -i, se applicata al comando in questione.
Quello che non mi spiegavo (e non mi spiego tuttora) è quel che il buon Sandro Tosi vuol dire quando afferma che, per evitare cancellazioni accidentali, sarebbe buona norma creare un file ``-i'' nelle directory più importanti.
Re: Evitare cancellazioni rovinose
Inviato: mer 13 gen 2010, 17:56
da Mario Vanoni
Burroughs ha scritto:Ragazzi, vi ringrazio per i suggerimenti che mi avete dato.
La soluzione proposta da 414N, cioè quella dell'alias, mi stuzzica di più, però a me interesserebbe, più che altro, impostare un alias che impedisca l'esecuzione in modalità non interattiva di rm -r, mentre per il comando in sé la modalità non interattiva va più che bene.
Insomma, per essere chiari: ok l'avvertimento se cerco di cancellare una directory intera, no per il file singolo.
Burroughs.
@mario: ovviamente conosco l'opzione -i, se applicata al comando in questione.
Quello che non mi spiegavo (e non mi spiego tuttora) è quel che il buon Sandro Tosi vuol dire quando afferma che, per evitare cancellazioni accidentali, sarebbe buona norma creare un file ``-i'' nelle directory più importanti.
Un trucchetto per evitare di effettuare un ``rm'' in una directory
sbagliata e` quello di creare un file ``-i'' nelle directory piu`
importanti.
In oltre venti anni di UNIX/Linux mai sentito di un trucco simile!
Quale Super-User (root) con rm(1) cancelli _tutto_!
Re: Evitare cancellazioni rovinose
Inviato: mer 13 gen 2010, 18:07
da targzeta
Burroughs ha scritto:...@mario: ovviamente conosco l'opzione -i, se applicata al comando in questione.
Quello che non mi spiegavo (e non mi spiego tuttora) è quel che il buon Sandro Tosi vuol dire quando afferma che, per evitare cancellazioni accidentali, sarebbe buona norma creare un file ``-i'' nelle directory più importanti.
Bhé, allora vuol dire che ci siamo spiegati male in tre

.
Se crei un file chiamato '-i', quando esegui 'rm *' esegui 'rm -i *' questo perchè implicitamente passi '-i' a rm. Ma, come ho già detto prima, secondo me è una fesseria. Anche perchè se esegui 'rm -r nomedir', anche se la directory contiene un file '-i' non succede nulla e la directory viene completamente eliminata.
Emanuele
Re: Evitare cancellazioni rovinose
Inviato: gio 14 gen 2010, 11:48
da 414N
Burroughs ha scritto:Ragazzi, vi ringrazio per i suggerimenti che mi avete dato.
La soluzione proposta da 414N, cioè quella dell'alias, mi stuzzica di più, però a me interesserebbe, più che altro, impostare un alias che impedisca l'esecuzione in modalità non interattiva di rm -r, mentre per il comando in sé la modalità non interattiva va più che bene.
Insomma, per essere chiari: ok l'avvertimento se cerco di cancellare una directory intera, no per il file singolo.
Re: Evitare cancellazioni rovinose
Inviato: gio 14 gen 2010, 12:11
da Burroughs
414N ha scritto:Burroughs ha scritto:Ragazzi, vi ringrazio per i suggerimenti che mi avete dato.
La soluzione proposta da 414N, cioè quella dell'alias, mi stuzzica di più, però a me interesserebbe, più che altro, impostare un alias che impedisca l'esecuzione in modalità non interattiva di rm -r, mentre per il comando in sé la modalità non interattiva va più che bene.
Insomma, per essere chiari: ok l'avvertimento se cerco di cancellare una directory intera, no per il file singolo.
Scusa, ma così (ho già provato) mi viene cannata la modalità interattiva tanto per la cancellazione file quanto per la cancellazione directory...
Any ideas?
Burroughs.
Re: Evitare cancellazioni rovinose
Inviato: gio 14 gen 2010, 12:37
da 414N
Burroughs ha scritto:Scusa, ma così (ho già provato) mi viene cannata la modalità interattiva tanto per la cancellazione file quanto per la cancellazione directory...
Any ideas?
Quello che ti ho messo nel mio post precedente sarebbe un alias da usare quando devi cancellare ricorsivamente delle directory al posto del comando rm -r, in modo che ti venga chiesta conferma prima dell'eliminazione di ogni file.
Non capisco cosa intendi con "cannata": non so da te, ma qui da me vuol dire tolta/disabilitata. Io però l'opzione -i l'ho messa....
Re: Evitare cancellazioni rovinose
Inviato: gio 14 gen 2010, 15:35
da Burroughs
414N ha scritto:Burroughs ha scritto:Scusa, ma così (ho già provato) mi viene cannata la modalità interattiva tanto per la cancellazione file quanto per la cancellazione directory...
Any ideas?
Quello che ti ho messo nel mio post precedente sarebbe un alias da usare quando devi cancellare ricorsivamente delle directory al posto del comando rm -r, in modo che ti venga chiesta conferma prima dell'eliminazione di ogni file.
Non capisco cosa intendi con "cannata": non so da te, ma qui da me vuol dire tolta/disabilitata. Io però l'opzione -i l'ho messa....
Ti chiedo scusa, nella fretta non avevo interpretato bene l'alias che mi hai suggerito.
Grazie ancora per l'aiuto,
Burroughs.
Ps: riguardo alla forma verbale di cui sopra, non è propriamente aulica benché il lemma
cannare lo si rinvenga anche sulla Treccani.
Utilizzandola, non intendevo essere ironico, come spero non abbia voluto essere tu con la tua risposta.
Re: Evitare cancellazioni rovinose
Inviato: gio 14 gen 2010, 17:17
da 414N
Burroughs ha scritto:Ps: riguardo alla forma verbale di cui sopra, non è propriamente aulica benché il lemma cannare lo si rinvenga anche sulla Treccani.
Utilizzandola, non intendevo essere ironico, come spero non abbia voluto essere tu con la tua risposta.
Assolutamente: volevo accertarmi che attribuissimo lo stesso significato al termine cannare dopo aver letto il tuo post di risposta.