2

Ubuntu очищает /tmp при перезагрузке. Предположим, что моя система неожиданно отключилась, оставив некоторые ценные файлы в /tmp . Что я могу сделать после перезагрузки системы, чтобы предотвратить удаление файлов /tmp?

3 ответа3

2

Кредит Крису.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

1

Один из вариантов - подключить жесткий диск к другому компьютеру и извлечь файлы из папки tmp на этом компьютере ... Или, если у вас есть система с двойной загрузкой, загрузитесь в другую систему, если эта система поддерживает форматирование диска вашего раздела Ubuntu, а затем извлекайте файлы.

1

Ответ @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 который не очищается после перезагрузки, который вы можете использовать для своих личных временных файлов.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .