Где хранятся временные файлы linux

Обновлено: 04.07.2024

Чтобы узнать, сколько места доступно в / tmp в вашей системе, введите df -k / tmp. Не используйте / tmp, если доступно менее 30% пространства. Удалите файлы, когда они больше не нужны.

Как мне найти временные файлы в Linux?

Каталог / var / tmp доступен для программ, которым требуются временные файлы или каталоги, которые сохраняются между перезагрузками системы. Следовательно, данные, хранящиеся в / var / tmp, более постоянны, чем данные в / tmp. Файлы и каталоги, расположенные в / var / tmp, не должны удаляться при загрузке системы.

Как проверить объем памяти в Linux?

Как проверить свободное место на диске в Linux

  1. df. Команда df означает «свободное от диска» и показывает доступное и используемое дисковое пространство в системе Linux. …
  2. ду. Терминал Linux. …
  3. ls -al. ls -al перечисляет все содержимое определенного каталога вместе с его размером. …
  4. стат. …
  5. fdisk -l.

Как мне узнать, где установлен мой TMP?

Чтобы быть более точным, вы должны запустить df / tmp /: если / tmp является символической ссылкой, тогда df / tmp перечисляет информацию о расположении символической ссылки, тогда как df / tmp / выводит информацию о целевом каталоге. Упоминание / dev / root в столбце устройства связано с тем, что он указан в / etc / mtab.

Как мне добавить больше места в TMP Linux?

Это должно дать вам раздел размером 1 МБ (как и тот, который у вас был = P). Теперь, чтобы увеличить размер, вы увеличиваете размер в этой строке, так что с size = 10485760 вы получите 10 МБ. Чтобы сделать 2: Откройте терминал и запустите sudo umount / tmp или, если это не удается, sudo umount -l / tmp.

Что такое TMP в Linux?

В Unix и Linux глобальные временные каталоги - это / tmp и / var / tmp. Веб-браузеры периодически записывают данные в каталог tmp во время просмотра и загрузки страниц. Обычно / var / tmp предназначен для постоянных файлов (поскольку он может сохраняться при перезагрузке), а / tmp - для дополнительных временных файлов.

Как очистить временные файлы в Linux?

Как очистить временные каталоги

Что произойдет, если в Linux заполнен TMP?

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

Где в Ubuntu хранятся временные файлы?

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

Как очистить дисковое пространство в Linux?

Освобождение дискового пространства на вашем сервере Linux

  1. Зайдите в корень вашей машины, запустив cd /
  2. Запустите sudo du -h –max-depth = 1.
  3. Обратите внимание, какие каталоги занимают много места на диске.
  4. cd в один из больших каталогов.
  5. Запустите ls -l, чтобы увидеть, какие файлы занимают много места. Удалите все, что вам не нужно.
  6. Повторите шаги с 2 по 5.

Как освободить память в Linux?

Как очистить кэш оперативной памяти, буфер и пространство подкачки в Linux

Что Du делает в Linux?

Команда du - это стандартная команда Linux / Unix, которая позволяет пользователю быстро получить информацию об использовании диска. Лучше всего его применять к определенным каталогам и допускает множество вариантов настройки вывода в соответствии с вашими потребностями.

Как мне проверить свой TMP Noexec?

Как мне проверить, существует ли флаг «noexec» в ОС Linux?

  1. Запустите Терминал и используйте одну из следующих команд: findmnt -l | grep noexec. ИЛИ. …
  2. Использование приведенных выше команд покажет, есть ли точка монтирования с флагом «noexec».
  3. Если в списке есть / var или / usr, вы должны удалить флаг «noexec» с помощью следующей команды: mount -o remount, rw, exec / var.

Где монтируется Tmpfs?

glibc 2.2 и выше ожидает, что tmpfs будет смонтирован в / dev / shm для общей памяти POSIX. Монтирование tmpfs в / dev / shm выполняется автоматически системой systemd, и ручная настройка в fstab не требуется. Как правило, для задач и программ, выполняющих частые операции чтения / записи, можно использовать папку tmpfs.

Хранится ли TMP в оперативной памяти?

При монтировании / tmp на tmpfs все временные файлы помещаются в ОЗУ. … В этом случае память tmpfs может быть выгружена, как и другие страницы в системе, но во многих случаях временный файл будет создан без необходимости какого-либо дискового ввода-вывода.

Есть ли у Linux стандартный временный каталог для общего использования, например, в папке Windows C:\Temp ? Если да, то где он находится? Я нашел вопрос о поиске кода tmp программно , но я хочу установить временное местоположение в файле конфигурации XML раньше времени.

4 ответа

/tmp: временные файлы

Каталог /tmp должен быть доступен для программ, требующих временные файлы.

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

Обоснование

Стандарт IEEE POSIX.1-2008 содержит требования, аналогичные приведенному выше разделу. Хотя данные, хранящиеся в /tmp , могут быть удалены с помощью сайта, рекомендуется удалить файлы и каталоги, расположенные в /tmp всякий раз, когда система загружается.

FHS добавила эту рекомендацию на основе исторического прецедента и общих практики, но не требовали этого, поскольку системное администрирование не входит в рамки настоящего стандарта.

/var /tmp: временные файлы, сохраненные между перезагрузкой системы

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

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

TMPDIR Эта переменная должна представлять собой путь к директории, доступной для программ, которым требуется место для создания временных файлов.

Да /tmp для общего использования. См. здесь и здесь В стандарте иерархии файловой системы.

/tmp /Временные файлы (см. также /var /tmp). Часто не сохраняется между перезагрузкой системы.

С более подробной информацией, указанной в PDF.

Это старый вопрос, так что сегодня есть еще один доступный вариант. Linux-дистрибутивы, полагающиеся на systemd (что составляет 90% из них) теперь могут использовать $XDG_RUNTIME_DIR ( Спецификация базового каталога XDG ) для хранения определенных типов временных файлов. Он обычно находится в /run/user/$uid . Это каталог для каждого пользователя с разрешениями 700 , который обеспечивает лучшую безопасность. Это mount tmpfs , который обеспечивает производительность. Недостатком tmpfs является то, что его следует использовать только для хранения небольших файлов и сокетов.

Я рассматриваю это как брак /tmp и /var/run

Вы не можете выбрать одно временное имя каталога раньше времени, которое будет работать для любой системы Linux. Фактически, вы также не можете делать это в Windows. Согласно статье статьи о временных папках Wikipedia временный каталог в Windows определяется переменной окружения TEMP , Если вы просто использовали c:\Temp как временный каталог в системе Windows, который устанавливает TEMP на что-то еще, тогда любая программа, использующая ваш XML-файл, выбор временного каталога не удался.

Короче говоря, временный каталог системы определяется средой во всех современных операционных системах, о которых я знаю, включая как Windows, так и любую UNIX-подобную систему. Установка одного статического пути в качестве временного каталога будет работать только до тех пор, пока значения по умолчанию не будут изменены.

В любом случае, стандартный временный каталог в типичной системе Linux - это /tmp . Это эквивалент C:\Temp в том смысле, что это only временный каталог по умолчанию, а не универсальный. Даже если доступен /tmp , если пользователь (или система) установил переменную среды TEMP, значение этой переменной должно быть использовано вместо этого.

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

Иногда программе требуется создать временный файл, например для промежуточного хранения большого объема данных или для передачи данных другой программе. В системах GNU/Linux временные файлы хранятся в каталоге /tmp. Работая с временными файлами, необходимо помнить о следующих ловушках.

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

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

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

В Linux имеются функции mkstemp() и tmpfile(), решающие все вышеперечисленные проблемы. Выбор между ними делается на основании того, должен ли временный файл передаваться другой программе и какие функции ввода-вывода будут применяться при работе с файлом: низкоуровневые (read(), write() и т.д.) или потоковые (fopen(), fprintf() и т.д.).

Функция mkstemp() генерирует уникальное имя файла на основании переданного ей шаблона, создает временный файл с правами, разрешающими доступ к нему только для текущего пользователя, и открывает файл в режиме чтения/записи. Шаблон имени — это строка, оканчивающаяся последовательностью "XXXXXX" (шесть прописных букв "X"). Функция mkstemp() заменяет каждую букву произвольным символом таким образом, чтобы получилось уникальное имя, и возвращает дескриптор файла. Запись в файл осуществляется с помощью функций семейства write().

Временные файлы, создаваемые функцией mkstemp(), не удаляются автоматически. Ответственность за это возлагается на того, кто запускает программу. (Программисты должны внимательно следить за удалением временных файлов, иначе файловая система /tmp рано или поздно переполнится, приведя всю систему в нерабочее состояние.) Если файл создан для внутреннего использования и не предназначен для передачи другой программе, по окончании работы с ним нужно сразу же вызвать функцию unlink(). Она удаляет из каталога ссылку на файл, но сам файл остается до тех пор, пока не будут закрыты все ссылающиеся на него дескрипторы. Таким образом, программа может продолжать использовать временный файл; он будет удален автоматически сразу после закрытия дескриптора. Операционная система закрывает дескрипторы файлов по окончании работы программы, так что временный файл будет удален даже в случае аварийного завершения программы.

В листинге 2.5 показаны две функции, работающие с временным файлом. Будучи примененными в связке, они позволяют легко переносить содержимое буферов из операторной памяти во временный файл (это дает возможность освобождать и повторно использовать память), а затем загружать данные из файла обратно в память.

Листинг 2.5. (temp_file.c) Использование функции mkstemp()

/* дескриптор временного файла, созданного в функции

typedef int temp_file_handle;

/* Запись указанного числа байтов из буфера во временный файл.

Ссылка на временный файл немедленно удаляется. Возвращается

дескриптор временного файла. */

temp_file_handle write_temp_file(char* buffer, size_t length)

/* Создание имени файла и самого файла. Цепочка XXXXXX будет

заменена символами, которые сделают имя уникальным. */

char temp_filename() = "/tmp/temp_file.XXXXXX";

int fd = mkstemp(temp_filename);

/* немедленное удаление ссылки на файл, благодаря чему он будет

удален сразу же после закрытия дескриптора файла. */

/* Сначала в файл записывается число, определяющее размер

write(fd, &length, sizeof(length));

/* теперь записываем сами данные. */

write(fd, buffer, length);

/* Возвращаем дескриптор файла. */

/* Чтение содержимого временного файла, созданного в функции

write_temp_file(). Создается и возвращается буфер с содержимым

файла. Этот буфер должен быть удален в вызывающей подпрограмме

с помощью функции free(). В параметр LENGTH записывается размер

буфера в байтах. В конце временный файл удаляется. */

char* read_temp_file(temp_file_handle temp_file, size_t* length)

/* TEMP_FILE -- это дескриптор временного файла. */

int fd = temp_file;

/* переход в начало файла. */

lseek(fd, 0, SEEK_SET);

/* Определение объема данных, содержащихся во временном файле. */

read(fd, length, sizeof(*length));

/* Выделение буфера и чтение данных. */

read(fd, buffer, *length);

/* Закрытие дескриптора файла, что приведет к уничтожению

Если в программе используются функции потокового ввода-вывода библиотеки языка С и передавать временный файл другой программе не нужно, то для работы с временным файлом больше подойдет функция tmpfile(). Она создает и открывает временный файл, возвращая файловый указатель на него. Ссылка на файл уже оказывается удаленной, благодаря чему он уничтожается автоматически при закрытии указателя (с помощью функции fclose()) или при завершении программы.

В Linux есть ряд других функций, предназначенных для генерирования временных файлов или их имен, в частности mktemp(), tmpnam() и tempnam(). Работать с ними нежелательно, поскольку возникают упоминавшиеся выше проблемы, связанные с надежностью и безопасностью.

Временные характеристики процесса

Временные характеристики процесса Воспользовавшись функцией GetProcessTimes, которая в Windows 9x отсутствует, можно получить различные временные характеристики процесса, а именно: истекшее время (elapsed time), время, затраченное ядром (kernel time), и пользовательское время (user time). BOOL

Пример: временные характеристики процессов

Пример: временные характеристики процессов Наш следующий пример (программа 6.2) представляет собой команду timep (от time print — вывод временных параметров), аналогичную UNIX-команде time (поскольку команда time поддерживается процессором командной строки, мы должны использовать для

Временные серверы для Linux

Временные серверы для Linux Сервер NTP для работы в Linux реализуется с помощью программы ntp или ее разновидностей: xntp, xntp3 и xntpd. Символ x в начале имени означает "экспериментальный" (experimental), что не совсем верно, так как эти программы успешно используются в течение нескольких лет.

7. Временные рамки

7. Временные рамки «Как сделать что-то за 15 минут» – это может быть небольшая статья, где вы даете алгоритм решения той или иной проблемы за три минуты. Это очень хорошее название для статей и видео. Вы планируете записать бесплатный каст на 15 минут, в котором

Временные диаграммы усилителей

Временные диаграммы

Временные диаграммы Чтобы получить временные диаграммы входного и выходного напряжений, необходимо слегка изменить входной файл. Как и в предыдущем примере, будет использовано синусоидальное входное напряжение:Vi 1 0 sin (0 0. 5V 5kHz)Наряду с анализом переходных процессов

R.12.2 Временные объекты

R.12.2 Временные объекты В некоторых ситуациях транслятору бывает необходимо или удобно создавать временные объекты. Использование временных объектов зависит от реализации. Если транслятору понадобился временный объект типа класса с конструктором, он должен обеспечить

7.2.6.1. Временные файлы

7.2.6.1. Временные файлы Использование временных файлов в качестве буферов обмена данными является старейшей из существующих IPC-методик. Несмотря на недостатки, она остается удобной в сценариях командных интерпретаторов и одноразовых программах, где более сложный и

7.2.6.1. Временные файлы

7.2.6.1. Временные файлы Использование временных файлов в качестве буферов обмена данными является старейшей из существующих IPC-методик. Несмотря на недостатки, она остается удобной в сценариях командных интерпретаторов и одноразовых программах, где более сложный и

Исходные файлы и выполняемые файлы

Временные значения

Временные значения CURRENT_CONNECTION и CURRENT_TRANSACTION не имеют смысла вне текущего соединения и контекста транзакции соответственно. Сервер Firebird сохранит самые последние значения этих идентификаторов в заголовочной странице базы данных. После восстановления базы данных из

Временные таблицы

Временные таблицы Firebird не поддерживает временные таблицы, которые управляются системой. Здесь они меньше нужны, чем в других СУБД. Например, у Firebird есть возможность получать виртуальные таблицы напрямую через хранимую процедуру, написанную с использованием

Постоянные "временные" таблицы

Постоянные "временные" таблицы Популярная модель хранения временных данных для доступа приложений - определить постоянную структуру данных, которая включает "идентификатор сессии" или "идентификатор пакета", получающие значение от генератора, или, в Firebird 1.5,значение

Временные файлы проектов

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

То есть бывают действительно критические ситуации — в этих условиях перестают нормально работать многие программы и службы. Поэтому задача становится следующей: срочно любой ценой освободить место на диске, чтобы можно было продолжить обслуживание системы и перейти ко второму этапу — поиску директорий и папок, которые привели к этой проблеме из-за того, что стали занимать слишком много места.

Предупрежу заранее: следующие команды хотя в основном и удаляют бесполезные файлы, после их выполнения могут потребоваться такие действия как:

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

Это означает, что НЕ копируйте бездумно команды — читайте пояснения к ним и оценивайте, насколько они безболезненны для вашей ситуации.

1. Удаление временных файлов

Файлы в папке /tmp/ будут удалены в любом случае при следующей перезагрузки системы. То есть с одной стороны их можно удалить достаточно безболезненно:

НО: может быть нарушена работа программ, которые запущены в настоящее время и которые сохранили какие-то данные в папку /tmp/.

2. Удаление файлов кэширования

В директории /var/cache/ много поддиректорий, которые можно удалить практически безболезненно (данные утеряны не будут, а программы создадут новые файлы кэширования). Эта директория вызывает особый интерес, поскольку на которых системах кэши разрастаются на гигабайты и десятки гигабайт. Иногда поиск проблемной директории в /var/cache/ может окончательно решить ситуацию с нехваткой места на диске.

Для удаления кэша шрифтов:

Для удаления кэша установочных пакетов (на Debian, Linux Mint, Ubuntu, Kali Linux и их производных):

Для удаления кэша установочных пакетов (на Arch Linux, BlackArch и их производных):

Удаление кэша справочных страниц:

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

3. Удаление логов (журналов)

На веб-серверах могут разрастись слишком сильно журналы веб-сервера.

Для удаления логов Apache на Debian, Linux Mint, Ubuntu, Kali Linux и их производных:

Для удаления логов Apache на Arch Linux, BlackArch и их производных:

Чтобы сервер начал создавать новые файлы журналов и записывать в них, нужно перезапустить службу веб-сервера.

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

4. Очистите корзину

Этот совет больше для настольных систем. Файлы, которые вы удалили в графическом интерфейсе рабочего стола, попадают в папку

/.local/share/Trash/files/, вы можете проанализировать их и при желании удалить (второй раз):

5. Удаление ненужных файлов исходного кода заголовков ядра

Следующее актуально только для Debian, Linux Mint, Ubuntu, Kali Linux и их производных. Проверьте папку /usr/src/, там будут подпапки вида linux-headers- - большинство из них можно удалить — оставьте только ту, номер которой соответствует текущему ядру системы — обычно это самый последний номер выпуска.

6. Удаление осиротевших пакетов

Осиротевшие пакеты — это те пакеты (программы), которые устанавливались в качестве зависимостей для других программ. Но по разным причинам они больше не нужны: или удалена программа, которая их использовала, или для той программы они перестали быть зависимостями после обновления программы.


На Debian, Linux Mint, Ubuntu, Kali Linux и их производных удалить ненужные пакеты можно следующим образом:


Для Debian и производных предыдущая команда абсолютно безопасна.

В Arch Linux и производных список осиротевших пакетов можно увидеть следующим образом:

Прежде чем переходить к их автоматическому удалению, настоятельно рекомендуется изучить этот список!

Для рекурсивного удаления сироток и их конфигурационных файлов в Arch Linux и производных:


Если осиротевшие пакеты не были найдены, pacman завершит работу с ошибкой: ошибка: не задано целей (для справки используйте -h). Это ожидаемо, поскольку pacman -Rns не получил аргументов.

7. Очистка журналов systemd

Со временем, в некоторых системах логи системы начинают занимать гигабайты на жёстком диске. Просмотреть журналы и освободить место вы можете с помощью команды journalctl, подробности смотрите в статье «Как использовать journalctl для просмотра системных логов Linux».

Чтобы увидеть, сколько место занимают журналы, выполните:

Чтобы удалить все записи, оставив только записей на 100 мегабайт, выполните:

Либо для удаления всех записей в системном журнале, старше одной недели:

8. Файлы в директории /lost+found

В папку /lost+found сохраняются файлы, которые были найдены после проверки файловой системы диска. Обычно такие проверки выполняются после внезапной перезагрузки системы или в случае признаков проблем с диском.

Найденные файлы обычно повреждены. Их цель — сохранить данные, которые в случае исправления ошибок на файловой системе были бы совсем утеряны.

Папка /lost+found может быть пустой (если не было проблем с диском). В случае если там есть файлы, то вы можете их просмотреть и, при желании, удалить.

9. Очистка PHP сессий

Иногда веб-приложений из-за бага могут создать бесчисленное количество сессий. Проверьте директорию /var/lib/php/sessions/ на предмет слишком большого количества файлов.

(БОНУС) 10. Проанализируйте файлы Docker

Самой большой папкой является /var/lib/docker/overlay2/. Для анализа занимаемого места на диске выполните:

Заключение

Итак, мы рассмотрели, какие файлы можно удалить из Linux практически без потери информации. Кроме рассмотренных директорий, которые можно очистить как на удалённой системе с веб-сервером, так и на домашнем компьютере, пользователям с графическим рабочим столом следует обратить внимание на такие директории как:

Их НЕ нужно удалять, но стоит проанализировать. Например, вы можете выяснить, что веб-браузер на вашем компьютере имеет кэш в несколько гигабайт и что вы можете их освободить (рекомендуется делать средствами веб-браузера, а не удалять файлы напрямую).

Если я пропустил какие-то директории с файлами, которые можно безболезненно удалить, то пишите их в комментариях!

Читайте также: