Откройте, например, приложение электронной почты из Firefox (без его сохранения); это документ Libre Office, вы его редактируете, а затем нажмите save (не сохраняйте как) и закройте как текстовый редактор, так и браузер. Затем документ исчезает, поскольку он был сохранен по умолчанию в /tmp
. По крайней мере, это относится к моему Ubuntu 12.04.
Считаете ли вы, что это правильное поведение? Разве программа не должна напоминать вам, что вы ничего не спасаете? или есть способ восстановить файл (также после выхода из системы и / или перезагрузки)?
Играя с этим, я обнаружил, что, когда вы выбираете открыть документ с помощью внешней программы в Firefox, происходит то, что Firefox загружает программу в /tmp
а затем запускает выбранную программу с загруженным файлом в качестве аргумента (read 'открывает файл с выбранной программой »).
Если вы затем сохраните файл (не выбрав « Save As
или его эквивалент) из программы, он будет использовать этот файл в /tmp
.
Firefox будет очищать эти временные файлы, когда он закрывается. Таким образом, вы можете восстановить файл, если вы закроете LibreOffice, но не Firefox. Однако, как только Firefox будет закрыт, файл будет удален.
В большинстве (всех?) Дистрибутивов папка /tmp
также будет опустошена при перезагрузке (файлы в /var/tmp
должны сохраняться дольше).
Также обратите внимание, что это поведение только для «открытия» файла с внешней программой. Если файл открывается внутренне через плагин или иначе, то он отображается /tmp
не используется (файл, как представляется, кэшируется в другом месте вместе с самими веб-страницами).
Для справки (я не рекомендую это делать, если это необходимо), вы можете отключить удаление файлов /tmp
при закрытии Firefox, используя параметр browser.helperApps.deleteTempFileOnExit
. Это можно установить на странице about:config
(просто введите это в адресной строке и нажмите клавишу ввода). Если он существует и является false
, просто щелкните его правой кнопкой мыши и выберите переключатель. В противном случае добавьте его, выполнив правый щелчок-> новый-> логический , затем введите имя параметра и выберите значение false.
Чтобы сохранить /tmp
файлы после следующей перезагрузки в последних системах на базе Debian, сначала посмотрите на /etc/default/tmpfs
и убедитесь, что нет RAMTMP=yes
. Если он закомментирован ( #
в начале), это нормально (если он был установлен, то /tmp
будет находиться в файловой системе tmpfs
в памяти и не будет храниться на диске). Затем добавьте или измените строку TMPTIME
в /etc/default/rcS
. Чтобы хранить /tmp
файлы неограниченно, вы можете:
TMPTIME=infinite
Или вы можете использовать положительное число вместо infinite
чтобы сохранить их в течение этого количества дней, как только их время закончится, они будут удалены при следующей перезагрузке. Очевидно, если эта строка закомментирована, раскомментируйте ее.
У Firefox есть кэш для «открытия» файлов. Этот кеш очищается каждый раз, когда вы закрываете Firefox. Если вы откроете этот файл с помощью LO и закройте Firefox, вы заметите, что файл исчезнет. Это верно для всех Firefox независимо, они хранятся в /tmp
или нет.
Считаете ли вы, что это правильное поведение?
Я должен сказать, что я не думаю, что это так. Но потом я немного предвзятый, почти потеряв шесть часов работы из-за этой причуды.
Я думаю, что любой графический интерфейс, который позволяет пользователю делать что-то потенциально катастрофическое без предупреждения, является ошибочным, независимо от того, насколько логичным может быть решение по дизайну. Это особенно важно, когда пользователи могут делать то же самое в подобных программах (например, в Chrome) без каких-либо негативных последствий.
Разве программа не должна напоминать вам, что вы ничего не спасаете?
Хм … возможно, всплывающее окно с надписью «Не показывать это сообщение снова» было бы полезно. Еще более полезным было бы небольшое исправление для LibreOffice и подобных программ, предупреждающих пользователя, если сохраненный файл сохраняется в / tmp или где угодно. Я имею в виду, если вы нажмете «сохранить», вы ожидаете, что файл будет где-то сохранен, верно?
или есть способ восстановить файл (также после выхода из системы и / или перезагрузки)?
Да, если тебе повезет. Я загрузил свой компьютер из установки usb linux и смог восстановить файл с помощью extundelete.
Позволь мне объяснить. Когда вы выбираете «Открыть с», а не «Загрузить в» в диалоговом окне, файл все еще загружается, и в этот момент Firefox открывает загруженный файл с приложением. Однако предполагается, что вы не хотите хранить файл, поэтому он удаляется при выходе из Firefox. Если вы хотели сохранить его, вы должны выбрать «Загрузить в» или использовать «Сохранить как» в своем приложении или просто перенести файл из / var / tmp (где filefox сохраняет его); удаление применяется только к файлу в исходном местоположении.
Обратите внимание, что файл удаляется, даже если другое приложение сохраняет его (в техническом смысле). В Unix-подобных системах это не проблема: в то время как запись в каталоге исчезает, сам файл остается и не будет удален до тех пор, пока приложение не закроет его [сбой в этой точке может привести к тому, что диск будет находиться в несогласованном состоянии; fsck сообщает об этой ситуации как «несвязанный inode»]
Считаете ли вы, что это правильное поведение?
Конечно, это правильное поведение. Это происходит только тогда, когда вы не решили сохранить файл, но вместо этого решили открыть его. На мой взгляд, обычно лучше спасать все, а не открывать.
Разве программа не должна напоминать вам, что вы ничего не спасаете?
Зачем? Если вы хотите сохранить, почему вы не решили загрузить файл?
или есть способ восстановить файл (также после выхода из системы и / или перезагрузки)?
Неа. Вам придется копировать его, когда он все еще находится в tmp.