Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

14.4. 스냅샷 간 변경 사항 취소

기존의 두 개의 snapper 스냅샷 간 변경 사항을 되돌리려면 다음 형식으로 undochange 명령을 사용하십시오. 여기서 1 은 첫 번째 스냅샷이고 2 는 두 번째 스냅샷입니다.
snapper -c config_name undochange 1..2
중요
undochange 명령을 사용하면 snapper 볼륨을 원래 상태로 되돌리지 않고 데이터 일관성을 제공하지 않습니다. 지정된 범위 외부에서 발생하는 파일 수정(예: 스냅샷 2 이후)은 다시 되돌아가면 변경되지 않은 상태로 유지됩니다(예: 스냅샷 1의 상태). 예를 들어 undochange 가 실행되어 사용자 생성을 취소하는 경우 해당 사용자가 소유한 모든 파일은 계속 남아 있을 수 있습니다.
파일 일관성을 스냅샷으로 유지하는 메커니즘도 없으므로 undochange 명령을 사용할 때 이미 존재하는 불일치를 스냅샷으로 다시 전송할 수 있습니다.
그렇지 않으면 오류가 발생할 수 있으므로 root 파일 시스템과 함께 snapper undochange 명령을 사용하지 마십시오.
다음 다이어그램에서는 undochange 명령이 작동하는 방법을 보여줍니다.

그림 14.1. Time over Time 상태

Time over Time 상태
다이어그램은 snapshot_1 이 생성되는 시점, file_a 가 생성된 다음 file_b 가 삭제됩니다. 그러면 Snapshot_2 가 생성되고 file_a 가 편집되고 file_c 가 생성됩니다. 이는 현재 시스템의 현재 상태입니다. 현재 시스템에는 file_a, file_b 및 새로 생성된 file_c 가 편집되어 있습니다.
undochange 명령을 호출하면 snapper가 나열된 첫 번째 스냅샷과 두 번째 스냅샷 사이에 수정된 파일 목록을 생성합니다. 다이어그램에서 snapper -c snapper Example undochange 1..2 명령을 사용하는 경우, snapper는 수정된 파일 목록을 만듭니다(즉, file_a 가 생성됨, file_b 는 삭제됨) 현재 시스템에 적용합니다. 따라서 다음을 수행합니다.
  • snapshot_1 을 생성할 때 아직 생성되지 않았으므로 현재 시스템에는 file_a 가 없습니다.
  • file_b 가 존재하며 snapshot_1 에서 현재 시스템으로 복사되었습니다.
  • file_c 는 지정된 시간 이외에 생성되었기 때문에 존재합니다.
file_bfile_c 충돌이 발생하면 시스템이 손상될 수 있습니다.
snapper -c snapperExample undochange 2..1 명령을 사용할 수도 있습니다. 이 경우 현재 시스템은 file_a 의 편집 버전을 snapshot_1 에서 복사한 버전으로 교체하여 snapshot_2 를 생성한 후 해당 파일의 편집을 취소합니다.

마운트 및 마운트 해제 명령을 사용하여 변경 사항

undochange 명령은 수정을 취소할 수 있는 가장 좋은 방법은 아닙니다. statusdiff 명령을 사용하면 적격한 결정을 내리고 snapper 대신 mountunmount 명령을 사용할 수 있습니다. mountunmount 명령은 스냅샷을 마운트하고 snapper 워크플로우와 독립적으로 콘텐츠를 검색하는 경우에만 유용합니다.
필요한 경우 mount 명령은 마운트 전에 각 LVM snapper 스냅샷을 활성화합니다. 스냅샷 마운트 및 여러 파일의 이전 버전을 수동으로 추출하는 데 관심이 있는 경우 마운트 및 마운트 해제 명령을 사용합니다. 파일을 수동으로 되돌리려면 마운트된 스냅샷에서 현재 파일 시스템으로 복사합니다. 현재 파일 시스템인 스냅샷 0은 절차 14.1. “snapper 구성 파일 생성” 에서 생성된 라이브 파일 시스템입니다. 파일을 원래 /mount-point의 하위 트리에 복사합니다.
명시적인 클라이언트 측 요청을 위해 mountunmount 명령을 사용합니다. /etc/snapper/configs/config_name 파일에는 사용자와 그룹을 추가할 수 있는 ALLOW_USERS= 및 ALLOW_GROUPS= 변수가 포함되어 있습니다. 그런 다음 snapperd 를 사용하면 추가된 사용자 및 그룹에 대해 마운트 작업을 수행할 수 있습니다.