대부분의 FHS 시스템에는 /tmp
폴더와 /var/tmp
폴더가 있습니다. 둘 사이의 기능적 차이점은 무엇입니까?
답변
/tmp
수명이 짧은 빠른 (아마도 작은) 스토리지를 의미합니다. 많은 시스템이 /tmp
매우 빠르게 청소 됩니다. 일부 시스템에서는 RAM 디스크로 마운트되기도합니다. /var/tmp
일반적으로 실제 디스크에 있으며 더 크며 임시 파일을 더 오래 보유 할 수 있습니다. 일부 시스템은 또한 깨끗 /var/tmp
하지만 덜 자주 청소 합니다.
또한주의 /var/tmp
로, 초기 부팅 과정에서 사용하지 못할 수 있습니다 /var
및 / 또는 /var/tmp
마운트 포인트가 될 수 있습니다. 따라서와의 차이 /bin
와 약간 비교할 수 /usr/bin
있습니다. 첫 번째는 초기 부팅 중에 사용 가능하며, 후자는 시스템이 모든 것을 마운트 한 후에 사용 가능합니다. 따라서 대부분의 부팅 스크립트는 임시 파일이 /tmp
아닌 사용 /var/tmp
합니다.
임시 파일을위한 Linux의 또 다른 (다가오는) 위치는 /dev/shm
입니다.
답변
답변
그들은 같은 목적과 기능을 가지고 있습니다. 모든 UNIX / Linux 버전은이 디렉토리를 다르게 처리합니다. 역사적으로, RAM / 스왑 기반 파일 시스템의 출현하기 전에, 당신은 디스크가없는 시스템을 가지고 /
및 /usr
파일 시스템이 읽기 전용 것입니다 및 /var
읽기 – 쓰기 것 (변수). /tmp
이름에 대한 심볼릭 링크가 될 것이다 /var/tmp
. 나중에 디스크가없는 시스템의 스타일이 떨어지고 디스크 공간이 저렴 해졌으며 (더 큰 루트 파일 시스템을 갖기 위해) 디스크 대신 메모리에서 마운트 된 파일 시스템에 대한 기술이 허용되었습니다. /var/tmp
디렉토리 스타일 떨어졌다, 그러나 아직도 일부 프로그램에서 사용됩니다.
요즘에는 권한 /tmp
과 같이 기본적으로 더 많은 보안이 설정되어 있지만 설정되어 g+s,+t
있지 않습니다 /var/tmp
. 또한 /var/tmp
RAM이나 스왑에서 거의 마운트되지 않습니다.
답변
다음 디렉토리는 적합한 시스템에 존재하며 설명 된대로 사용해야합니다.
/ tmp
임시 파일을 만들 장소가 필요한 응용 프로그램에서 사용할 수있는 디렉토리입니다. 응용 프로그램은이 디렉토리에 파일을 작성할 수 있어야하지만 응용 프로그램 호출 사이에 해당 파일이 보존된다고 가정해서는 안됩니다.
하여 / tmp 디렉토리는 임시 파일을 필요로하는 프로그램을 위해 사용할 수 있어야합니다.
프로그램은 / tmp의 파일 또는 디렉토리 가 프로그램 호출간에 유지 된다고 가정해서는 안됩니다 .
이론적 해석
IEEE 표준 P1003.2 (POSIX, 2 부)는 위 섹션과 유사한 요구 사항을 만듭니다.
/ tmp에 저장된 데이터 는 사이트 별 방식으로 삭제 될 수 있지만 시스템을 부팅 할 때마다 / tmp 에있는 파일과 디렉토리를 삭제 하는 것이 좋습니다 .
FHS는 과거의 선례와 일반적인 관행에 기초하여이 권장 사항을 추가했지만 시스템 관리가이 표준의 범위 내에 있지 않기 때문에 요구 사항으로 만들지 않았습니다.
POSIX는 / var / tmp를 지정하지 않습니다 .
그러나 FHS는 다음을 수행합니다.
의 / var / tmp를 디렉토리는 임시 파일이나 시스템 재부팅 사이에 보존 디렉토리를 필요로하는 프로그램을 위해 사용할 수 있습니다. 따라서 / var / tmp에 저장된 데이터는 / tmp의 데이터보다 영구적 입니다.
시스템을 부팅 할 때 / var / tmp 에있는 파일과 디렉토리를 삭제해서는 안됩니다. 에 저장된 데이터 만
은 / var / tmp에 일반적으로 사이트 별 방식으로 삭제, 삭제가보다 덜 자주 간격으로 발생하는 것이 좋습니다
/ tmp를 .