Как почистить / тмп?

rizhas@rizhas-laptop:~$ df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda7        67G   58G  5,2G  92% /
none            4,0K     0  4,0K   0% /sys/fs/cgroup
udev            1,5G   12K  1,5G   1% /dev
tmpfs           303M  1,2M  302M   1% /run
none            5,0M     0  5,0M   0% /run/lock
none            1,5G  348K  1,5G   1% /run/shm
none            100M   80K  100M   1% /run/user
overflow        1,0M  1,0M     0 100% /tmp
overflow        1,0M  1,0M     0 100% /tmp

Как убирать /tmp?

9 ответов

/tmp должен быть очищен при перезагрузке, но если вы не перезагрузитесь (что нормально для серверов), очистка не произойдет

find /tmp -ctime +10 -exec rm -rf {} +

удалит все файлы и папки старше 10 дней. Вы можете добавить его в ежедневный хрон.


ОБНОВИТЬ

В комментариях ниже @sfussenegger рекомендует немного другой формат этой команды, который может лучше соответствовать вашим потребностям и системе, в которой вы работаете.

sudo find /tmp -type f -atime +10 -delete

Здесь команда использует sudo чтобы убедиться, что все удалено (или вы можете запустить его как root), работая с файлами, к которым не было доступа более 10 дней, и удаляя только файлы, а не папки. Он также использует -delete чтобы избежать необходимости выполнять rm команда

Вы можете предположить, что все, что находится в каталоге tmp (/tmp/ /usr/tmp и т. Д.), Может быть удалено. ПЕРЕД тем, как вы начнете удалять, остановите все программы и службы, которые вы используете, поскольку / tmp / могут использоваться программами для временного хранения информации для этого сеанса. Так сделай sudo service mysql stop а также sudo service apache2 stop если у вас работает mysql и / или apache. Названия файлов в каталоге / tmp / чаще всего дают представление о том, к какой программе они принадлежат.

Так что из командной строки...

cd /tmp/
pwd
sudo rm -r *

очистит каталог / tmp / и удалит все файлы и подкаталоги. Будьте осторожны, чтобы набрать его правильно. Команда pwd там нет необходимости, но должен показать /tmp,

Если вы хотите это в интерактивном режиме (поэтому вам нужно подтвердить удаление):

cd /tmp/
sudo rm -ri *

Также стоит отметить, что перезагрузка очистит / tmp так же, как показано здесь: Как очищается каталог / tmp? Поэтому, если / tmp / заполнен файлами после перезагрузки, вам нужно выяснить, откуда эти файлы происходят.

Я также хотел бы заявить, что 1 Мб для / tmp не много места. Вы используете MySQL? Смотрите https://unix.stackexchange.com/a/76058/10017 о том, как это исправить (спасибо @drc)

tmpreaper Программа может использоваться для очистки / TMP периодически. Эта программа удаляет все, к чему не обращались в течение определенного периода времени, обычно две недели. Для того, чтобы это работало правильно, файловая система должна иметь atimes опция включена. Если вы используете tmpfs, что, по-видимому, вы делаете, то все будет в порядке.

Конечно, перезагрузка также очищает / tmp, но это было бы скучно.

Каталог /tmp значит временный.

В этом каталоге хранятся временные данные. Вам не нужно ничего удалять из него, содержащиеся в нем данные автоматически удаляются после каждой перезагрузки.

Еще если хочешь удалить имеющиеся в нем данные используй

sudo rm -r /tmp/*

удаление из него не вызовет никаких проблем, так как это временные файлы.

Будьте осторожны перед выполнением такой команды, как rm -r ./*, Как только вы запустите его, будет очень трудно или невозможно восстановить какие-либо данные.

Все будет удалено. Убедитесь, что каталог, в котором вы удаляете, является правильным.

Есть более безопасный способ справиться с вещами.

# sudo rm -r /tmp/*

Таким образом, когда вы случайно запускаете эту команду изнутри вашей оболочки history, он не удалит неправильные файлы (если вы не храните их в /tmp).

/tmp каталог очищался по умолчанию при каждой загрузке, потому что TMPTIME является 0 по умолчанию.

Если ваше монтирование "/tmp" в файловой системе linux монтируется как переполнение (часто размером 1 МБ), это, вероятно, связано с тем, что вы не указали "/tmp" в качестве своего собственного раздела, а ваша корневая файловая система заполнена, а "/tmp" был перемонтирован как запасной вариант. Чтобы исправить это после того, как вы очистили пространство, просто размонтируйте запасной вариант, и он должен перемонтироваться в исходной точке:

sudo umount overflow

если устройство занято, используйте

sudo umount -l overflow

использовать встроенныйtmpfiles.dвместо. Проверьте этот ответ: /questions/125810/kak-ochischaetsya-katalog-tmp/125825#125825

Я думаю, что правильный ответ заключается в том, что Ubuntu 16.10 имеет новую настройку. Существует папка /etc/tmpfiles.d, описанная на справочной странице "tmpfiles.d". В эту папку следует поместить файл конфигурации, чтобы контролировать, нужно ли стирать /tmp. Это то, что я делаю, чтобы перезагрузка не стирала файлы в /tmp, если им не исполнилось 20 дней:

#/etc/tmpfiles.d/tmp.conf

d /tmp 1777 root root 20d Замените «20d» на «-», если вы никогда не хотите удалять файлы. Это моя лучшая попытка, эта справочная страница почти непроницаема для деталей.

Вот что сработало для меня:

sudo reboot

После того, как безудержный процесс заполнил мой диск через /tmpсправочник, я тоже считал rm -rf /tmp/*но вместо этого просто перезагрузился и dfмоего корневого каталога ушел из 99%полный до 77%полный.

Снова звучит старая пословица: «Вы выключили его, а затем снова включили?»

Другие вопросы по тегам