Ubuntu 디스크 공간 관리에 대한 포괄적인 가이드

효율적이고 사용자 친화적인 운영 체제(OS)로서, Ubuntu는 디스크 공간을 관리하고 시스템을 원활하게 유지하는 다양한 도구와 기술을 제공합니다. 그러나 적절한 관리와 유지보수가 없으면 Ubuntu 디스크 공간이 빠르게 지저분해지고 공간이 부족해질 수 있습니다.

이 포괄적인 가이드는 Ubuntu 디스크 공간을 관리하기 위한 다양한 도구와 기술을 설치하고 사용하는 방법을 제공할 것입니다.

계속 읽어보고 Ubuntu에서 디스크 공간에 대한 걱정을 이별하세요!

전제 조건

이 자습서는 실습으로 진행될 것입니다. 따라오려면 Ubuntu 시스템이 있어야 합니다. 이 자습서는 Ubuntu 20.04를 사용하지만 다른 버전도 작동할 것입니다.

디스크 앱 사용

디스크 공간 관리를 위한 빠른 방법을 찾고 있다면, Ubuntu와 같은 GNOME 기반 데스크톱 환경에는 기본 그래픽 파티션 관리 도구가 있습니다. gnome-disk-utility가 설치되어 있다면 Disks 앱에 액세스할 수 있습니다.

Disks 앱은 디스크 사용량을 시각적으로 표시하여 파일과 디렉터리를 작업할 때 GUI를 선호하는 사용자들에게 직관적입니다.

디스크 공간 관리를 위해 Disks 앱을 실제로 보려면 다음 단계를 따르십시오:

1. 아래에 표시된 대로 Disks 앱을 검색하고 엽니다.

Opening the Disks App

2. 디스크 앱을 열면 임의의 디스크를 클릭하여 총 용량, 모델 등을 포함한 자세한 정보를 확인할 수 있습니다.

볼륨 섹션에서 시스템의 모든 파티션과 관련된 세부 정보가 포함된 목록을 볼 수 있습니다. 이 정보에는 장치 이름, 파티션 유형, 마운트 지점, 총 크기 및 볼륨 또는 파티션을 식별하는 UUID(고유 식별자)가 포함됩니다.

Using the Disk App

3. 마지막으로 기어 아이콘을 클릭하고 컨텍스트 메뉴에서 수행할 옵션을 선택하십시오. 수행할 수 있는 작업에는 다음과 같은 것들이 있습니다.

Option Function
Format Partition Formatting a partition erases all its data and creates a new empty filesystem. This option is useful when you plan to reinstall your OS.
Edit Partition Editing the partition allows you to change the partition’s size, format, and filesystem type without deleting any data.
Edit Filesystem This option lets you change the label or name of a partition on your system. The label or name of a partition is a short, descriptive string that identifies the partition on your system.
Check or Repair Filesystem This option performs a filesystem check on the volume, which can help identify and fix any problems, such as corruption or inconsistencies with the filesystem.

? 파일 시스템 검사는 특히 볼륨이 크거나 파일 시스템에 많은 문제가 있는 경우 시간이 소요될 수 있습니다. 게다가, 파일 시스템 복구는 데이터 손실을 초래할 수 있으므로 계속 진행하기 전에 데이터를 백업하십시오.

Accessing additional partition options

df 명령 사용

터미널에서 주로 작업하고 시스템의 디스크 및 파티션에서 사용 가능한 공간을 확인해야 할 때 디스크 파일 시스템(df) 명령이 유용합니다. df 명령은 컴퓨터의 파일 시스템에 관한 정보를 표시합니다. 이 정보에는 장치 이름, 총 크기, 사용된 공간, 사용 가능한 공간 및 마운트 지점이 포함됩니다.

df 명령이 작동하는 방법을 확인하려면 다음 단계를 따르십시오:

1. 터미널을 열고 아래의 df 명령을 실행하여 모든 파일 시스템과 관련 정보를 인간이 읽을 수 있는 형식(-h)으로 표시합니다. 크기를 “인간이 읽을 수 있는” 형식으로 표시하려면 -h 옵션을 사용할 수 있습니다.

df -h

아래에서는 시스템에 마운트된 여러 파일 시스템을 확인할 수 있습니다. 다음과 같습니다:

  • A main partition (/dev/sda5) with a total size of 20GB and 9.4GB of available space.

  • A /boot/efi partition (/dev/sda1) with a total size of 511MB and 511MB of available space

  • 일부 스냅 패키지(소프트웨어 패키지용 파일 시스템)는 /snap/에 마운트되어 있습니다.

  • 많은 tmpfs 파일 시스템은 임시 저장소로 사용되는 메모리 기반 파일 시스템입니다.

By default, the df command displays sizes in bytes, which is difficult to read. The -h option changes the display of sizes to use units such as kilobytes (K), megabytes (M), gigabytes (G), and terabytes (T). For example, the 1024000000 bytes size is displayed as 976M.

전체적으로, 기본 파티션(/dev/sda5)에서는 공간의 49%가 사용되었으며, 사용 가능한 공간은 9.4GB입니다. 이 정보를 통해 불필요한 파일을 삭제하여 디스크 공간을 확보할 수 있습니다.

Listing all file systems

2. 다음과 같이 watch 명령을 실행하여 df 명령을 일정한 간격(5초)으로 실행하고 디스크 사용량의 실시간 업데이트를 표시합니다.

watch 명령은 -n 옵션과 함께 사용하여 시스템 상태의 변경 사항을 모니터링하거나 오래 실행되는 명령의 진행 상황을 추적하는 데 유용합니다.

watch -n 5 df -h
Monitoring disk usage updates in real-time at a certain interval

3. 마지막으로 다음과 같이 df 명령을 실행하여 모든 파일 시스템을 나열하지만 특정 파일 시스템 유형(-t)으로 출력을 제한합니다. 이 경우에는 ext4 파일 시스템입니다.

출력을 특정 유형으로 제한함으로써 중요한 파일 시스템에 초점을 맞출 수 있으며, 나머지는 필터링할 수 있습니다. 이 접근 방식은 문제 해결이나 특정 유형의 파일 시스템에 관심이 있는 경우에 유용할 수 있습니다.

df -t ext4

아래에서는 df 명령이 하나의 ext4 파일 시스템만 반환한 것을 확인할 수 있습니다. 이는 루트 파티션(/dev/sda5)입니다.

Listing filesystems of a specific type

du 명령 사용

전체 파일 시스템의 사용 공간을 얻는 대신에, 파일이나 디렉토리의 소비된 공간을 확인하는 것이 유용할 수 있습니다. 어떻게? 디스크 사용량(du) 명령어를 사용하여 확인할 수 있습니다.

du 명령어는 파일과 디렉토리의 사용된 공간을 하위 디렉토리까지 추정합니다.

? du 명령어는 디스크 공간이 어떻게 사용되고 있는지를 더 세부적으로 이해하는 데 도움이 될 수 있습니다.

디스크 공간 관리를 위해 du 명령어가 어떻게 작동하는지 확인하려면 다음 단계를 따르세요:

1. 다음 du 명령어를 실행하여 /tmp 디렉토리의 요약(-s) 사용량을 인간이 읽을 수 있는 형식(-h)으로 검색합니다.

du -sh /tmp

아래 출력 결과에서는 /tmp 디렉토리와 하위 디렉토리가 총 6.1GB의 공간을 사용하고 있음을 보여줍니다.

유닉스류 운영 체제에서 /tmp은 임시 파일을 저장하는 데 사용되는 특수한 디렉토리입니다. /tmp 디렉토리를 모니터링하는 것은 빠르게 채워질 수 있으므로 중요합니다.

Viewing a summary of a directory’s disk usage

2. 다음으로 아래의 ls 명령어를 실행하여 /tmp에 포함된 파일을 긴 형식(-l)으로 나열합니다.

긴 형식 목록에는 각 파일의 디렉토리 권한, 소유자, 크기 및 수정 시간이 포함되어 있습니다. 이 정보를 통해 필요 없는 큰 파일을 식별하거나 크기를 줄일 수 있습니다.

ls -l /tmp

아래 출력에서는 /tmp 디렉토리의 가장 큰 파일인 test2.img 파일을 더 이상 필요하지 않다면 삭제할 수 있음을 확인할 수 있습니다.

Listing files in the /tmp directory

3. 이제 다음 rm 명령을 실행하십시오. 이 명령은 출력을 생성하지 않지만 지정된 큰 파일(test2.img)을 삭제하여 시스템에서 공간을 확보합니다.

sudo rm -f test2.img

디스크 공간 확인 및 파일 삭제 자동화

팽창하면 안 되는 디렉터리를 모니터링하면 시스템을 최적 상태로 유지할 수 있습니다. 왜냐하면 디스크 공간이 부족하면 임시 파일을 작성해야 하는 프로그램에 문제가 발생하기 때문입니다.

그러나 디스크 공간을 수동으로 확인하는 것은 장기적으로 지루한 작업이 됩니다. 그렇다면 스크립트로 작업을 자동화하는 것이 어떨까요?

이 예에서는 디스크 공간을 확인하고 불필요한 파일을 자동으로 삭제하는 스크립트를 작성합니다.

1. 원하는 편집기를 사용하여 Bash 스크립트 파일을 작성하고 이름을 지정하십시오. 그러나 이 튜토리얼에서는 temp_file_terminator.sh를 선택했습니다.

2. 그런 다음 아래 코드를 temp_file_terminator.sh 파일에 채우고 변경 사항을 저장하고 파일을 닫으십시오.

코드 아래는 현재 /tmp 디렉토리의 크기를 확인합니다. 크기가 선언된 최대 크기보다 크면 코드는 /tmp 디렉토리의 모든 파일을 삭제하는 명령을 실행합니다. 그렇지 않으면 콘솔에 메시지를 출력하며 파일을 삭제하지 않습니다.

#!/bin/bash

# /tmp 디렉토리에 최대 크기 설정
MAX_SIZE=2097152

# /tmp 디렉토리의 현재 크기 확인
CURRENT_SIZE=$(du -sk /tmp | awk '{print $1}')

# /tmp 디렉토리가 최대 크기보다 크면 일부 파일 삭제
if [ "$CURRENT_SIZE" -gt "$MAX_SIZE" ]
then
  echo "The /tmp directory is larger than the maximum size of 2GB. Deleting files..."

  # 3일 이상 된 모든 파일 찾아 삭제
  find /tmp -type f -mtime +3 -delete

  # 다시 /tmp 디렉토리 크기 확인
  CURRENT_SIZE=$(du -sk /tmp | awk '{print $1}')

  # 여전히 /tmp 디렉토리가 최대 크기보다 크면 모든 파일 삭제
  if [ "$CURRENT_SIZE" -gt "$MAX_SIZE" ]
  then
    rm -rf /tmp/*
    echo "All files in /tmp have been deleted."
  else
    echo "Files in /tmp have been deleted. The /tmp directory is now below the maximum size of 2GB."
  fi
else
  echo "The /tmp directory is not large enough to trigger file deletion. No files have been deleted."
fi

3. 마지막으로, 작업 디렉토리에서 스크립트(temp_file_terminator.sh)를 실행하려면 아래의 bash 명령을 실행하세요 (./).

sudo bash ./temp_file_terminator.sh

/tmp 디렉토리의 크기에 따라 스크립트는 파일을 삭제하거나 파일이 삭제되지 않았음을 나타내는 메시지를 출력합니다.

Running the Bash script to automate checking disk space and deleting files

결론

Ubuntu에서 디스크 공간을 관리하는 것은 모든 Linux 관리자에게 필수적인 기술입니다. 올바른 도구와 기술을 사용하면 명령 줄 및 GUI(Disks 앱)를 통해 시스템을 원활하게 유지할 수 있습니다.

그리고 이 튜토리얼에서는 명령 줄 및 GUI를 통해 디스크 공간을 보고 관리하는 여러 방법을 배웠습니다.

이제 왜 이 도구들을 실전에 적용하고 Amazon EFS 파일 시스템 객체를 숙달하는 다음 단계를 밟지 않는 건 어떨까요?

Source:
https://adamtheautomator.com/ubuntu-disk-space/