È sicuro rm -rf / tmp / *?


29

Questo è qualcosa che facevo molto su Windows, ma dopo il mio recente fiasco voglio esserne sicuro. È sicuro da fare

sudo rm -rf /tmp/*

?


Si tratta di un server sempre in esecuzione o di una macchina desktop con arresto giornaliero?
utente sconosciuto

Vorrei chiedere perché vuoi eliminare i file in / tmp? È perché si sta riempiendo o è per motivi di privacy? Se si tratta di un problema di spazio, potrebbe essere dovuto a un'applicazione mal gestita o potrebbe essere necessario che si trovi su una partizione più grande. Se la privacy, ci sono altre alternative, come l'uso di filesystem crittografati che potresti prendere in considerazione.
Rob,

Può causare vari problemi sul sistema, ma principalmente funzionerà.
Peter dice di reintegrare Monica il

Risposte:


19

In generale, no.

Se si sta riempiendo di spazzatura, potresti voler controllare quale software non sta ripulendo dopo se stesso.

Puoi anche usare find per identificare i file che non sono stati modificati o accessibili da molto tempo e che probabilmente sono sicuri da eliminare.


9
Concordi con il coro di "no" qui e l'addendum che la maggior parte delle distribuzioni di Linux ripulisce automaticamente /tmp/all'avvio. Anche se questo non aiuta necessariamente se stiamo parlando di un server EVER senza riavvio, una possibilità potrebbe essere in esecuzione find ./ -type f -atime 14 -exec rm {} \; ogni settimana o giù di lì per eliminare qualsiasi file semplice a cui non si è avuto accesso nelle ultime due settimane. ..
Shadur,

find ./ -type f -atime 14 -deletecon gnu-find
utente sconosciuto

@user questo ovviamente presuppone che /tmpnon stia usando le impostazioni predefinite del kernel che vengono relatimeaggiornate solo quando il file viene modificato, oppure noatime. Nel qual caso atimenon sarà di aiuto remoto.
xenoterracide,

8

La vera risposta è: dipende. / tmp può essere utilizzato da applicazioni che richiedono la presenza di lockfile o registri temporanei per poter funzionare, oppure no. Ci possono essere link simbolici lì dentro ... non sono sicuro di cosa, ma è sempre possibile.

Dovresti davvero vedere cosa c'è dentro prima di decidere di rimuoverlo. fare un rf -rf * su qualsiasi cosa è intrinsecamente pericoloso.


3
Sul mio sistema, i file di registro vanno su / var / log, i file di blocco su / var / lock.
utente sconosciuto

3
@utente certo, per i demoni di sistema ... questo non significa necessariamente che non ci siano blocchi o registri per un'applicazione utente /tmpperché l'utente normale non può scrivere su /var/log|lockHo uno script shell che scrive un blocco su/tmp
xenoterracide

7

No. Ad esempio, se sul tuo computer è in esecuzione un database MySQL che ucciderà il suo socket o se stai usando emacs come server che ucciderà il processo del server. Ci sono molti altri casi in cui non è sicuro rimuovere questi file. La cosa migliore da fare è scrivere uno script che controlla la data del file e lo rimuove solo se è vecchio.


Domanda veloce quando dici "che ucciderà il suo socket" che cosa dici con 'socket'?
Qasim


2

No.

Ma potresti un ramdisk per la directory / tmp quindi sarebbe vuoto dopo ogni riavvio del sistema. E come effetto collaterale il tuo sistema potrebbe diventare un po 'più grande più velocemente.

Google ha molte informazioni su tmpfs e / o ramfs.


Non è comune cancellare automaticamente / tmp al riavvio? Gentoo lo fa, e penso che Ubuntu lo faccia, ma è da un po 'che non lo uso
Michael Mrozek

No, non penso che le distro derivate da Debian come Ubuntu lo faccia (in questo momento comunque). Ma è abbastanza facile aggiungerlo se ti piace.
Johan,

Ubuntu Matty (o come si chiama l'attuale versione) fa. Ma se non riavvii il tuo computer regolarmente, non accadrà.
Rob,

Ok, non ho controllato la corrente. Sto usando la traccia LTS in questo momento.
Johan,

Ubuntu lo fa, e ogni Linux che ho testato prima, ha fatto: Knoppix, Peanut, Halloween, Red Hat, SuSe. Perché renderebbe il sistema più veloce? Cosa sarebbe esattamente più veloce? Calcoli, accesso al disco, rete, avvio?
utente sconosciuto

-4

Il mio consiglio è di rinominare prima la cartella tmp per vedere cosa è interessato da questa directory. Rinominalo da "tmp" a "old_tmp". Inoltre, crea una nuova cartella vuota con il nome "tmp" perché alcuni processi di installazione o di sistema potrebbero richiedere a questa cartella di creare alcuni file all'interno di questa directory come i file di registro. Seguire questi passaggi per la rimozione sicura della data tmp.

1- Rinomina la directory "tmp" esistente come "old_tmp". 2- Crea una nuova directory "tmp" vuota 3- Assegna tutte le autorizzazioni come "0777" a questa directory appena creata in modo che il sistema / setup possa avere le autorizzazioni per creare / posizionare il registro e altri file all'interno di questa directory. 4- Esegui il sistema e le applicazioni per assicurarti che tutto funzioni correttamente e si comporti come al solito. Tenere in osservazione per 2-3 giorni. 5- Se nulla è interessato a causa della ridenominazione della directory "tmp" in "old_tmp", è possibile eliminare la directory "old_tmp".

Nota: se qualcosa che causa problemi è dovuto alla ridenominazione della directory "tmp" in "old_tmp", riportare questa directory al nome "tmp" originale.


2
Questo è un davvero cattiva idea. Esistono molte utility di shell standard che scrivono file temporanei /tmpe che inizierebbero a fallire non appena rinominare l'originale /tmp. Si noti inoltre che la /tmpdirectory deve disporre di autorizzazioni specifiche (ad esempio, set di bit sticky).
Kusalananda

Per favore leggi attentamente quello che ho detto: hai ragione, potrebbero esserci molte utility di shell standard che scrivono file temporanei nella directory "/ tmp", ecco perché ho detto di creare una nuova directory "tmp" e di averle assegnate l'autorizzazione completa dopo aver rinominato il vecchio esistente directory "tmp".
A.Aleem11

1
Sì, e hai detto che le autorizzazioni dovrebbero essere 0777quando in realtà dovrebbero essere 1777.
Kusalananda
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.