우분투 데스크톱에서 Btrfs 스냅샷을 자동으로 설정하는 방법

Ubuntu Desktop 26.04 LTS 설치 가이드에는 표준 및 고급 디스크 설정 옵션이 나열되어 있지만, 설치 옵션으로 Btrfs는 나와 있지 않습니다. 이 가이드는 2026년 5월 6일에 마지막으로 업데이트되었습니다. 즉, Btrfs를 사용하는 Ubuntu 데스크톱은 사용자 지정 파티션 또는 서브볼륨 레이아웃을 사용할 수 있습니다. 스냅샷 자동화를 시작하기 전에 실제로 마운트된 항목이 무엇인지 확인해야 합니다 /. Btrfs 루트 서브볼륨을 가정하는 Snapper 명령은 오류가 발생하거나 잘못된 데이터를 보호할 수 있습니다. 이 가이드에서는 검증된 Btrfs 서브볼륨에 Snapper를 사용하여 시간 단위 타임라인 스냅샷을 설정하고, 오래된 스냅샷이 영구적으로 누적되지 않도록 예약된 정리 작업을 활성화합니다.

Snapper는 Ubuntu 저장소에서 사용할 수 있으며, Ubuntu 26.04 LTS(Resolute) 패키지에는 타임라인 및 정리 작업을 위한 systemd 유닛이 포함되어 있습니다. 아래 명령어는 스냅샷 대상이 Btrfs 서브볼륨인 시스템을 기준으로 작성되었습니다. Ubuntu 설치 환경에서 ext4, LVM 또는 Btrfs 최상위 마운트를 사용하는 경우, 보호하려는 서브볼륨이 아닌 경우에는 레이아웃 검사 단계에서 중단하고 먼저 레이아웃 문제를 해결해야 합니다.

Btrfs 스냅샷은 무엇을 보호하나요?

Btrfs 스냅샷은 특정 시점의 서브볼륨으로, 초기에는 원본과 파일 익스텐트를 공유합니다. 스냅샷은 파일을 복구하거나 실수로 편집 또는 업데이트한 후 시스템 상태를 비교하는 데 유용합니다. 하지만 스냅샷은 독립적인 백업이 아닙니다. 스냅샷은 원본 파일 시스템과 동일한 파일 시스템에 저장되므로 디스크 오류, 파일 시스템 손상, 도난 또는 전체 파일 시스템의 실수로 인한 삭제 등으로 인해 원본 데이터와 스냅샷 모두 손실될 수 있습니다.

스냅샷은 중첩된 서브볼륨을 재귀적으로 캡처하지 않습니다. /home별도의 서브볼륨이 있는 경우 루트 서브볼륨의 스냅샷에는 해당 서브볼륨의 내용이 포함되지 않습니다 /home. 보호해야 하는 각 서브볼륨마다 Snapper 구성을 하나씩 계획하거나 사용자 데이터는 별도의 백업을 사용하십시오. 재해 복구를 위해 다른 장치 또는 원격 시스템에 백업 복사본을 보관하십시오.

1. Ubuntu가 Btrfs 파일 시스템에서 실행 중인지 확인하십시오.

터미널을 열고 루트 마운트를 확인하십시오.

findmnt -no SOURCE,FSTYPE,OPTIONS /
sudo btrfs subvolume show /
sudo btrfs subvolume list /

첫 번째 명령은 btrfs파일 시스템 유형을 보고해야 합니다. 항목의 마운트 옵션을 검토 subvol=하고 서브볼륨 목록을 사용하여 레이아웃을 파악하십시오. 두 번째 명령은 마운트된 서브볼륨을 식별해야 합니다 /. 파일 시스템 유형이 Btrfs가 아닌 경우 이 Snapper 절차는 적용할 수 없습니다. 명령이 /서브볼륨이 아니라고 보고하거나 최상위 서브볼륨이라고 표시하는 경우, 루트 Snapper 구성을 무턱대고 생성하지 마십시오. Btrfs의 최상위 서브볼륨에는 특별한 제약 사항이 있습니다. 올바르게 설계된 서브볼륨 레이아웃을 사용하거나 검증된 별도의 서브볼륨을 스냅샷하십시오.

` / /homeusr ...findmnt /homesudo btrfs subvolume show /home

2. Snapper와 Btrfs 도구를 설치합니다.

대상이 Btrfs 서브볼륨임을 확인했으면 Ubuntu 패키지를 설치하십시오.

sudo apt update
sudo apt install snapper btrfs-progs

snapper스냅샷 구성 및 보존을 관리하고, btrfs-progsBtrfs 파일 시스템을 검사하는 데 유용한 유틸리티를 제공합니다. 새 구성을 생성하기 전에 이미 존재하는 구성이 있는지 확인하십시오.

sudo snapper list-configs

이미 동일한 이름의 구성이 root올바른 루트 서브볼륨을 가리키는 경우, 중복 생성을 하지 말고 해당 구성을 유지하고 설정을 검토하십시오. 출력 내용이 비어 있고 /보호하려는 서브볼륨으로 확인된 경우, 구성을 생성하십시오.

sudo snapper -c root create-config /

이 create-config명령은 선택한 서브볼륨에 대한 Snapper 구성과 스냅샷 디렉터리를 생성합니다. 구성이 이미 존재하거나 경로가 서브볼륨이 아니라는 메시지가 표시되면 명령을 중지하고 현재 설정을 확인하십시오. 기존 구성을 삭제하여 명령을 강제로 실행하지 마십시오.

3. 스냅샷 일정 및 보존 정책을 선택하세요.

Snapper의 타임라인 모드는 시간 단위 스냅샷을 생성할 수 있으며, 타임라인 정리 알고리즘은 선택한 시간별, 일별, 주별, 월별 및 연별 스냅샷을 유지할 수 있습니다. 여유 공간이 제한적인 데스크톱의 경우, 무제한 기록을 유지하기보다는 적절한 정책을 설정하고 저장 공간을 모니터링하는 것이 좋습니다. 이 예시에서는 연별 스냅샷 없이 시간별 6개, 일별 7개, 주별 4개, 월별 3개의 스냅샷을 요청합니다.

sudo snapper -c root set-config 'TIMELINE_CREATE=yes TIMELINE_CLEANUP=yes TIMELINE_LIMIT_HOURLY=6 TIMELINE_LIMIT_DAILY=7 TIMELINE_LIMIT_WEEKLY=4 TIMELINE_LIMIT_MONTHLY=3 TIMELINE_LIMIT_YEARLY=0'

이 값들은 보존 범주를 나타내는 것이며, 디스크 공간에 대한 엄격한 제한은 아닙니다. 변경되거나 삭제된 대용량 파일은 스냅샷이 해당 파일을 참조하는 한 이전 데이터 익스텐트에 할당된 상태를 유지할 수 있습니다. 사용 가능한 공간은 다른 Btrfs 서브볼륨 및 파일에도 영향을 받습니다. 주기적으로 확인 df -h /하고 sudo btrfs filesystem usage /파일 시스템이 가득 차면 보존 기간을 줄이거나 저장 공간을 추가하십시오. 여러 구성을 한 번에 편집하지 말고, sudo snapper -c root get-config변경 후에는 명령어를 실행하여 값을 검증하십시오.

4. Snapper의 systemd 타이머를 활성화합니다.

Ubuntu 26.04 LTS에서는 Snapper 패키지 파일 목록에 snapper-timeline.timer와 가 포함되어 있습니다 snapper-cleanup.timer. systemd가 주기적으로 타임라인 스냅샷을 생성하고 정리 작업을 실행하도록 두 가지 모두 활성화하십시오.

sudo systemctl enable --now snapper-timeline.timer snapper-cleanup.timer

해당 콘텐츠가 로드되었는지 확인하고 다음 예약 일정을 확인하세요.

systemctl list-timers snapper-timeline.timer snapper-cleanup.timer
systemctl status snapper-timeline.timer snapper-cleanup.timer

타이머가 활성 상태로 표시된다는 것은 systemd가 스케줄을 로드했다는 의미일 뿐, Snapper가 스냅샷을 성공적으로 생성했다는 것을 보장하는 것은 아닙니다. 다음 타임라인 실행 후 구성 및 스냅샷 목록을 확인하십시오.

sudo snapper list-configs
sudo snapper -c root list

예약된 실행 후 타임라인 스냅샷이 나타나지 않으면, TIMELINE_CREATE설정이 올바른지 확인한 yes다음, 서비스 로그를 확인하십시오 journalctl -u snapper-timeline.service -b. 패키지된 유닛과 로그를 확인하기 전까지는 사용자 지정 타이머를 생성하지 마십시오. 중복된 스케줄은 의도한 것보다 더 많은 스냅샷을 생성할 수 있습니다.

5. Btrfs 홈 서브볼륨에 대한 별도의 구성을 추가합니다.

레이아웃 검사에서 해당 /home서브볼륨이 Btrfs 서브볼륨이고 목표에 사용자 파일이 포함된 경우에만 이 작업을 수행하십시오. 먼저 실행하여 sudo snapper list-configs이름이 사용되지 않는지 확인하십시오 home. 그런 다음 해당 서브볼륨에 대한 구성을 생성하고 별도의 보존 정책을 적용하십시오.

sudo snapper -c home create-config /home
sudo snapper -c home set-config 'TIMELINE_CREATE=yes TIMELINE_CLEANUP=yes TIMELINE_LIMIT_HOURLY=6 TIMELINE_LIMIT_DAILY=7 TIMELINE_LIMIT_WEEKLY=4 TIMELINE_LIMIT_MONTHLY=3 TIMELINE_LIMIT_YEARLY=0'

타임라인 생성 및 정리가 활성화된 Snapper 구성은 동일한 systemd 타이머로 처리되므로 별도의 타이머는 일반적으로 필요하지 않습니다. 제대로 sudo snapper -c home list작동하고 sudo snapper -c home get-config의도한 값이 표시되는지 확인하십시오. 라는 이름의 디렉터리는 /home자동으로 별도의 하위 볼륨이 되지 않으므로 실행하기 전에 확인하십시오 create-config.

자동화가 제대로 작동하고 있다는 것을 어떻게 알 수 있나요?

  • 구성: sudo snapper list-configs 의도한 이름과 하위 볼륨을 표시합니다.
  • 정책: sudo snapper -c root get-config 보고서 타임라인 생성 및 정리 기능이 활성화되었습니다.
  • 일정: systemctl list-timers 두 개의 스내퍼 타이머와 다음 작동 시간을 보여줍니다.
  • 스냅샷: sudo snapper -c root list 타이머가 종료된 후 날짜별 항목을 보여줍니다.
  • 서비스 상태: journalctl -u snapper-timeline.service -b 스냅샷 생성을 방해하는 반복적인 오류가 없습니다.

컴퓨터가 예약된 시간에 종료되는 경우, 장치 설정에 따라 타이머가 나중에 실행될 수 있습니다. 하지만 이는 생성된 스냅샷을 확인하는 것을 대체할 수 없습니다. Snapper가 스냅샷을 생성할 수 있는지 확인하기 위해 간단한 수동 테스트를 수행할 수 있습니다. Snapper를 실행한 sudo snapper -c root create --description 'setup test'다음 스냅샷 목록을 다시 확인하십시오. 이 테스트는 타이머가 아닌 구성을 확인하는 것입니다. 나중에 올바른 항목을 선택했는지 확신하는 경우에만 테스트 스냅샷을 삭제하십시오.

어떤 문제가 발생할 수 있으며, 무엇을 피해야 할까요?

첫째, 스냅샷은 시간이 지남에 따라 공유 파일 시스템 용량을 소모합니다. 보존 제어를 통해 오래된 기록은 줄어들지만, 보존되는 데이터의 양은 파일 변경 사항에 따라 달라집니다. 사용 가능한 공간을 모니터링하고 정리 작업이 실행 중인지 확인하십시오. 둘째, 루트 스냅샷은 하위 볼륨( /home예: /etc/snap ...

자동 스냅샷을 백업의 대체품으로 생각하지 마십시오. 중요한 파일은 다른 물리적 장치나 원격 위치에 복사해 두고, 주기적으로 해당 파일을 복원할 수 있는지 확인하십시오. 가장 안정적인 Ubuntu 데스크톱 환경을 구축하려면 Snapper를 사용하여 편리한 로컬 복원 지점을 만들고, 별도의 백업 도구를 사용하여 독립적인 복사본을 생성하며, 시스템 수준 오류 발생 시 검증된 복구 절차를 활용하십시오.

공식 참고 자료

댓글 남기기

손실된 파티션과 하드 디스크 데이터를 안전하게 복구하는 방법

손실된 파티션과 하드 디스크 데이터를 안전하게 복구하는 방법

TestDisk와 PhotoRec을 사용하여 손실된 파티션과 파일을 복구하는 방법을 알아보세요. 원본 드라이브를 보호하고 안전하게 스캔한 다음 복구된 데이터를 다른 디스크에 저장하세요.

리눅스 데스크톱에서 QR 코드를 스캔하는 방법

리눅스 데스크톱에서 QR 코드를 스캔하는 방법

웹캠이나 이미지 파일을 사용하여 CoBang으로 Linux에서 QR 코드를 스캔하세요. Flatpak 카메라 접근 관련 설치 옵션, 설정 단계 및 문제 해결 방법을 참조하세요.

Cameractrls를 사용하여 Linux에서 웹캠 설정을 변경하는 방법

Cameractrls를 사용하여 Linux에서 웹캠 설정을 변경하는 방법

Cameractrls를 사용하여 Linux에서 웹캠 설정을 변경하세요. 노출, 색상, 깜빡임 감소 및 기타 지원되는 제어 기능을 조정하고 호환되는 비디오 모드를 확인하세요.

Linux에 PhpStorm을 설치하는 방법: Toolbox, Tar.gz, Snap 및 AUR

Linux에 PhpStorm을 설치하는 방법: Toolbox, Tar.gz, Snap 및 AUR

Linux에 PhpStorm을 설치하려면 JetBrains Toolbox 또는 독립 실행형 tar.gz 아카이브를 사용하세요. Snap 및 Arch AUR 옵션도 제공됩니다. Java는 이미 포함되어 있습니다.

리눅스에 Cisco Packet Tracer를 설치하는 방법

리눅스에 Cisco Packet Tracer를 설치하는 방법

Cisco Packet Tracer 9.0.1 for Ubuntu 64비트 버전을 다운로드하고, APT를 사용하여 DEB 패키지를 설치한 다음, 터미널에서 라이선스에 동의하고 로그인하여 실습을 시작하십시오.

XFCE 4에서 듀얼 패널을 설정하는 방법

XFCE 4에서 듀얼 패널을 설정하는 방법

각 디스플레이마다 별도의 XFCE 4 패널을 생성하고, 두 번째 패널을 올바른 출력에 할당하고, 위치와 크기를 조정한 다음, 필요한 실행기와 상태 항목을 추가합니다.

리눅스에서 CD-ROM을 ISO 파일로 백업하는 방법

리눅스에서 CD-ROM을 ISO 파일로 백업하는 방법

GNOME Disks 또는 dd 명령어를 사용하여 Linux에서 CD-ROM ISO 파일을 생성합니다. 광학 드라이브를 식별하고, 복사 과정을 모니터링하고, 이미지 유효성을 검사하고, 손상된 디스크나 오디오 디스크에 다른 도구가 필요한 경우를 알 수 있습니다.

리눅스에서 GIMP를 사용하여 이미지를 잘라내는 방법

리눅스에서 GIMP를 사용하여 이미지를 잘라내는 방법

GIMP를 사용하여 Linux에서 사진 배경 제거하기: 피사체를 따라 그리고, 선택한 배경을 삭제하고, 투명도를 유지한 다음, 재사용 가능한 PNG 파일로 내보낼 수 있습니다.

FlightGear 무료 다운로드: 공식 설치 가이드

FlightGear 무료 다운로드: 공식 설치 가이드

FlightGear를 공식 사이트에서 무료로 다운로드하세요. Windows, macOS, Linux 패키지를 비교하고, 데이터 파일을 설치한 후 첫 비행을 시작하세요.

Google Tasks 데스크톱 애플리케이션: 컴퓨터에서 사용하는 방법

Google Tasks 데스크톱 애플리케이션: 컴퓨터에서 사용하는 방법

브라우저에서 Google Tasks를 열거나, Chrome 바로가기 또는 앱 스타일 실행을 추가하고, 캘린더 및 Gmail을 통해 날짜별 할 일을 관리하세요.