il salvataggio in / tmp non sta davvero salvando?


10

Apri ad esempio un allegato di posta da Firefox (senza salvarlo in precedenza); questo è un documento di Libre Office, lo modifichi, quindi premi Salva (non salva come) e chiudi sia l'editor di testo che il browser. Quindi il documento scompare, poiché è stato archiviato per impostazione predefinita in /tmp. Almeno questo è il caso sul mio Ubuntu 12.04.

Pensi che questo sia il comportamento corretto? Il programma non dovrebbe almeno ricordarti che non stai davvero salvando nulla? o c'è un modo per recuperare il file (anche dopo il logout e / o il riavvio)?

Risposte:


10

Giocando con questo trovo che quando si sceglie di aprire un documento con un programma esterno in Firefox, ciò che accade è che Firefox scarica il programma /tmpe quindi esegue il programma scelto con il file scaricato come argomento (leggi 'apre il file con il programma scelto ').

Se poi salvi il file (senza scegliere Save Aso l'equivalente) all'interno del programma, userà questo file in /tmp.

Firefox chiuderà questi file temporanei alla chiusura. Quindi puoi recuperare il file se chiudi LibreOffice, ma non Firefox. Tuttavia, non appena Firefox verrà chiuso, il file verrà eliminato.

Nella maggior parte (tutte?) Le distribuzioni, la /tmpcartella verrà anche svuotata al riavvio (i file /var/tmpdovrebbero durare più a lungo).

Si noti inoltre che questo comportamento è solo per "aprire" un file con un programma esterno. Se il file viene aperto internamente tramite un plug-in o in altro modo, sembra che /tmpnon sia utilizzato (il file sembra essere memorizzato nella cache altrove insieme alle pagine Web stesse).

Aggiornare

Per riferimento (non consiglio di farlo a meno che non sia necessario), è possibile disabilitare la cancellazione dei /tmpfile alla chiusura di Firefox tramite l' browser.helperApps.deleteTempFileOnExitopzione. Questo può essere impostato tramite la about:configpagina (basta digitare questo nella barra degli indirizzi e premere invio). Se esiste ed è false, basta fare clic destro su di esso e scegliere attiva / disattiva. Altrimenti, aggiungilo facendo clic destro-> Nuovo-> Booleano , quindi inserisci il nome dell'opzione e scegli false.

Per archiviare i /tmpfile dopo il prossimo riavvio sui recenti sistemi basati su Debian, prima guarda /etc/default/tmpfse assicurati che non ci sia RAMTMP=yeslinea. Se è commentato ( #all'inizio), va bene (se impostato, /tmpsarebbe su un tmpfsfilesystem in memoria e non sarebbe archiviato su disco). Quindi aggiungere o modificare la TMPTIMEriga in /etc/default/rcS. Per archiviare i /tmpfile a tempo indeterminato puoi fare:

TMPTIME=infinite

Oppure puoi usare un numero positivo invece di infinitemantenerlo per quel numero di giorni, una volta scaduto il tempo verranno cancellati al prossimo riavvio. Ovviamente se questa riga viene commentata, decommentala.


Si noti che il fatto che /tmpviene cancellato al riavvio è perché /tmpè montato come a tmpfs, che memorizza i suoi file nella RAM (o scambio), perdendo così il suo contenuto dopo averlo smontato.
Darkhogg,

1
@Darkhogg, non è il caso. /tmpi file vengono generalmente cancellati in modo specifico. Ho aggiornato il modo in cui le impostazioni possono essere modificate su sistemi basati su Debian.
Graeme,

Non lo sapevo! +1 a quel commento.
Darkhogg,


1
Quando un file viene aperto in Firefox tramite un plug-in, il plug-in può specificare la modalità di consegna del file: su disco o direttamente in memoria. La maggior parte dei plugin sceglie la memoria.
Segna il

3

Firefox ha una cache per "aprire" i file. Questa cache viene cancellata ogni volta che chiudi Firefox. Se apri quel file con LO e chiudi Firefox noterai che il file scomparirà. Questo è vero per tutti i Firefox indipendentemente da dove sono memorizzati /tmpo meno.


2

Pensi che questo sia il comportamento corretto?

Devo dire che non penso che lo sia. Ma poi sono un po 'di parte, avendo quasi perso sei ore di lavoro a causa di questa stranezza.

Penso che qualsiasi GUI che permetta all'utente di fare qualcosa di potenzialmente disastroso senza avvertirli sia difettosa, non importa quanto "logica" possa essere la decisione progettuale che sta dietro. Questo in particolare quando gli utenti possono fare esattamente la stessa cosa in programmi simili (come Chrome) senza effetti negativi.

Il programma non dovrebbe almeno ricordarti che non stai davvero salvando nulla?

Hmmm ... forse un pop-up con una casella che dice "Non mostrare più questo messaggio" sarebbe utile. Ancora più utile sarebbe una piccola correzione di LibreOffice e programmi simili che avvisano l'utente se il file che stanno salvando viene salvato in / tmp o ovunque. Voglio dire, se premi "salva", ti aspetti che il file venga salvato da qualche parte, giusto?

o c'è un modo per recuperare il file (anche dopo il logout e / o il riavvio)?

Sì, se sei fortunato. Ho avviato il mio computer da un'installazione USB Linux e sono riuscito a recuperare il file usando extundelete.


2

Lasciatemi spiegare. Quando si sceglie "Apri con" anziché "Scarica in" nella finestra di dialogo, il file viene comunque scaricato, a quel punto Firefox apre il file scaricato con l'applicazione. Tuttavia, si presume che non si desideri conservare il file, quindi questo file viene eliminato all'uscita da Firefox. Se avessi voluto tenerlo, dovresti scegliere "Scarica in", o usare "Salva con nome" nella tua applicazione, o semplicemente spostare il file da / var / tmp (dove filefox lo conserva); la cancellazione si applica solo al file nella sua posizione originale.

Si noti che il file viene eliminato anche se l'altra applicazione lo mantiene aperto (in senso tecnico). Su sistemi simili a Unix questo non è un problema: mentre la voce della directory scompare, il file stesso rimane e non verrà eliminato fino a quando l'applicazione non lo chiude [un arresto anomalo a questo punto può lasciare il disco in uno stato incoerente; fsck riporta questa situazione come "inode non collegato"]


-1

Pensi che questo sia il comportamento corretto?

Ovviamente è il comportamento giusto. Succede solo quando non hai scelto di salvare il file ma invece hai scelto di aprirlo . Secondo me, di solito è meglio salvare tutto invece di aprirlo.

Il programma non dovrebbe almeno ricordarti che non stai davvero salvando nulla?

Perché? Se volevi salvare, perché non hai scelto di scaricare il file?

o c'è un modo per recuperare il file (anche dopo il logout e / o il riavvio)?

No. Dovresti copiarlo quando è ancora in tmp.

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.