Odpowiedzi:
/tmp
ma oznaczać szybkie (możliwie małe) przechowywanie o krótkim okresie użytkowania. Wiele systemów czyści /tmp
bardzo szybko - w niektórych systemach jest nawet montowany jako dysk RAM. /var/tmp
zwykle znajduje się na dysku fizycznym, jest większy i może przechowywać pliki tymczasowe przez dłuższy czas. Niektóre systemy również czyszczą /var/tmp
, ale rzadziej.
Zauważ też, że /var/tmp
może nie być dostępny we wczesnym procesie rozruchu, ponieważ /var
i / lub /var/tmp
mogą być punktami montowania. Jest to więc trochę porównywalne z różnicą między /bin
i /usr/bin
. Pierwszy jest dostępny podczas wczesnego rozruchu - drugi po zamontowaniu przez system wszystkiego. Dlatego większość skryptów rozruchowych będzie używać, /tmp
a nie /var/tmp
plików tymczasowych.
Inną (nadchodzącą) lokalizacją w systemie Linux dla plików tymczasowych jest /dev/shm
.
/bin
i /usr/bin
obecnie są takie same (dowiązania symboliczne). ;-)
/tmp
może być, a czasem jest czyszczony przy ponownym uruchomieniu. /var/tmp
jest zachowywany między restartami.
Zobacz artykuł w Wikipedii na temat FHS .
Mają ten sam cel i funkcjonalność. Każda wersja UNIX / Linux będzie obsługiwać te katalogi inaczej. Historycznie, przed pojawieniem się systemów plików opartych na RAM / swap, istniały systemy bezdyskowe, w których systemy plików /
i /usr
byłyby tylko do odczytu, a /var
(zmienne) byłyby do odczytu i zapisu. /tmp
Nazwa będzie symboliczny link /var/tmp
. Później systemy bezdyskowe przestały być stylowe, miejsce na dysku stało się tańsze (aby mieć większe systemy plików root) i dopuszczono technologię dla systemów plików montowanych z pamięci zamiast z dysku. /var/tmp
Katalog wypadł z mody, ale jest nadal używany przez niektóre programy.
W dzisiejszych czasach większe zabezpieczenia są domyślnie włączone /tmp
, podobnie jak g+s,+t
uprawnienia, ale nie włączone /var/tmp
. Ponadto /var/tmp
rzadko jest montowany z pamięci RAM lub wymiany.
a+rwx+t
- i nie g+s
.
Podstawowe specyfikacje POSIX, wydanie 7 na / tmp :
Następujący katalog powinien istnieć w zgodnych systemach i powinien być używany zgodnie z opisem:
/ tmp
Katalog udostępniony aplikacjom, które potrzebują miejsca do tworzenia plików tymczasowych. Aplikacje będą mogły tworzyć pliki w tym katalogu, ale nie będą zakładały, że takie pliki są zachowywane między wywołaniami aplikacji.
File Hierarchy Standard 2.3 on / tmp :
Katalog / tmp musi zostać udostępniony programom wymagającym plików tymczasowych.
Programy nie mogą zakładać, że jakiekolwiek pliki lub katalogi w / tmp są zachowywane między wywołaniami programu.
Racjonalne uzasadnienie
Standard IEEE P1003.2 (POSIX, część 2) stawia wymagania, które są podobne do powyższej sekcji.
Chociaż dane przechowywane w / tmp mogą być usuwane w sposób specyficzny dla witryny, zaleca się, aby pliki i katalogi znajdujące się w / tmp były usuwane przy każdym uruchomieniu systemu.
FHS dodało to zalecenie na podstawie historycznej precedensu i powszechnej praktyki, ale nie uczyniło go wymogiem, ponieważ administracja systemem nie wchodzi w zakres tego standardu.
POSIX nie określa / var / tmp . FHS robi jednak :
Katalog / var / tmp jest udostępniany programom wymagającym plików tymczasowych lub katalogów, które są zachowywane między restartami systemu. Dlatego dane przechowywane w / var / tmp są bardziej trwałe niż dane w / tmp .
Pliki i katalogi znajdujące się w / var / tmp nie mogą być usuwane podczas uruchamiania systemu. Chociaż dane przechowywane w / var / tmp są zazwyczaj usuwane w sposób specyficzny dla witryny, zaleca się, aby usuwanie następowało rzadziej niż w / tmp .