/ tmp와 / var / tmp의 차이점은 무엇입니까?


답변:


115

/tmp수명이 짧은 빠른 (아마도 작은) 스토리지를 의미합니다. 많은 시스템이 /tmp매우 빠르게 청소 됩니다. 일부 시스템에서는 RAM 디스크로 마운트되기도합니다. /var/tmp일반적으로 실제 디스크에 있으며 더 크며 임시 파일을 더 오래 보유 할 수 있습니다. 일부 시스템은 또한 깨끗 /var/tmp하지만 덜 자주 청소 합니다.

또한주의 /var/tmp로, 초기 부팅 과정에서 사용하지 못할 수 있습니다 /var및 / 또는 /var/tmp마운트 포인트가 될 수 있습니다. 따라서와의 차이 /bin와 약간 비교할 수 /usr/bin있습니다. 첫 번째는 초기 부팅 중에 사용 가능하며, 후자는 시스템이 모든 것을 마운트 한 후에 사용 가능합니다. 따라서 대부분의 부팅 스크립트는 임시 파일이 /tmp아닌 사용 /var/tmp합니다.

임시 파일을위한 Linux의 또 다른 (다가오는) 위치는 /dev/shm입니다.


4
나는 그것이 조금 아이러니 것을 발견 /bin하고 /usr/bin실제로 같은 요즘 (심볼릭 링크)입니다. ;-)
Felix Schwarz

2
@Felix 아직 모든 배포판에 없습니다. 그러나 리눅스는 그런 식으로 움직이고있다. 디스크가 점점 커지기 때문에 가능합니다.
Nils

27

/tmp재부팅시 정리 될 수도 있고 때로는 정리 될 수도 있습니다. /var/tmp재부팅 간에도 유지됩니다.

FHS의 Wikipedia 기사를 참조하십시오 .


1
/ tmp 는 프로세스가 종료 한 직후에 생성 된 파일을 정리할 수도 있습니다!
osvein

15

그들은 같은 목적과 기능을 가지고 있습니다. 모든 UNIX / Linux 버전은이 디렉토리를 다르게 처리합니다. 역사적으로, RAM / 스왑 기반 파일 시스템의 출현하기 전에, 당신은 디스크가없는 시스템을 가지고 //usr파일 시스템이 읽기 전용 것입니다 및 /var읽기 - 쓰기 것 (변수). /tmp이름에 대한 심볼릭 링크가 될 것이다 /var/tmp. 나중에 디스크가없는 시스템의 스타일이 떨어지고 디스크 공간이 저렴 해졌으며 (더 큰 루트 파일 시스템을 갖기 위해) 디스크 대신 메모리에서 마운트 된 파일 시스템에 대한 기술이 허용되었습니다. /var/tmp디렉토리 스타일 떨어졌다, 그러나 아직도 일부 프로그램에서 사용됩니다.

요즘에는 권한 /tmp과 같이 기본적으로 더 많은 보안이 설정되어 있지만 설정되어 g+s,+t있지 않습니다 /var/tmp. 또한 /var/tmpRAM이나 스왑에서 거의 마운트되지 않습니다.


내 데비안과 페도라 시스템에서 / tmp와 / var / tmp는 같은 모드 a+rwx+t-와 no를 갖습니다 g+s.
sourcejedi

12

/ tmp의 POSIX 기본 사양, 문제 7 :

다음 디렉토리는 적합한 시스템에 존재하며 설명 된대로 사용해야합니다.

/ tmp

임시 파일을 만들 장소가 필요한 응용 프로그램에서 사용할 수있는 디렉토리입니다. 응용 프로그램은이 디렉토리에 파일을 작성할 수 있어야하지만 응용 프로그램 호출 사이에 해당 파일이 보존된다고 가정해서는 안됩니다.

/ tmp 의 파일 계층 표준 2.3 :

하여 / tmp 디렉토리는 임시 파일을 필요로하는 프로그램을 위해 사용할 수 있어야합니다.

프로그램은 / tmp의 파일 또는 디렉토리 가 프로그램 호출간에 유지 된다고 가정해서는 안됩니다 .

이론적 해석

IEEE 표준 P1003.2 (POSIX, 2 부)는 위 섹션과 유사한 요구 사항을 만듭니다.

/ tmp에 저장된 데이터 는 사이트 별 방식으로 삭제 될 수 있지만 시스템을 부팅 할 때마다 / tmp 에있는 파일과 디렉토리를 삭제 하는 것이 좋습니다 .

FHS는 과거의 선례와 일반적인 관행에 기초하여이 권장 사항을 추가했지만 시스템 관리가이 표준의 범위 내에 있지 않기 때문에 요구 사항으로 만들지 않았습니다.

POSIX는 / var / tmp를 지정하지 않습니다 . 그러나 FHS는 다음을 수행합니다.

의 / var / tmp를 디렉토리는 임시 파일이나 시스템 재부팅 사이에 보존 디렉토리를 필요로하는 프로그램을 위해 사용할 수 있습니다. 따라서 / var / tmp에 저장된 데이터는 / tmp의 데이터보다 영구적 입니다.

시스템을 부팅 할 때 / var / tmp 에있는 파일과 디렉토리를 삭제해서는 안됩니다. 에 저장된 데이터 만 은 / var / tmp에 일반적으로 사이트 별 방식으로 삭제, 삭제가보다 덜 자주 간격으로 발생하는 것이 좋습니다 / tmp를 .


아, 나는 문서를 좋아한다. 이제는 내가 아는 것을 알고 있으며 왜 그것을 알고 있다고 믿습니다. 나의 인식 론적 요구는 지금 매우 만족합니다.
Stephen C
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.