리눅스 tmp 디렉토리: /tmp와 /var/tmp 차이

리눅스 tmp 디렉토리는 임시 파일을 저장하기 위해 주로 /tmp와 /var/tmp 디렉토리를 사용합니다.

/tmp는 일시적인 임시 파일을 저장하는 공간으로, 시스템이 재부팅 되면 대부분의 파일이 삭제됩니다. 따라서 빠른 입출력과 임시 작업에 적합하며, 주로 프로세스가 실행 중 생성하는 임시 데이터를 저장합니다.

반면에 /var/tmp는 재부팅 후에도 파일이 유지되는 임시 저장 공간입니다. 장기간 유지가 필요한 임시 파일이나 작업 중간 저장용으로 사용되며, 일부 애플리케이션에서 중요한 임시 데이터를 보관할 때 사용됩니다.

✅ /tmp와 /var/tmp 차이

/ [ROOT]
├─ /bin -> usr/bin
├─ /boot
├─ /dev
├─ /etc
├─ ...
├─ /tmp [재부팅 시 삭제되는 일시적 임시 파일 저장소]
├─ /usr
└─ /var
    ├─ ...
    └─ tmp [재부팅 후에도 유지되는 장기 임시 파일 저장소]

🔲 /tmp

/tmp 디렉토리는 시스템이나 애플리케이션이 일시적인 데이터를 저장할 때 사용하는 공간입니다. 주요 특징은 다음과 같습니다.

  • 재부팅 시 자동 삭제됨: 대부분의 배포판에서는 /tmp의 파일이 시스템 부팅 시 삭제되도록 설정되어 있습니다.
  • 빠른 접근성과 입출력 성능: 일부 시스템에서는 /tmp를 tmpfs로 마운트하여 메모리 기반으로 운영하기도 합니다.
  • 공용 임시 저장소: 사용자와 프로세스 간의 임시 파일 공유 장소로도 사용됩니다.
  • 보안 주의 필요: 전역 쓰기 가능(writable)이므로, 악의적인 스크립트나 공격 대상이 되지 않도록 권한 설정과 정기적인 정리가 필요합니다.

🔲 /var/tmp

/var/tmp 디렉토리는 재부팅 후에도 삭제되지 않는 임시 파일을 저장하기 위한 공간입니다. /tmp와의 차이점은 파일의 수명과 보존 목적에 있습니다. 주요 특징은 다음과 같습니다.

  • 재부팅 후에도 파일 유지됨: 시스템이 꺼졌다가 다시 켜져도 /var/tmp의 파일은 삭제되지 않습니다.
  • 장기 임시 저장소: 설치 작업 도중 생성되는 큰 임시 파일, 장시간 실행되는 프로세스의 중간 결과물 등이 저장됩니다.
  • 애플리케이션 의존성: 일부 프로그램은 /var/tmp에 저장된 데이터를 기준으로 실행 상태를 판단하거나 복구 작업을 수행하기도 합니다.
  • 보안 및 정리: /tmp와 마찬가지로 누구나 파일을 만들 수 있는 공간이기 때문에, 오래된 파일을 자동으로 지우는 설정(cron이나 systemd-tmpfiles 사용)을 해 두는 것이 좋습니다.
📌 리눅스 tmp 디렉토리 용도 요약
/tmp: 짧은 생명, 휘발성 작업 
/var/tmp:  생명, 지속적인 임시 파일

✅ 리눅스 tmp 디렉토리를 하나로 사용하는 경우

리눅스 tmp 디렉토리를 하나로 사용하는 경우는 다음과 같습니다.

  1. 운영 단순화
     → /tmp 하나만 관리하면 되므로, 디렉토리 권한/보안/정리 정책 등을 설정하기 쉬움
  2. 임시 파일 대부분이 짧은 생명 주기
     → 많은 프로그램들이 재부팅 시 사라져도 되는 임시 파일을 생성함 → /tmp로 충분
  3. tmpfs 마운트 활용
     → /tmp를 메모리 기반(tmpfs)으로 마운트하면 빠른 입출력 제공 가능
     → 디스크 I/O 줄이고 성능 향상
  4. 현대 시스템에서는 /var/tmp 필요성 감소
     → 장기 임시 저장이 필요한 프로그램이 줄었고, 자체 저장 디렉토리를 따로 쓰는 경우가 많아짐
  5. 보안/감사 추적 일원화
     → 하나의 tmp 공간에만 정책 적용 및 모니터링 가능

리눅스 tmp 디렉토리를 하나로 사용하는 이유는 운영 및 보안 관리가 편리하기 때문입니다. 많은 임시 파일이 짧은 생명 주기를 가지므로, /tmp를 tmpfs로 마운트해 빠른 입출력을 제공하는 경우가 많습니다. 다만, 장기 임시 저장이 필요한 경우를 위해 /var/tmp가 별도로 존재하며, 레드햇 8부터는 이 둘의 역할 분담을 유지하면서 보안 정책과 정리 정책을 각각 적용하는 것이 일반적입니다.

📌요약: 운영 편의성 + 성능
리눅스 tmp 디렉토리 콘텐츠: 리눅스 디렉토리 구조

Similar Posts

  • RAID 구성 | RAID Level 0, 1, 4, 5, 6, 1+0, 0+1

    RAID(Redundant Array of Independent Disks 또는 Redundant Array of Inexpensive Disks)는 뜻 하는 내용처럼 여러 개의 디스크를 스토리지 하나처럼 운영하여 스토리지의 안정성을 확보하는 기술입니다. 저렴한(Independent) 디스크의 복수 배열의 뜻에서 독립적인 디스크의 복수 배열이란 뜻으로 많이 사용되고 있습니다. 이유는 단독으로 사용하기에 부족한 성능을 가진 디스크를 하나의 논리 디스크로 정렬해서 재활용하는데 목적이 있었기 때문입니다. 디스크…

  • 리눅스 백그라운드(Back Ground)&포그라운드(Fore Ground): 프로세스 제어하기

    리눅스의 프로세스는 백그라운드(Back Ground)와 포그라운드(Fore Ground) 두 가지의 모드로 작동됩니다. 리눅스 백그라운드 작업을 하는 이유는 일반적인 쉘 명령어를 실행했을 때 프로세스가 종료될 때까지 기다리면서 다른 작업을 하지 못하는 경우가 있기 때문입니다. 목차✅ /tmp와 /var/tmp 차이🔲 /tmp🔲 /var/tmp✅ 리눅스 tmp 디렉토리를 하나로 사용하는 경우✅ 리눅스 포그라운드(Fore Ground)란? 터미널에 직접 연결되어 터미널과 입출력을 진행하는 프로세스를…

  • 리눅스 host 명령어 | DNS 조회 명령어

    host 명령어는 DNS(Domain Name System) 조회를 할 때 사용하는 명령어입니다. 호스트 이름에 해당하는 IP 주소를 찾거나, 반대로 IP 주소를 호스트 이름으로 변환하는 데 사용됩니다. 네트워크 연결 문제를 해결하거나 호스트 이름과 IP 주소 간의 매핑을 확인하는 데 유용합니다. 목차✅ /tmp와 /var/tmp 차이🔲 /tmp🔲 /var/tmp✅ 리눅스 tmp 디렉토리를 하나로 사용하는 경우✅ host 명령어 사용법 기본…

  • 서블릿(Servlet)이란?

    목차✅ /tmp와 /var/tmp 차이🔲 /tmp🔲 /var/tmp✅ 리눅스 tmp 디렉토리를 하나로 사용하는 경우 1. 서블릿이란 무엇인가? 서블릿은 동적 웹 페이지를 만들 때 사용되는 자바 기반의 웹 애플리케이션 프로그래밍 기술입니다. 클라이언트의 요청을 처리하고 응답을 생성하는 자바 클래스입니다. Servlet은 일반적으로 HTTP 프로토콜을 기반으로 작동하며, 클라이언트의 요청을 받아들여 처리하고, 데이터베이스 연동, 파일 처리 등의 작업을 수행하여 동적인…

  • 리눅스 프롬프트(Prompt)란?

    리눅스 셸에서 프롬프트는 CLI(커멘드 라인 인터페이스)의 명령줄 대기 모드를 뜻 합니다. 커맨드 프롬프트(command prompt) 또는 셸 프롬프트(shell prompt)로 불립니다. Command Prompt는 명령을 입력/발행할 수 있는 터미널 에뮬레이터(CLI)의 입력 필드입니다. 참조: 내 Linux 명령 Prompt는 무엇을 알려줍니까? 목차✅ /tmp와 /var/tmp 차이🔲 /tmp🔲 /var/tmp✅ 리눅스 tmp 디렉토리를 하나로 사용하는 경우 ✅ 리눅스 프롬프트의 기본 이해…

  • [Ubuntu] apt 명령어 | apt-get 명령어 사용법과 차이점

    Red Hat 계열 리눅스에서는 패키지 관리를 위해 dnf 명령어를 사용하며, Debian 계열에서는 apt 명령어를 사용합니다. Ubuntu와 같은 Debian 기반 배포판에서는 두 명령어가 모두 사용 가능하지만, 목적과 사용 방식에 따라 약간의 차이가 있습니다. 이 글에서는 apt와 apt-get의 차이를 간단히 비교하고, apt 명령어에서 자주 사용하는 명령어 예제를 함께 정리해보겠습니다. 목차✅ /tmp와 /var/tmp 차이🔲 /tmp🔲 /var/tmp✅…

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

Prove your humanity: 10   +   1   =