영구 "백엔드" 파일의 이동 디렉터리는 무엇입니까?

영구 "백엔드" 파일의 이동 디렉터리는 무엇입니까?

다른 프로세스가 특정 시점에 파일을 읽을 수 있도록 어딘가에 저장하려는 데이터를 출력하는 프로세스를 실행합니다.

그러한 파일을 저장할 수 있는 일반적인 위치가 있습니까?

  • /var/run또는 을 사용할 수 있지만 /run재부팅 시 지워질 것으로 예상됩니다. 재부팅 후에도 내 파일이 유지되기를 원합니다.
  • 사용할 수 /myowndircetoryforpersistantfiles있고 작동할 것입니다. 이런 용도로 사용할 수 있는 것이 있는지 궁금합니다.

아마도 /var/log? (실제로는 로그 파일이 아니지만)

답변1

데이터 유형에 따라 , /var/lib또는 를 사용할 수 있습니다 /var/tmp. 파일 시스템 계층 표준 3.0에서:

  • /var/lib:

    이 계층 구조는 애플리케이션이나 시스템과 관련된 상태 정보를 보유합니다. 상태 정보는 프로그램이 실행되는 동안 수정되는 데이터로 특정 호스트에 속합니다. [...]

    상태 정보는 일반적으로 재부팅 후에도 유효한 상태로 유지되어야 하며 로그 출력이나 스풀링된 데이터가 아니어야 합니다.

    애플리케이션(또는 관련 애플리케이션 그룹)이 /var/lib해당 데이터를 저장하는 데 사용해야 하는 하위 디렉터리입니다. [...]

    /var/lib/<name>모든 배포 패키징 지원이 사용해야 하는 위치입니다. 물론 배포판마다 다른 이름을 사용할 수 있습니다.

  • /var/tmp:

    /var/tmp디렉터리는 시스템을 다시 시작할 때까지 임시 파일이나 디렉터리를 보존해야 하는 프로그램에서 사용할 수 있습니다. 따라서 에 저장된 데이터는 /var/tmp에 저장된 데이터보다 내구성이 뛰어납니다 /tmp.

    /var/tmp시스템이 시작될 때 시스템에 있는 파일과 디렉터리를 삭제하면 안 됩니다. 에 저장된 데이터는 /var/tmp일반적으로 사이트별 방식으로 삭제되지만 삭제 빈도는 /tmp.

데이터를 두 개의 프로세스가 포함된 애플리케이션 그룹에 대한 "상태 정보"로 생각할 수 있다면 /var/lib/<subdir>적절해 보입니다. 그렇지 않다면 /var/tmp/<...>.

관련 정보