Дополнительно
Где находится временный каталог в Linux?
Есть ли в Linux стандартный временный каталог для общего использования, как в Windows' папка C:\Temp
? Если да, то где она находится? Я нашел [вопрос SO о поиске каталога tmp
программным путем] (https://stackoverflow.com/questions/31068/how-do-i-find-the-temp-directory-in-linux), но я хочу задать местоположение temp в XML файле конфигурации заранее.
63
5
Стандарт Filesystem Hierarchy Standard версии 3.0 гласит:
Также в The Open Group Base Specifications Issue 7, Environment Variables упоминается следующее:
Это старый вопрос, поэтому на сегодняшний день существует другой доступный вариант. Дистрибутивы 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 каталог Спецификация на"
Да, /tmp предназначен для общего использования. См. здесь и здесь о стандарте иерархии файловых систем.
С некоторыми дополнительными подробностями, перечисленными в PDF.
Вы не можете заранее выбрать одно имя временного каталога, которое будет работать в любой системе Linux. На самом деле, вы не можете сделать этого и в Windows. Согласно Wikipedia's article on temporary folders, временный каталог в Windows определяется переменной окружения TEMP. Если бы вы просто использовали
c:\Temp
в качестве временного каталога в системе Windows, которая установила TEMP на что-то другое, то любая программа, использующая ваш XML-файл для выбора временного каталога, потерпела бы неудачу.Короче говоря, системный временный каталог определяется окружением во всех известных мне современных операционных системах, включая как Windows, так и любые UNIX-подобные системы. Установка единственного статического пути в качестве временного каталога будет работать только до тех пор, пока настройки по умолчанию не будут изменены.
В любом случае, стандартный временный каталог в типичной системе Linux - это
/tmp
. Это эквивалентC:\Temp
в том смысле, что это только временный каталог по умолчанию, а не универсальный. Даже если/tmp
доступен, если пользователь (или система) установил переменную окружения TEMP, значение этой переменной должно быть использовано вместо него.Вы можете попробовать выбрать временный каталог относительно домашнего каталога пользователя, который вы можете создать.
Первоначальный вопрос был: есть ли в Linux есть стандартный временный каталог. Если да, то где она находится? В папке tmp(ов) найдено на: файловая система/tmp & Файловой системы/var/tmp в Содержимого /tmp может быть удален, если вы знаете какие файлы/папки не требуется/не требуется различных приложений на собой "как требовалось" на основе. Ненужные файлы, как правило, те, кто скачал приложение, чтобы облегчить само приложение на тот момент только - поэтому не требуются после того, как приложение уже выполняется. В папке /var/tmp не должен быть затронут.