enregistrer dans / tmp n'est pas vraiment économiser?

10

Ouvrez par exemple une pièce jointe à un mail depuis Firefox (sans l'avoir préalablement enregistrée); il s'agit d'un document Libre Office, vous le modifiez, puis appuyez sur Enregistrer (pas sur Enregistrer sous) et fermez l'éditeur de texte et le navigateur. Ensuite, le document disparaît, car il était stocké par défaut dans /tmp. C'est du moins le cas sur mon Ubuntu 12.04.

Pensez-vous que c'est le bon comportement? Le programme ne devrait-il pas au moins vous rappeler que vous ne sauvegardez vraiment rien? ou existe-t-il un moyen de récupérer le fichier (également après déconnexion et / ou redémarrage)?

jj_p
la source

Réponses:

10

En jouant avec cela, je trouve que lorsque vous choisissez d'ouvrir un document avec un programme externe dans Firefox, ce qui se passe est que Firefox télécharge le programme /tmppuis exécute le programme choisi avec le fichier téléchargé comme argument (lire 'ouvre le fichier avec programme choisi »).

Si vous enregistrez ensuite le fichier (sans choisir Save Asou l'équivalent) à partir du programme, il utilisera ce fichier dans /tmp.

Firefox nettoiera ces fichiers temporaires à sa fermeture. Vous pouvez donc récupérer le fichier si vous fermez LibreOffice, mais pas Firefox. Cependant, dès que Firefox sera fermé, le fichier sera supprimé.

Sur la plupart (toutes?) Des distributions, le /tmpdossier sera également vidé au redémarrage (les fichiers /var/tmpdevraient persister plus longtemps).

Notez également que ce comportement est uniquement pour «ouvrir» un fichier avec un programme externe. Si le fichier est ouvert en interne via un plugin ou autre, alors il semble qu'il /tmpn'est pas utilisé (le fichier semble être mis en cache ailleurs avec les pages Web elles-mêmes).

Mettre à jour

Pour référence (je ne recommande pas de le faire à moins que cela ne soit nécessaire), vous pouvez désactiver la suppression de /tmpsur les fichiers lorsque firefox se ferme en utilisant l' browser.helperApps.deleteTempFileOnExitoption. Cela peut être défini via la about:configpage (il suffit de taper ceci dans la barre d'adresse et d'appuyer sur Entrée). S'il existe et existe false, faites un clic droit dessus et choisissez de basculer. Sinon, ajoutez-le en faisant un clic droit-> Nouveau-> Booléen , puis entrez le nom de l'option et choisissez faux.

Pour stocker des /tmpfichiers après le prochain redémarrage sur les systèmes récents basés sur Debian, regardez d'abord /etc/default/tmpfset assurez-vous qu'il n'y a pas de RAMTMP=yesligne. S'il est commenté ( #au début), c'est très bien (s'il était défini, il /tmpserait alors sur un tmpfssystème de fichiers en mémoire et ne serait pas stocké sur le disque). Ensuite, ajoutez ou modifiez la TMPTIMEligne /etc/default/rcS. Pour stocker des /tmpfichiers indéfiniment, vous pouvez faire:

TMPTIME=infinite

Ou vous pouvez utiliser un nombre positif au lieu de infiniteles conserver pendant ce nombre de jours, une fois leur temps écoulé, ils seront supprimés au prochain redémarrage. Évidemment, si cette ligne est commentée, décommentez-la.

Graeme
la source
Notez que le fait qui /tmpest effacé au redémarrage est parce que /tmpest monté en tant que tmpfs, qui stocke ses fichiers dans la RAM (ou swap), perdant ainsi son contenu après l'avoir démonté.
Darkhogg
1
@Darkhogg, pas le cas. /tmples fichiers sont généralement spécifiquement effacés. J'ai mis à jour la façon dont les paramètres peuvent être modifiés sur les systèmes basés sur Debian.
Graeme
Je ne savais pas ça! +1 à ce commentaire.
Darkhogg
1
Lorsqu'un fichier est ouvert dans Firefox via un plugin, le plugin peut spécifier comment il souhaite que le fichier soit livré: sur disque ou directement en mémoire. La plupart des plugins choisissent la mémoire.
Mark
3

Firefox a un cache pour "ouvrir" les fichiers. Ce cache est vidé à chaque fois que vous fermez Firefox. Si vous ouvrez ce fichier avec LO et fermez Firefox, vous remarquerez que le fichier disparaîtra. Cela est vrai pour tous les Firefox indépendamment où ils sont stockés /tmpou non.

Braiam
la source
2

Pensez-vous que c'est le bon comportement?

Je dois dire que je ne le pense pas. Mais je suis un peu biaisé, ayant presque perdu six heures de travail à cause de cette bizarrerie.

Je pense que toute interface graphique qui permet à l'utilisateur de faire quelque chose de potentiellement désastreux sans l'avertir est imparfaite, quelle que soit la «logique» de la décision de conception derrière. Cela est particulièrement vrai lorsque les utilisateurs peuvent faire exactement la même chose dans des programmes similaires (comme Chrome) sans aucun effet néfaste.

Le programme ne devrait-il pas au moins vous rappeler que vous ne sauvegardez vraiment rien?

Hmmm ... peut-être qu'un pop-up avec une case à cocher disant "Ne plus afficher ce message" serait utile. Encore plus utile serait un petit correctif pour LibreOffice et des programmes similaires avertissant l'utilisateur si le fichier qu'ils enregistrent est enregistré dans / tmp ou ailleurs. Je veux dire, si vous appuyez sur "enregistrer", vous vous attendez à ce que le fichier soit enregistré quelque part, non?

ou existe-t-il un moyen de récupérer le fichier (également après déconnexion et / ou redémarrage)?

Oui, si tu as de la chance. J'ai démarré mon ordinateur à partir d'une installation usb linux et j'ai réussi à récupérer le fichier en utilisant extundelete.

Matt_M
la source
2

Laissez-moi expliquer. Lorsque vous choisissez "Ouvrir avec" par opposition à "Télécharger vers" dans la boîte de dialogue, le fichier est toujours téléchargé, à quel point Firefox ouvre le fichier téléchargé avec l'application. Cependant, l'hypothèse est que vous ne vouliez pas conserver le fichier, donc ce fichier est supprimé à la fermeture de firefox. Si vous aviez voulu le conserver, vous devriez être choisi "Télécharger vers", ou utiliser "Enregistrer sous" dans votre application, ou simplement déplacer le fichier hors de / var / tmp (où filefox le conserve); la suppression s'applique uniquement au fichier dans son emplacement d'origine.

Notez que le fichier est supprimé même si l'autre application le maintient ouvert (au sens technique). Sur les systèmes de type Unix, ce n'est pas un problème: pendant que l'entrée du répertoire disparaît, le fichier lui-même reste et ne sera pas supprimé jusqu'à ce que l'application le ferme [un crash à ce stade peut laisser le disque dans un état incohérent; fsck rapporte cette situation comme un "inode non lié"]

Lior Silberman
la source
-1

Pensez-vous que c'est le bon comportement?

Bien sûr, c'est le bon comportement. Cela ne se produit que lorsque vous n'avez pas choisi d' enregistrer le fichier mais avez plutôt choisi de l' ouvrir . À mon avis, il est généralement préférable de tout enregistrer au lieu de l'ouvrir.

Le programme ne devrait-il pas au moins vous rappeler que vous ne sauvegardez vraiment rien?

Pourquoi? Si vous vouliez sauvegarder, pourquoi n'avez-vous pas choisi de télécharger le fichier?

ou existe-t-il un moyen de récupérer le fichier (également après déconnexion et / ou redémarrage)?

Nan. Il faudrait le copier quand il est encore en tmp.

Pavel Šimerda
la source