Где находится временный каталог в Linux?

Есть ли в Linux стандартный временный каталог для общего использования, как в Windows' папка C:\Temp? Если да, то где она находится? Я нашел [вопрос SO о поиске каталога tmp программным путем] (https://stackoverflow.com/questions/31068/how-do-i-find-the-temp-directory-in-linux), но я хочу задать местоположение temp в XML файле конфигурации заранее.

Комментарии к вопросу (2)
Решение

Стандарт Filesystem Hierarchy Standard версии 3.0 гласит:

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

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

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

Обоснование.

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

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

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

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

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

Также в The Open Group Base Specifications Issue 7, Environment Variables упоминается следующее:

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

Комментарии (1)

Это старый вопрос, поэтому на сегодняшний день существует другой доступный вариант. Дистрибутивы Linux опираясь на systemd в(а это 90% из них) могут использовать каталог$XDG_RUNTIME_DIR([спецификация Директории кода валюты XDG][1]) для хранения отдельных видов временных файлов. Это, как правило, находится на/выполнения/пользователей/$Уид. Это для каждого пользователя каталог с700разрешения, который обеспечивает более высокий уровень безопасности. Это файловая система tmpfs Гора, который обеспечивает высокую производительность. Оборотная сторона `файловая система tmpfs заключается в том, что она должна только использоваться для поддержания маленьких файлов и сокетов.

Я смотрю на это как на брак /tmp и в/var/убежать.

[1]: https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html на "кода валюты XDG Base каталог Спецификация на"

Комментарии (1)

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

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

С некоторыми дополнительными подробностями, перечисленными в PDF.

Комментарии (0)

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

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

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

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

Комментарии (3)

Первоначальный вопрос был: есть ли в Linux есть стандартный временный каталог. Если да, то где она находится? В папке tmp(ов) найдено на: файловая система/tmp & Файловой системы/var/tmp в Содержимого /tmp может быть удален, если вы знаете какие файлы/папки не требуется/не требуется различных приложений на собой "как требовалось" на основе. Ненужные файлы, как правило, те, кто скачал приложение, чтобы облегчить само приложение на тот момент только - поэтому не требуются после того, как приложение уже выполняется. В папке /var/tmp не должен быть затронут.

Комментарии (1)