Windows와 같은 Linux (Debian / Ubuntu)에 "복원 지점"이 있습니까?


17

우분투 가상 머신 (VM)에서 직접 일하고 있습니다. 커널과 같은 일부 업데이트는 업데이트 관리자에서 제공되었습니다.

VM을 사용하지 않는 경우 무언가를 깰 위험이 있으므로 업데이트하지 않습니다. VM이므로 스냅 샷을 생성하거나 어플라이언스를 내보내고 문제가 발생한 경우 복원 할 수 있습니다.

데비안 / 우분투 설치와 함께 VM을 사용하지 않는다고 가정하십시오. VM 어플라이언스처럼 쉽게 복원 할 수 있도록 업그레이드 전에 시스템을 정확하게 복원하기 위해 VM 구성에 의존하지 않는 (Windows의 "복원 지점"과 같은) 설치 복원 방법이 있습니까?

(나는 "고스트 이미지"나 그와 비슷한 것을 찾지 않고 (Norton Ghost, Clonezilla 등) Linux 시스템에 내장 된 것을 찾고있다)


3
나는 이것이 주제에 맞지 않다는 것을 알고 있으므로 주석으로 추가하고 있지만 OpenSolaris는 전체 ZFS 파일 시스템의 스냅 샷을 만들어 나중에 복원 할 수 있습니다. 중복 제거로 인해 디스크 공간도 많이 차지하지 않습니다. 실제로 주요 업그레이드를 수행하는 표준 방법은 새 FS 스냅 샷을 생성하고 업그레이드를 설치하는 것입니다. ti가 작동하면 이전 것을 삭제할 수 있습니다. 그렇지 않다면, 당신은 작동했던 것으로 되돌아 갈 수 있습니다.
AndrejaKo

3
@AndrejaKo : +1 그러나 "복제본"(쓰기 가능한 스냅 샷, 일반 스냅 샷은 읽기 전용)이며 많은 공간이 필요하지 않다는 사실은 중복 제거와 관련이 없지만 스냅 샷 및 클론이 처리되는 방식과 관련이 있습니다. COW 파일 시스템에서. 즉, 중복 제거되지 않은 풀에서도 동일한 디스크 공간을 절약 할 수 있습니다.
knweiss

@knweiss 그래, 맞아. 방금 찾았 어!
AndrejaKo

답변:


15

내가 아는 Linux 배포판에는 비슷한 기능이 내장되어 있지 않습니다. Windows보다 유용성이 떨어지는 데는 몇 가지 이유가 있습니다.

  • 기본적으로 Linux 배포는 중요한 버그를 수정하고 최소한의 변경만으로 안정된 릴리스를 업그레이드한다는 점에서 Microsoft보다 훨씬 심각합니다. 예를 들어, Ubuntu 및 Debian에서는 보안 업데이트 만 받거나 ( -security) 보안 업데이트 및 중요한 버그 수정 만 받도록 선택할 수 있습니다 -updates.

  • 유익한 변경이 특정 하드웨어 구성에 문제를 일으킬 가능성이 있기 때문에 커널 업그레이드가 가장 위험합니다. 그렇기 때문에 대부분의 배포판에서 동시에 둘 이상의 커널 버전을 설치할 수 있습니다. 예를 들어,이 글을 쓰는 시점에서 Ubuntu 10.04에는 2.6.32.21.22원래 릴리스, 2.6.32.22.23보안 업데이트 및 비보안 업데이트의 세 가지 커널 버전이 있습니다 2.6.32.23.24. ... 24 릴리스가 컴퓨터에서 문제를 일으키는 경우 ... 23에서 재부팅 할 수 있습니다 (적어도 적성을 사용하는 경우 ... 24는 설치가 금지 된 것으로 표시).

  • 레지스트리가 없습니다. 모든 구성 데이터는 파일 ( /etc계층 구조)로되어있어 문제가 발생하면 개별적으로 쉽게 복원 할 수 있습니다. 그럼에도 불구하고 안정 릴리스 업데이트는 아래의 파일에는 거의 영향을 미치지 않습니다 /etc.

  • 안정 릴리스 이외의 소스에서 패키지를 설치하는 경우 이전 버전의 패키지 사본을 유지하고 구성 파일의 백업을 유지하려고 할 수 있습니다. 데비안과 우분투에서 이것에 대한 몇 가지 힌트가 있습니다.

    • 다운로드 한 패키지는에 보관됩니다 /var/cache/apt/archives. 디스크 공간이 있으면 최신 버전이 제대로 작동하는지 확인할 때까지 이전 패키지 파일을 삭제하지 마십시오.
    • 많은 소스가 이전 버전을 유지하므로 수동으로 이전 버전을 다운로드하여 설치하거나 적절한 환경 설정을 사용하여 쉽게 다운 그레이드 할 수 있습니다. 데비안은 snapshot.debian.org를보십시오 .
    • 버전 제어를 설정하는 매우 쉬운 방법이 있습니다 /etc. etckeeper패키지를 설치 하고 명령으로 활성화하십시오 etckeeper init. (그렇지만 업그레이드가 무언가를 깨뜨리는 것에 대해 걱정하기 때문이 아니라 변화가 무언가를 깨뜨리는 것에 대해 걱정하기 때문이 아닙니다.)

예, Windows의 안정성과 Debian / stable의 비교는 없습니다. 문제가 발생하더라도 (거의 사용자 실수로 인한 것임) 문제를 디버깅하고 수정하는 도구가 많이 있습니다.
liori

2
"커널 업그레이드는 가장 위험한 업그레이드입니다."-컴퓨터 옆에 Knoppix 사본을 보관하십시오. 5하지 (6)
amphetamachine

rsync 기반의 파일 시스템 스냅 샷 유틸리티 인 유용한 [rsnapshot] (rsnapshot.org)도 있습니다.
Pablo A

5

패키지 관리자는 어떤 파일이 어떤 패키지인지 확인하고 패키지 업데이트 또는 설치를 롤백 할 수 있으므로 필요하지 않습니다.


2
그러나 재부팅 중에 패키지가 손상된 경우 롤백을 수행하는 것이 어려워 질 수 있습니다 (특히 커널 개정과 관련됨)
warren

1
그렇기 때문에 일반적으로 이전 커널이 유지되고 grub에서 부팅되도록 선택할 수 있습니다.
mbq

1
난 동의하지 않는다. 간단한 재부팅만으로 OS 업데이트 x와 업데이트 x + 1 (커널 패키지보다 훨씬 큰 차이가있을 수 있음)간에 전환 할 수 있으면 매우 유용합니다. OpenSolaris에서 가능합니다.
knweiss

안정적인 드라이버를 찾는 것을 제외하고는 모든 것이 가능합니다 ;-)
mbq

5

etckeeper 와 같은 도구를 사용해 볼 수 있습니다. 이 도구는 시스템 전체의 구성 파일을 버전 제어 저장소에 보관하고 변경 사항을 쉽게 롤백하고 다시 적용 할 수 있도록합니다.

그러나 솔직히 말해서, 데비안 / 안정적인 시스템의 업데이트로 인한 변경 사항을 롤백 할 필요가 없었습니다. 수동으로 실수를 수정하는 데 사용합니다.


나는 etckeeper를 사용하지만 실제로 롤백보다 변경 일정을 보는 것이 더 유용하다는 것을 알았습니다 (물론 두 능력을 모두 얻습니다). 내장 웹 서버 (예 : hg, git, bzr 등)를 사용하는 것이 가장 쉬운 방법입니다.sudo hg serve -R /etc

3

TMK, Windows 복원 기능은 레지스트리 및 일부 중요한 디렉토리의 변경 사항 만 되돌립니다. 리눅스는 이것을 가지고 있지 않습니다.

백업으로 수동 접근을 시도 할 수 있습니다. Synaptic에서 홈 디렉토리와 프로그램 목록을 백업하고이를 복원 지점으로 사용하십시오.


3

특히 Ubuntu (또는 아마도 데비안 일 수도 있음)는 업데이트를 설치할 때 이전 커널 패키지를 제거하지 않으며 부팅 할 때 선택할 커널 목록을 제공하도록 부트 로더를 구성 할 수 있습니다.

최신 버전에서 문제가 발생하면 이전 버전을 선택할 수 있기 때문에 커널에 대해서만 "복원 지점"이 자동으로 생성됩니다. 내가 아는 한, Windows는 커널 업데이트에 대해 이와 같은 것을 가지고 있지 않습니다. (특히 가정용 사용자의 경우 커널 업데이트로 인해 부팅 할 수없는 시스템을 진단하고 수정하는 데 도움을 드리고 싶지 않습니다.)


3

Timeshift라는 도구가 있습니다. ( http://www.teejeetech.in/p/timeshift.html ) 나는 그것을 사용하지는 않았지만 유망 해 보였고 사용자로부터 그것에 대해 좋은 소식을 들었습니다. 스냅 샷은 데이터 복제를 방지하도록 설계되었습니다. 모호한 웹 사이트로 인해 두려워하지 마십시오. :)


2

당신이 사용하는 경우 논리 볼륨 관리자를 하드 디스크의 내용을 관리하기 위해, 당신은 스냅 샷을 사용하여 어느 정도 무료이 얻을. 위대한 하우투 를 인용하려면 : "한 예는 볼륨 스냅 샷을 생성하고 스냅 샷을 마운트 한 다음 해당 볼륨의 파일을 변경하는 실험적인 프로그램을 시도하는 것입니다. 수행 한 작업이 마음에 들지 않으면 스냅 샷을 마운트 해제하고 제거 할 수 있습니다. 원래 파일 시스템을 그 자리에 마운트하십시오. "


Ubuntu 12.04+에서 제안 된 디스크 파티셔닝은 LVM을 사용하므로 이것이 가장 좋은 제안입니다.
kevinf

1

VM 기술에 따라 VM을 중지 / 일시 중지 / 일시 중지하고 코어를 덤프하고 VM 이미지를 복사 할 수 있습니다. 실패하면 원본을 복원하십시오.

논리 볼륨을 사용하는 경우 원래 LV를 기반으로 LVM 스냅 샷을 생성 할 수 있습니다. 업그레이드를 테스트하고 작동하는 경우 원래 VM에서 다시 실행하십시오 (lvcreate (8) -s 참조)

또는 금 오래된 타르 (1)를 사용하십시오. 사용자 공간의 완전한 타르 볼을 생성하고 파일을 복원하고 원래 타르 볼에없는 파일을 제거했습니다.


질문에서 : "VM 구성에 의존하지 않는 설치 복원 방법이 있습니까?"
Ben Voigt 2016 년

1

현재 Linux는 매우 유용 하지만 실제로 그러한 기능을 제공하지는 않습니다 .

그러나 Unbreakable upgrade, ZFS 및 Apt 기사 는 Linux 기반 Nexenta 스토리지 배포판 의 apt-clone 기능을 설명 하고 제안합니다 ...

또한 ZTR에 대한 응답으로 ZFS에 대한 응답으로 새로운 파일 시스템이 일부 생성되고 있으며, 이는 ZFS의 많은 장점을 가지며 향후 우분투와 같은 일반적인 Linux 배포판에 대해“깨지지 않는 업그레이드”를 가능하게 할 수 있습니다.

IMHO 우리는 먼저 Linux 용 으로 사용 가능한 COW (Copy-On-Write) 파일 시스템이 필요합니다.

주의 : Nexenta는 Linux 기반이지만 Linux 커널을 사용하지 않습니다. OpenSolaris 커널과 ZFS를 사용합니다.


나는 니 니트를 고르려는 것이 아니지만 리눅스 커널이없는 리눅스 기반은 약간의 옥시 모론이다.
Seamus Connor
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.