¿Es seguro rm -rf / tmp / *?

29

Esto es algo que solía hacer mucho en Windows, pero después de mi reciente fiasco quiero asegurarme. ¿Es seguro hacerlo?

sudo rm -rf /tmp/*

?

ripper234
fuente
¿Es este un servidor siempre en ejecución o una máquina de escritorio con apagado diario?
usuario desconocido
Me gustaría preguntarte por qué quieres eliminar archivos en / tmp. ¿Es porque se está llenando o es por razones de privacidad? Si se trata de un problema de espacio, puede deberse a una aplicación con un comportamiento incorrecto o puede ser que deba estar en una partición más grande. Si se trata de privacidad, existen otras alternativas, como el uso de sistemas de archivos encriptados que quizás desee considerar.
Rob
Puede causar varios problemas en su sistema, pero principalmente funcionará.
Peter dice reinstalar a Mónica el
Relacionado: askubuntu.com/questions/380238/how-to-clean-tmp
Ciro Santilli 新疆 改造 中心 法轮功 六四 事件

Respuestas:

19

En general, no.

Si se está llenando de basura, es posible que desee ver qué software no está limpiando después de sí mismo.

También puede usar find para identificar archivos que no han sido modificados o accedidos en mucho tiempo y que probablemente sean seguros de eliminar.

Robar
fuente
9
Concurre con el coro de 'no' aquí, y el apéndice que la mayoría de las distribuciones de Linux limpian automáticamente al /tmp/inicio. Si bien esto no necesariamente ayuda si estamos hablando de un servidor sin reinicio NUNCA aquí, una posibilidad podría estar ejecutándose find ./ -type f -atime 14 -exec rm {} \; cada semana más o menos para eliminar cualquier archivo sin formato al que no se haya accedido en las últimas dos semanas. ..
Shadur
find ./ -type f -atime 14 -deletewith gnu-find
usuario desconocido
@user, por supuesto, suponga que /tmpno está utilizando los valores predeterminados actuales del kernel, que relatimesolo se actualiza cuando se modifica el archivo, o noatime. En cuyo caso atimeno va a ser remotamente útil.
xenoterracide
8

La verdadera respuesta es: depende. / tmp puede ser utilizado por aplicaciones que requieren archivos de bloqueo o registros temporales para poder ejecutarse, o no. Puede haber enlaces simbólicos allí ... no estoy seguro para qué, pero siempre es posible.

Realmente deberías mirar lo que hay allí antes de decidir eliminarlo. hacer un rf -rf * en cualquier cosa es inherentemente peligroso.

Rory Alsop
fuente
3
En mi sistema, los archivos de registro van a / var / log, los archivos de bloqueo a / var / lock.
usuario desconocido
3
@user seguro, para daemons del sistema ... esto no significa necesariamente que no haya bloqueos o registros para una aplicación de usuario /tmpporque el usuario normal no puede escribir. /var/log|lockTengo un script de shell que escribe un bloqueo/tmp
xenoterracide
7

No. Por ejemplo, si tiene una base de datos MySQL ejecutándose en su computadora que matará su socket, o si está utilizando emacs como servidor que matará el proceso del servidor. Hay muchos otros casos en los que no es seguro eliminar estos archivos. Lo mejor que puede hacer es escribir un script que verifique la fecha del archivo y solo lo elimine si es antiguo.

Una persona
fuente
Pregunta rápida cuando dices "eso matará a su zócalo", ¿qué le dices por 'zócalo'?
Qasim
2

No.

Pero podría tener un ramdisk para el directorio / tmp y luego estaría vacío después de cada reinicio del sistema. Y como efecto secundario, su sistema puede volverse un poco más rápido.

Google tiene mucha información sobre tmpfs y / o ramfs.

Johan
fuente
¿No es común borrar / tmp automáticamente al reiniciar? Gentoo sí, y creo que Ubuntu sí, pero ha pasado un tiempo desde que lo usé
Michael Mrozek
No, no creo que las distribuciones derivadas de Debian como Ubuntu lo haga (ahora de todos modos). Pero es bastante fácil agregar esto si te gusta.
Johan
Ubuntu Matty (o como se llame la versión actual) lo hace. Pero si no reinicia su máquina regularmente, no sucederá.
Rob
Ok, no verifiqué la corriente. Estoy usando la pista LTS en este momento.
Johan
Ubuntu lo hace, y cada Linux que probé antes lo hizo: Knoppix, Peanut, Halloween, Red Hat, SuSe. ¿Por qué haría el sistema más rápido? ¿Qué sería exactamente más rápido? ¿Cálculos, acceso a disco, redes, arranque?
usuario desconocido el
-4

Mi sugerencia es cambiar el nombre de su carpeta tmp primero para ver qué está siendo afectado por este directorio. Cambie el nombre de "tmp" a "old_tmp". Además, cree una nueva carpeta vacía con el nombre "tmp" porque algunos procesos de configuración o del sistema requieren que esta carpeta cree algunos archivos dentro de este directorio, como los archivos de registro. Siga estos pasos para eliminar de forma segura la fecha tmp.

1- Cambie el nombre del directorio "tmp" existente como "old_tmp". 2- Cree un nuevo directorio "tmp" vacío. 3- Asigne todos los permisos como "0777" a este directorio recién creado para que el sistema / instalación pueda tener permiso para crear / colocar registros y otros archivos dentro de este directorio. 4- Ejecute el sistema y las aplicaciones para asegurarse de que todo funcione bien y se comporte como siempre. Mantener en observación durante 2-3 días. 5- Si está seguro de que nada se ve afectado por cambiar el nombre de su directorio "tmp" a "old_tmp", entonces puede eliminar el directorio "old_tmp".

Nota: Si algo causa problemas debido al cambio de nombre del directorio "tmp" a "old_tmp", deje que este directorio vuelva a su nombre original "tmp".

A.Aleem11
fuente
2
Esta es una muy mala idea. Hay muchas utilidades de shell estándar que escriben archivos temporales /tmpy que comenzarían a fallar tan pronto como cambie el nombre del original /tmp. También tenga en cuenta que el /tmpdirectorio debe tener permisos específicos (conjunto de bits fijos, por ejemplo).
Kusalananda
Lea atentamente lo que dije: tiene razón, es posible que haya muchas utilidades de shell estándar que escriben archivos temporales en el directorio "/ tmp", por eso le dije que creara un nuevo directorio "tmp" y le asignara un permiso completo después de cambiar el nombre de los antiguos existentes directorio "tmp".
A.Aleem11
1
Sí, y usted dijo que los permisos deberían ser 0777cuando en realidad deberían serlo 1777.
Kusalananda