패키지를 이전 버전으로 다운그레이드하는 RPM용 올인원 명령이 있습니까?

패키지를 이전 버전으로 다운그레이드하는 RPM용 올인원 명령이 있습니까?

RPM을 좀 낮추고 싶습니다. 해당 스위치 조합이 있습니까? 예를 들어, 업그레이드할 때 일반적으로 실행되지만 스위치는 이전 패키지만 교체한다는 의미이므로 다운그레이드에는 작동하지 않는다는 것을 rpm -Uvh foo.rpm이해합니다 .-U

답변1

사용 속도

다음을 시도해 보십시오:

$ rpm -Uvh --oldpackage pkg1.rpm pkg2.rpm

rpm 매뉴얼 페이지에서 발췌

   rpm {-U|--upgrade} [install-options] PACKAGE_FILE ...

   This upgrades or installs the package currently installed to a newer 
   version.  This is the same as install, except all other version(s) of the  
   package are removed after the new package is installed.

   --oldpackage
          Allow an upgrade to replace a newer package with an older one.

YUM + 다운그레이드 사용

yum또한 다음 작업을 수행할 수 있어야 합니다 .

$ yum downgrade /path/pkg1.rpm /path/pkg2.rpm

YUM + 기록을 사용하여 실행 취소

이전에 pkgX-1.0을 설치한 다음 pkgX-1.1로 업그레이드한 경우 yum historypkgX-1.0을 사용하여 이 업그레이드를 확인하고 yum history undo이 업그레이드를 되돌릴 수 있습니다.

yum 역사 매뉴얼 페이지에서 발췌

실행 취소/다시 실행/롤백 명령은 단일 트랜잭션 ID 또는 Last 키워드와 이전 트랜잭션의 오프셋을 사용합니다. 예를 들어 250개의 트랜잭션을 완료한 경우 "last"는 트랜잭션 250을 나타내고 "last-4"는 다음 트랜잭션을 나타냅니다. 거래 246). redo 명령은 트랜잭션을 지정하기 전에 일부 선택적 매개변수를 사용할 수도 있습니다. "force-reinstall"은 해당 트랜잭션에 설치된 모든 패키지를 설치, 업그레이드 또는 다운그레이드하여 다시 설치하도록 지시합니다. "force-remove"는 업데이트되거나 다운그레이드된 패키지를 강제로 제거하도록 지시합니다.

실행 취소/다시 실행 명령은 지정된 트랜잭션에 대해 작동하여 해당 트랜잭션의 작업을 실행 취소하거나 다시 실행합니다. 롤백 명령은 지정된 트랜잭션 이전의 모든 트랜잭션을 실행 취소합니다. 예를 들어, 패키지 A와 C가 각각 설치된 3개의 트랜잭션이 있는 경우 그런 다음 "실행 취소 1"은 패키지 A를 제거하려고 시도하고, "다시 실행 1"은 패키지 A가 아직 설치되지 않은 경우 설치를 시도하며, "롤백 1"은 패키지 B와 C를 제거하려고 시도합니다. "롤백 1"에서는 네 번째 트랜잭션이 발생하지만 트랜잭션 1과 4의 최종 rpmdb 버전(yum 버전 참조)은 동일해야 합니다.

YUM 기록을 보려면:

$ sudo yum history | head
Loaded plugins: fastestmirror, langpacks, refresh-packagekit
ID     | Command line             | Date and time    | Action(s)      | Altered
-------------------------------------------------------------------------------
   120 | install httpd            | 2014-08-26 09:19 | Install        |    5   
   119 | install pydf             | 2014-08-22 17:11 | Install        |    1   
   118 | install xsel             | 2014-08-22 13:29 | Install        |    1   
   117 | install pastebinit       | 2014-08-22 13:26 | Install        |    2   
   116 | install xorg-x11-apps-0: | 2014-08-21 11:04 | Install        |    2   
   115 | remove adobe-release-x86 | 2014-08-21 02:18 | Erase          |    1   
   114 | update                   | 2014-08-21 02:15 | E, I, O, U     |   67  <

특정 거래를 취소하려면:

$ sudo yum history undo 120
Loaded plugins: fastestmirror, langpacks, refresh-packagekit, tsflags
Undoing transaction 120, from Tue Aug 26 09:19:17 2014
    Dep-Install apr-1.5.1-1.fc20.x86_64                 @updates
    Dep-Install apr-util-1.5.3-1.fc20.x86_64            @updates
    Dep-Install fedora-logos-httpd-21.0.1-1.fc20.noarch @fedora
    Install     httpd-2.4.10-1.fc20.x86_64              @updates
    Dep-Install httpd-tools-2.4.10-1.fc20.x86_64        @updates
Resolving Dependencies
--> Running transaction check
---> Package apr.x86_64 0:1.5.1-1.fc20 will be erased
---> Package apr-util.x86_64 0:1.5.3-1.fc20 will be erased
---> Package fedora-logos-httpd.noarch 0:21.0.1-1.fc20 will be erased
---> Package httpd.x86_64 0:2.4.10-1.fc20 will be erased
---> Package httpd-tools.x86_64 0:2.4.10-1.fc20 will be erased
--> Finished Dependency Resolution
...

관련 정보