Ubuntu очищает /tmp
при перезагрузке.
Предположим, что моя система неожиданно отключилась, оставив некоторые ценные файлы в /tmp
.
Что я могу сделать после перезагрузки системы, чтобы предотвратить удаление файлов /tmp?
3 ответа
Кредит Крису.C и lesmana From Как очищается каталог /tmp?
На убунуту очистка /tmp выполняется через скрипт в /etc/init/mounting-tmp.conf
Эта очистка выполняется для файла, если с момента создания или изменения этого файла прошло TMPTIME
количество дней.
Значение для TMPTIME
устанавливается в /etc/default/rcS
Чтобы остановить поведение очистки по умолчанию, вы можете либо увеличить значение TMPTIME
до достаточного значения, либо закомментировать последние строки find
в скрипте mount-tmp.conf, которые отвечают за фактическое удаление.
Наконец, может случиться так, что ваша /tmp
файловая система фактически смонтирована как tmpfs, что обычно означает, что файловая система будет отображаться в ОЗУ вместо вашего жесткого диска и не будет сохраняться после перезагрузки.
Это не значение по умолчанию для ubunutu, но вы можете проверить, так ли это в вашей системе, выполнив mount
и просмотрев указанную файловую систему на наличие /tmp
(если она есть в списке).
Чтобы остановить создание /tmp
как tmpfs, вы можете удалить запись для /tmp
из /etc/fstab
Один из вариантов - подключить жесткий диск к другому компьютеру и извлечь файлы из папки tmp на этом компьютере ... Или, если у вас есть система с двойной загрузкой, загрузитесь в другую систему, если эта система поддерживает форматирование диска вашего раздела Ubuntu, а затем извлекайте файлы.
Ответ @ssnobody решает проблему, но это не то, что вы должны делать. Пусть /tmp
и initscripts делают свою работу.
Из Файловой системы Стандарт иерархии 3.0 Глава 3 Раздел 18 о каталоге /tmp
:
3,18. /tmp: временные файлы
Каталог /tmp должен быть доступен для программ, которым требуются временные файлы.
Программы не должны предполагать, что какие-либо файлы или каталоги в /tmp сохраняются между вызовами программы. [...]
Хотя данные, хранящиеся в /tmp, могут быть удалены в зависимости от сайта, рекомендуется, чтобы файлы и каталоги, расположенные в /tmp, удалялись при каждой загрузке системы.
FHS добавил эту рекомендацию на основе исторического прецедента и общепринятой практики, но не сделал ее обязательным требованием, поскольку системное администрирование не входит в сферу применения этого стандарта.
Однако FHS определяет другой каталог для этой цели.
Из Файловой системы Стандарт иерархии 3.0 Глава 5 Раздел 15 о каталоге /var/tmp
:
5,15. /var /tmp: временные файлы сохраняются между перезагрузками системы
Каталог /var /tmp доступен для программ, которым требуются временные файлы или каталоги, которые сохраняются между перезагрузками системы. Поэтому данные, хранящиеся в /var /tmp, более постоянны, чем данные в /tmp.
Файлы и каталоги, расположенные в /var /tmp, не должны удаляться при загрузке системы. Хотя данные, хранящиеся в /var /tmp, обычно удаляются в зависимости от сайта, рекомендуется, чтобы удаление происходило с меньшим интервалом, чем /tmp.
Это идеальное место для размещения временных файлов, которые не так ценны, но вы все равно не хотите терять после неожиданного завершения работы.
В любом случае, работа с ценными файлами во временном каталоге всегда плохая идея. Вы должны работать в вашем домашнем каталоге. Кстати, у вас обычно тоже есть каталог $HOME/tmp
который не очищается после перезагрузки, который вы можете использовать для своих личных временных файлов.