È 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.