대부분의 경우FHS시스템에는 /tmp
폴더와 또 다른 /var/tmp
폴더가 있습니다. 둘의 기능적 차이는 무엇인가요?
답변1
/tmp
빠른(아마도 작은) 저장 공간을 의미하지만 수명이 짧습니다. 많은 시스템이 매우 빠르게 정리됩니다 /tmp
. 일부 시스템에서는 RAM 디스크로 마운트되기도 합니다. /var/tmp
일반적으로 실제 디스크에 위치하며 용량이 더 크고 임시 파일을 더 오래 보관할 수 있습니다. 일부 시스템은 청소할 수도 있지만 /var/tmp
빈도는 낮습니다.
또한 이는 마운트 지점이기 때문에 /var/tmp
초기 부팅 중에는 사용하지 못할 수도 있습니다 . 그래서 그것은 와 의 차이 와 비슷합니다 . 첫 번째는 초기 부팅 중에 사용할 수 있으며, 후자는 시스템이 모든 것을 설치한 후에 사용할 수 있습니다. 따라서 대부분의 부팅 스크립트는 대신 임시 파일을 사용합니다 ./var
/var/tmp
/bin
/usr/bin
/tmp
/var/tmp
임시 파일을 저장하기 위한 Linux의 또 다른 위치는 입니다 /dev/shm
.
답변2
/tmp
재부팅 시 지워질 수 있습니다(때때로 그렇습니다). /var/tmp
재부팅 사이에 보존됩니다.
바라보다FHS에 관한 Wikipedia 기사.
답변3
다음 디렉토리는 적격 시스템에 존재해야 하며 설명된 대로 사용해야 합니다.
/tmp
임시 파일을 생성해야 하는 응용 프로그램에서 사용할 수 있는 디렉터리입니다. 애플리케이션은 이 디렉터리에 파일을 생성할 수 있어야 하지만 애플리케이션 호출 간에 이러한 파일이 유지된다고 가정해서는 안 됩니다.
이것/tmp임시 파일이 필요한 프로그램에서 디렉토리를 사용할 수 있어야 합니다.
프로그램은 파일이나 디렉토리가/tmp프로그램 호출 사이에 유지됩니다.
근본적인
IEEE 표준 P1003.2(POSIX, Part 2)는 이전 섹션과 유사한 요구 사항을 부과합니다.
데이터가 저장되어 있지만/tmp사이트별 방식으로 제거될 수 있습니다. 다음에서 권장됩니다./tmp시스템이 시작될 때마다 삭제됩니다.
FHS는 역사적 선례와 관행을 바탕으로 이 권장 사항을 추가했지만 시스템 관리는 이 표준의 범위를 벗어나기 때문에 이를 필수 사항으로 만들지 않았습니다.
POSIX가 지정되지 않았습니다./var/tmp. FHS는 그렇습니다.:
이것/var/tmp이 디렉터리는 시스템을 다시 시작할 때까지 임시 파일이나 디렉터리를 보존해야 하는 프로그램에서 사용할 수 있습니다. 따라서 데이터는 다음 위치에 저장됩니다./var/tmp데이터보다 내구성이 뛰어남/tmp.
파일과 디렉터리는 다음 위치에 있습니다./var/tmp시스템 시작 시 삭제하면 안 됩니다. 데이터가 저장되어 있지만 /var/tmp일반적으로 사이트별 방식으로 제거되므로 다음보다 덜 자주 제거하는 것이 좋습니다. /tmp.
답변4
그들은 동일한 목적과 기능을 가지고 있습니다. UNIX/Linux의 각 버전은 이러한 디렉터리를 다르게 처리합니다. 역사적으로 RAM/스왑 기반 파일 시스템 이전에는 /
파일 /usr
시스템이 읽기 전용이고 /var
(변수) 읽기-쓰기 인 디스크 없는 시스템이 있었습니다 . 이름 /tmp
은 에 대한 심볼릭 링크가 됩니다 /var/tmp
. 나중에 디스크가 없는 시스템은 더 이상 사용되지 않고 디스크 공간이 더 저렴해졌으며(루트 파일 시스템이 커짐) 기술을 통해 파일 시스템을 디스크 대신 메모리에서 마운트할 수 있었습니다. 이 /var/tmp
디렉토리는 더 이상 사용되지 않지만 일부 프로그램에서는 여전히 사용됩니다.
요즘 Windows Phone에서는 더 많은 보안 /tmp
(예: g+s,+t
권한)이 기본적으로 설정되지만 Windows Phone에서는 설정되지 않습니다 /var/tmp
. 또한 /var/tmp
RAM이나 스왑을 통한 설치는 거의 수행되지 않습니다.