¿guardar en / tmp no es realmente ahorrar?

10

Abra, por ejemplo, un archivo adjunto de correo de Firefox (sin guardarlo previamente); este es un documento de Libre Office, lo edita y luego presiona guardar (no guardar como) y cierra el editor de texto y el navegador. Luego, el documento desaparece, ya que se almacenó por defecto en /tmp. Al menos este es el caso en mi Ubuntu 12.04.

¿Crees que este es el comportamiento correcto? ¿No debería al menos recordarle el programa que realmente no está guardando nada? ¿o hay alguna forma de recuperar el archivo (también después de cerrar sesión y / o reiniciar)?

jj_p
fuente

Respuestas:

10

Jugando con esto, encuentro que cuando eliges abrir un documento con un programa externo en Firefox, lo que sucede es que Firefox descarga el programa /tmpy luego ejecuta el programa elegido con el archivo descargado como argumento (leer 'abre el archivo con el programa elegido ').

Si luego guarda el archivo (sin elegir Save Aso el equivalente) desde el programa, utilizará este archivo en /tmp.

Firefox limpiará estos archivos temporales cuando se cierre. Para que pueda recuperar el archivo si cierra LibreOffice, pero no Firefox. Sin embargo, tan pronto como se cierre Firefox, el archivo se eliminará.

En la mayoría de las distribuciones (¿todas?), La /tmpcarpeta también se vaciará al reiniciar (los archivos /var/tmpdeben permanecer por más tiempo).

Tenga en cuenta también que este comportamiento es solo para 'abrir' un archivo con un programa externo. Si el archivo se abre internamente a través de un complemento o de otro modo, parece /tmpque no se utiliza (el archivo parece estar almacenado en caché en otro lugar junto con las propias páginas web).

Actualizar

Como referencia (no recomiendo hacer esto a menos que sea necesario), puede deshabilitar la eliminación de /tmparchivos cuando Firefox se cierra con la browser.helperApps.deleteTempFileOnExitopción. Esto se puede configurar a través de la about:configpágina (simplemente escriba esto en la barra de direcciones y presione Entrar). Si existe y está false, simplemente haga clic derecho sobre él y elija alternar. De lo contrario, agréguelo haciendo clic derecho-> Nuevo-> Booleano , luego ingrese el nombre de la opción y elija falso.

Para almacenar /tmparchivos después del próximo reinicio en sistemas recientes basados ​​en Debian, primero mire /etc/default/tmpfsy asegúrese de que no haya RAMTMP=yeslínea. Si está comentado ( #al principio), está bien (si se configuró, /tmpestaría en un tmpfssistema de archivos en la memoria y no se almacenaría en el disco). Luego agregue o cambie la TMPTIMElínea /etc/default/rcS. Para almacenar /tmparchivos indefinidamente puede hacer:

TMPTIME=infinite

O puede usar un número positivo en lugar de infinitemantenerlos durante ese número de días, una vez que se acabe el tiempo, se eliminarán en el próximo reinicio. Obviamente si esta línea está comentada, descomentela.

Graeme
fuente
Tenga en cuenta que el hecho de que /tmpse borre al reiniciar se debe a que /tmpestá montado como a tmpfs, que almacena sus archivos en RAM (o intercambio), perdiendo así su contenido después de desmontarlo.
Darkhogg
1
@Darkhogg, no es el caso. /tmplos archivos generalmente se borran específicamente. He actualizado cómo se puede cambiar la configuración de esto en los sistemas basados ​​en Debian.
Graeme
¡No sabía sobre eso! +1 a ese comentario.
Darkhogg
1
Cuando se abre un archivo en Firefox a través de un complemento, el complemento puede especificar cómo desea que se entregue el archivo: en el disco o directamente en la memoria. La mayoría de los complementos eligen la memoria.
Marcar
3

Firefox tiene un caché para "abrir" archivos. Este caché se borra cada vez que cierra Firefox. Si abre ese archivo con LO y cierra Firefox, notará que el archivo desaparecerá. Esto es cierto para todos los Firefox independientemente de que estén almacenados /tmpo no.

Braiam
fuente
2

¿Crees que este es el comportamiento correcto?

Tengo que decir que no creo que sea así. Pero entonces estoy un poco parcial, ya que casi he perdido seis horas de trabajo debido a esta peculiaridad.

Creo que cualquier interfaz gráfica de usuario que permita al usuario hacer algo potencialmente desastroso sin advertirles es defectuosa, no importa cuán "lógica" sea la decisión de diseño detrás de ella. Esto ocurre especialmente cuando los usuarios pueden hacer exactamente lo mismo en programas similares (como Chrome) sin efectos nocivos.

¿No debería al menos recordarle el programa que realmente no está guardando nada?

Hmmm ... tal vez sea útil una ventana emergente con una casilla de verificación que dice "No mostrar este mensaje nuevamente". Aún más útil sería una pequeña solución a LibreOffice y programas similares que advierten al usuario si el archivo que están guardando se está guardando en / tmp o donde sea. Quiero decir, si presionas "guardar", esperas que el archivo se guarde en algún lugar, ¿verdad?

¿o hay alguna forma de recuperar el archivo (también después de cerrar sesión y / o reiniciar)?

Sí, si tienes suerte. Arranqué mi computadora desde una instalación de usb linux y logré recuperar el archivo usando extundelete.

Matt_M
fuente
2

Dejame explicar. Cuando elige "Abrir con" en lugar de "Descargar en" en el cuadro de diálogo, el archivo aún se descarga, momento en el que Firefox abre el archivo descargado con la aplicación. Sin embargo, se supone que no desea conservar el archivo, por lo que este archivo se elimina cuando se cierra Firefox. Si hubiera querido mantenerlo, debería elegir "Descargar en", o usar "Guardar como" en su aplicación, o simplemente mover el archivo fuera de / var / tmp (donde filefox lo guarda); la eliminación solo se aplica al archivo en su ubicación original.

Tenga en cuenta que el archivo se elimina incluso si la otra aplicación lo mantiene abierto (en el sentido técnico). En sistemas tipo Unix, esto no es un problema: mientras la entrada del directorio desaparece, el archivo permanece y no se eliminará hasta que la aplicación lo cierre [un bloqueo en este punto puede dejar el disco en un estado inconsistente; fsck informa esta situación como un "inodo no vinculado"]

Lior Silberman
fuente
-1

¿Crees que este es el comportamiento correcto?

Por supuesto que es el comportamiento correcto. Solo sucede cuando no elige guardar el archivo, sino que elige abrirlo . En mi opinión, generalmente es mejor guardar todo en lugar de abrir.

¿No debería al menos recordarle el programa que realmente no está guardando nada?

¿Por qué? Si quería guardar, ¿por qué no eligió descargar el archivo?

¿o hay alguna forma de recuperar el archivo (también después de cerrar sesión y / o reiniciar)?

No Tendría que copiarlo cuando todavía está en tmp.

Pavel Šimerda
fuente