Ответы:
/tmp
подразумевается как быстрое (возможно, небольшое) хранилище с коротким сроком службы. Многие системы очищаются /tmp
очень быстро - на некоторых системах он даже монтируется как RAM-диск. /var/tmp
обычно располагается на физическом диске, имеет больший размер и может хранить временные файлы в течение более длительного времени. Некоторые системы тоже чистые /var/tmp
, но реже.
Также обратите внимание, что они /var/tmp
могут быть недоступны в начале процесса загрузки, так как /var
и / или /var/tmp
могут быть точками монтирования. Таким образом, это немного сравнимо с разницей между /bin
и /usr/bin
. Первый доступен во время ранней загрузки - последний после того, как система смонтировала все. Так что большинство загрузочных скриптов будут использовать, /tmp
а не /var/tmp
для временных файлов.
Еще одно (предстоящее) размещение в Linux для временных файлов /dev/shm
.
/bin
и /usr/bin
на самом деле это одно и то же (символические ссылки). ;-)
/tmp
может быть, а иногда и чистится при перезагрузке. /var/tmp
сохраняется между перезагрузками.
Смотрите статью в Википедии о FHS .
Они имеют одинаковое назначение и функциональность. Каждая версия UNIX / Linux будет обрабатывать эти каталоги по-разному. Исторически, до появления файловых систем на основе RAM / замены, вы имели диск меньше системы , где /
и /usr
файловые системы будут только для чтения и /var
(переменная) будет чтение-запись. /tmp
Имя будет символической ссылкой /var/tmp
. Позже бездисковые системы вышли из моды, дисковое пространство стало дешевле (иметь большие корневые файловые системы), а технология позволяла файловым системам монтироваться из памяти вместо диска. /var/tmp
Каталог выпал из стиля, но до сих пор используется некоторыми программами.
В настоящее время по умолчанию /tmp
, например, g+s,+t
разрешения , больше безопасности установлено , но не включено /var/tmp
. Кроме того, /var/tmp
редко монтируется из оперативной памяти или подкачки.
a+rwx+t
- и нет g+s
.
Базовые спецификации POSIX, выпуск 7 в / tmp :
Следующий каталог должен существовать в соответствующих системах и должен использоваться как описано:
/ TMP
Каталог, доступный для приложений, которым требуется место для создания временных файлов. Приложениям разрешается создавать файлы в этом каталоге, но не следует предполагать, что такие файлы сохраняются между вызовами приложения.
Стандарт файловой иерархии 2.3 на / tmp :
/ TMP каталог должен быть доступен для программ , которые требуют временных файлов.
Программы не должны предполагать, что какие-либо файлы или каталоги в / tmp сохраняются между вызовами программы.
обоснование
Стандарт IEEE P1003.2 (POSIX, часть 2) предъявляет требования, аналогичные приведенному выше разделу.
Хотя данные, хранящиеся в / tmp, могут быть удалены специфичным для сайта способом, рекомендуется удалять файлы и каталоги, расположенные в / tmp, всякий раз, когда загружается система.
FHS добавил эту рекомендацию на основе исторического прецедента и общепринятой практики, но не сделал ее обязательным требованием, поскольку системное администрирование не входит в сферу применения этого стандарта.
POSIX не указывает / var / tmp . FHS хотя :
/ Вар / TMP каталог доступен для программ , которым требуется временные файлы или каталоги , которые должны сохраняться между перезагрузками системы. Поэтому данные, хранящиеся в / var / tmp , более постоянны, чем данные в / tmp .
Файлы и каталоги, расположенные в / var / tmp, не должны удаляться при загрузке системы. Хотя данные, хранящиеся в / var / tmp , обычно удаляются в зависимости от сайта, рекомендуется, чтобы удаление происходило с меньшим интервалом, чем / tmp .