パッケージを以前のバージョンにダウングレードする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"は、更新またはダウングレードされたパッケージを強制的に削除するように指示します。

元に戻す/やり直すコマンドは、指定されたトランザクションに対して機能し、そのトランザクションの操作を元に戻すかやり直します。 rollback コマンドは、指定されたトランザクションより前のすべてのトランザクションを元に戻します。たとえば、パッケージAとCがそれぞれインストールされている3つのトランザクションがある場合、「アンドゥ1」はパッケージAを削除しようとし、「再実行1」はパッケージAがまだインストールされていない場合はインストールを試みますそして、「ロールバック1」はパッケージBとCを削除しようとします。 「ロールバック1」では4番目のトランザクションが発生しますが、トランザクション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
...

おすすめ記事