업데이트 후 변경된 패키지 롤백을 지원하는 도구나 전체 배포판이 있습니까?
예: 패키지 A, B, C를 업그레이드했습니다. 며칠 동안 이 패키지를 사용한 후 B에서 거래를 중단시키는 버그를 발견했습니다.
버그 보고서를 제출하는 동시에 B를 이전 버전으로 다운그레이드하여 내가 하려는 작업을 수행해야 합니다. 동시에 A는 B에 의존하므로 다운그레이드도 필요하지만 C는 두 가지 모두에 독립적이므로 현재 버전을 유지할 수 있습니다.
이 기능을 지원하는 도구나 배포판이 있습니까?
대부분의 배포판에는 패키지를 다운그레이드할 수 있는 방법이 있다는 것을 알고 있지만 이전 패키지가 저장소에서 제거되었기 때문에 이는 종종 약간 개략적이거나 심지어 불가능하며 어떤 경우에는(예: X 서버 및 메사 포스트를 업그레이드하는 경우) 정말… 지저분한.
답변1
닉 OS업그레이드 롤백이 지원되지만 제가 이해한 바에 따르면 원하는 만큼 진행되지는 않습니다. A, B, C를 한 번에 업그레이드하는 경우 A와 B뿐만 아니라 전체 작업을 롤백할 수 있습니다. A, B, C를 롤백한 다음 C를 업그레이드할 수 있습니다...) 하지만 트랜잭션 관점에서는 의미가 있습니다.
데비안(와스냅샷 아카이브더 이상 기존 패키지가 없으면 B를 다운그레이드할 수 있으며, apt
또는 같은 도구 aptitude
에서는 대부분의 경우 A도 다운그레이드해야 한다는 것을 알 수 있습니다(단순히 B를 업그레이드하고 싶지 않다고 확신하면). 그러나 당신이 말했듯이 이것은 약간 혼란스러운 경향이 있으며 패키지 다운그레이드는 어쨌든 데비안에서 지원되지 않습니다(즉, 대부분의 경우 작동하지만 작동하지 않으면 버그가 아닙니다).
답변2
배포 yum
기반 배포(예:레드햇 EL,중앙 운영 체제등) 다음을 수행할 수 있습니다.
다음 명령을 사용하여 시스템 변경 내역을 확인하세요.
sudo yum history list
Loaded plugins: fastestmirror ID | Login user | Date and time | Action(s) | Altered ------------------------------------------------------------------------------ 10 | Administrator <admin> | 2016-03-08 09:08 | Install | 11 9 | Administrator <admin> | 2016-03-03 16:48 | Install | 1 8 | Administrator <admin> | 2016-03-03 16:09 | Install | 5 7 | Administrator <admin> | 2016-02-26 18:13 | Install | 1 6 | Administrator <admin> | 2016-02-26 15:12 | Install | 27 5 | Administrator <admin> | 2016-02-26 15:07 | Install | 1 4 | Administrator <admin> | 2016-02-26 15:05 | Install | 3 < 3 | Administrator <admin> | 2016-02-26 15:03 | Install | 1 > 2 | Administrator <admin> | 2016-02-26 15:01 | I, U | 49 1 | System <unset> | 2016-02-26 14:38 | Install | 296 history list
세부정보를 확인하려면 다음을 이용하세요.
sudo yum history info 10
- 기록의 이전 지점으로 롤백하려면 다음을 사용하십시오.
sudo yum history rollback 9
경고하다
몇 가지 분명한 주의 사항이 있습니다.
- 이전 패키지를 더 이상 사용할 수 없다면 망한 것입니다(@vonbrand 인용).
- yum 이외의 항목을 설치하면 기록이 깨질 수 있습니다.
내 예에서 <
ID가 있는 행 4
(마지막 열)에 있다는 것은 해당 지점을 지나서 롤백할 수 없다는 것을 의미합니다.
sudo yum history rollback 2
Loaded plugins: fastestmirror
Transaction history is incomplete, before 4.
You can use 'history rollback force', to try anyway.
Error: Failed history rollback, incomplete
답변3
존재하다SUSE 열기당신은 쉽게 사용할 수 있습니다Btrfs 파일 시스템을 사용하는 Snapper.
당신이 사용하는 경우기준설치 중 파일 시스템 구성,기본적으로 활성화됨.
Snapper가 활성화되면 yast2
와 완전히 통합 됩니다 zypper
. 무언가를 설치하거나 업그레이드할 때마다(또는 사용자를 생성할 때 등) 파일 시스템 스냅샷이 생성됩니다.
시스템을 이전 상태로 롤백하려면 를 실행하면 됩니다 yast2 snapper
.
답변4
Fedora에서는(다른 배포판에서도 마찬가지일 것입니다) 이전 버전으로 돌아가도록 요청할 수 있습니다.
dnf downgrade <packages>
패키지의 두 번째 버전을 제공하면 다음을 통해 특정 버전을 요청할 수 있습니다.
dnf downgrade <package>.<version>
이는 패키지가 저장소에서 아직 사용 가능한 경우에만 작동합니다. 그럼에도 불구하고 이 기능은 들어본 적이 없습니다. 업그레이드의 일부가 구성 변경인 경우 롤백이 정확한 이전 버전일 필요는 없다는 장애물이 있습니다.