본문 바로가기
SI 업무/linux

리눅스 용량 확인

by 새로운걸 배우는게 너무 싫은 IT 복붙러 2024. 12. 8.
728x90

 

virtual box 에 우분투를 설치 했다.

 

용량을 확인 하기 위해 몇번 "df' 란 명령을 친 적이 있다.

 

여기서 궁금해 진다.

명령어가 "du" 로 시작하는 것도 있는데 먼 차이인가?

 


df와 du의 차이점

 

기준 df  (disk free) du (disk usage)
측정대상 파일 시스템 전체를 측정 한다 특정파일이나 디렉토리를 측정 한다
용량기준 실제 파일 시스템 크기와 사용량 표시 특정 파일이나 디렉토리가 차지하는 용량
용도 시스템 상태를 점검 (전체 용량 관리) 디렉토리별 공간 사용량 분석ㅇ

 


df 와 du 의 용도를 알았으니 이제 명령어로 써 보자.

 

1. 전체 용량 확인 
(-h 는 사람이 보기 편하게 해달라는 옵션)

df -h

 

내 우분투에서 df -h 한 결과

 

2. 머 한것도 없는데 / 에 용량이 88%를 쓰고 있다.
    머가 용량을 잡아 먹고 있지??
    이걸 알아내려면 그렇지 디렉토리별로 사이즈를 보는 du 를 써보자.
     "du -h /" 를 쳤다. ("/" 에 있는 디록토리별 용량을 보려고 한것이다.)

     "du- h /" 를 쳐보면 알것이다.

    "/" 루트 밑에 있는 내용이 파일별 폴더별로 쭈욱 다 나온다. 결과 페이지만 2~3 페이지 나온다. 사람이 볼수가 없다.

    "du -h / "로는 아무 정보도 얻을수 없다.

    아래처럼 명령어를 친다.

du -h --max-depth=1 /

 

   

3. 이제 사람이 볼만 하다.
    "/" 루트 기준으로 depth 가 1만 du 로 summary 한것이다.

   근데 이것도 헷갈리네.  summary 된 크기 별로 sorting 이 안되었다.

   sort 를 해보자.

du -h --max-depth=1 / | sort -h -r

 

파이프로 결과 받아서 sort 하고 정리한 결과

 

4. 이제 잘 보이네.
   근데 /var 폴더는 먼데3 0G중에 8.6G 인가?
   /opt 와 /home 은 알겠는데, /var, /snap, /usr 은 머 하는 폴더지??

 

더보기

==폴더별 설명==

1. /var (Variable)

  • 용도: 가변 데이터(Variable Data)를 저장하는 디렉토리입니다.
  • 주요 특징:
    • 시스템 실행 중에 변경되거나 증가하는 데이터가 저장됩니다.
    • 로그 파일, 캐시, 메일 큐, 프린터 스풀 등이 위치.
  • 예시:
    • /var/log: 시스템 및 애플리케이션 로그 파일.
    • /var/cache: 애플리케이션 캐시 데이터.
    • /var/spool: 프린터 스풀, 메일 큐와 같은 대기열 데이터.
    • /var/lib: 데이터베이스나 소프트웨어 상태 데이터를 저장.
  • 유의 사항: 디스크 용량이 부족하면 시스템 동작에 문제가 생길 수 있으므로 정기적으로 관리가 필요.

2. /usr (User System Resources)

  • 용도: 사용자 관련 프로그램 및 라이브러리를 저장하는 디렉토리입니다.
  • 주요 특징:
    • 시스템 관리 프로그램 외의 일반적인 애플리케이션과 데이터가 위치.
    • 리눅스에서 가장 큰 디렉토리 중 하나가 될 수 있습니다.
  • 구조:
    • /usr/bin: 일반 사용자 명령어 (예: ls, grep 등).
    • /usr/sbin: 시스템 관리 명령어 (예: fdisk, ifconfig 등).
    • /usr/lib: 애플리케이션과 관련된 라이브러리 파일.
    • /usr/share: 애플리케이션의 공통 데이터 (예: 매뉴얼, 아이콘 등).
  • 유의 사항: /usr는 일반 사용자가 수정할 필요가 없으며, 시스템 업데이트나 패키지 관리자가 관리합니다.

3. /snap (Snap Packages)

  • 용도: Snap 패키지 관리 시스템에서 사용하는 디렉토리.
  • 주요 특징:
    • Canonical에서 개발한 Snap 패키지 관리자는 컨테이너 기반의 애플리케이션 배포 방식을 제공합니다.
    • 각 Snap 애플리케이션은 독립적으로 실행되며 /snap에 설치됩니다.
    • Snap 애플리케이션은 종속성 충돌 문제를 줄이고, 다양한 리눅스 배포판에서 호환됩니다.
  • 구조:
    • /snap/<패키지명>: 설치된 Snap 애플리케이션.
    • /snap/bin: Snap 패키지의 실행 파일 링크.
  • 유의 사항: Snap 패키지는 디스크 공간을 많이 차지할 수 있으니 필요 없는 패키지는 제거하세요.

4. /opt (Optional)

  • 용도: 추가 애플리케이션 소프트웨어를 저장하는 디렉토리입니다.
  • 주요 특징:
    • 기본 시스템과 분리된 외부 패키지나 사용자 정의 애플리케이션이 위치.
    • 주로 상용 소프트웨어나 타사 프로그램 설치에 사용됩니다.
  • 구조:
    • /opt/<애플리케이션>: 애플리케이션 별로 디렉토리가 생성됨.
    • 예: /opt/google/chrome (Google Chrome 설치 디렉토리).
  • 유의 사항: 수동으로 설치한 소프트웨어를 정리하거나 관리할 때 확인해야 할 디렉토리입니다.

요약 비교

디렉토리주요 용도예시
/var 가변 데이터 저장 로그, 캐시, 프린터 스풀.
/usr 사용자와 관련된 프로그램 및 라이브러리 명령어(ls), 라이브러리.
/snap Snap 패키지 저장 및 실행 Snap 애플리케이션.
/opt 추가 소프트웨어 설치 상용 프로그램(예: Google Chrome).

리눅스 디렉토리 구조는 체계적으로 설계되어 있어, 이 목적에 따라 효율적으로 관리할 수 있습니다.

6.

 

5. /var 에 변동성 data 가 쌓인다는데, log 나 오라클의 data 같은 것들.

   docker 로 오라클을 띄어서 그런가? 

   확인해보자.

/var 로 이동 해서 아래 명령어를 친다.

 

/var/lib 가 8.6G 중에 8.0G 를 먹고 있다.

확인 해보자.

 

/var/lib 가 8G 먹고 있는데 그중 /var/lib 밑에 docker가 5G 를 먹고 있다.

 

여기까지 하자..

이제 확실히 df, du 는 알았다.

까먹지 말자.

 

오늘도 감사한 마음으로 하루를 보내자....

728x90