web-dev-qa-db-ja.com

Yumを強制して、新しいパッケージに「廃止された」古いパッケージをインストールする方法は?

MySQLサーバーを実行しているCentOS 6ホストがあります。このサーバーをMySQL Enterprise ServerパッケージからMySQL Community Serverパッケージに移行します。具体的には次のとおりです。

  • MySQL Enterprise RPMはmysql-commercial- somethingと呼ばれ、バージョンは「5.7.22-1.1」です。これらをカスタムリポジトリに保存します。
  • コミュニティRPMはmysql-community- somethingと呼ばれ、 最新バージョンは '5.7.22-1' です。これは、商用バージョンの背後にある単一の '.1'リリースです。これらはパブリックリポジトリ( http://repo.mysql.com/ )に保存されます。

コミュニティRPMのバージョン番号は商用バージョンよりわずかに遅れているため、あるパッケージを別のパッケージに交換することはできません。 Yum「パッケージfoo-1はfoo-1.1によって廃止されました」というエラーが表示されます:

[root@devdb ~]# yum list --quiet available 'mysql-*-server'
Available Packages
mysql-community-server.x86_64                   5.7.22-1.el6                    mysql57-community
[root@devdb ~]# 
[root@devdb ~]# yum install --quiet mysql-community-server
Package mysql-community-server-5.7.22-1.el6.x86_64 is obsoleted by mysql-commercial-server-5.7.22-1.1.el6.x86_64 which is already installed
[root@devdb ~]# 

Linuxに古いバージョンのphp(5.2.17)をインストールするにはどうすればよいですか? に示されている特定のバージョン番号を指定するなど、いくつかのことを試しましたが、この場合は機能しません:

[root@devdb ~]# yum install --quiet mysql-community-server-5.7.22-1.el6.x86_64 
Package mysql-community-server-5.7.22-1.el6.x86_64 is obsoleted by mysql-commercial-server-5.7.22-1.1.el6.x86_64 which is already installed
[root@devdb ~]#

Yumで古いバージョン番号のパッケージを使用するように強制するにはどうすればよいですか?

4

Yumだけでこれを行う方法を見つけることができませんでした。私がやったことは2つのステップのプロセスでした:

  1. rpmを使用してmysql-commercial- *パッケージを削除しますが、依存関係は削除しないでください。

    [root@devdb ~]# rpm --erase --nodeps mysql-commercial-server mysql-commercial-libs-compat mysql-commercial-client mysql-commercial-common mysql-commercial-libs
    warning: /etc/my.cnf saved as /etc/my.cnf.rpmsave
    [root@devdb ~]#
    
  2. そして、Yumを使用してmysql-communityパッケージをインストールします。最も近いバージョン番号で、私が見つけることができます:

    [root@devdb ~]# yum --disablerepo=local-mysql-enterprise install mysql-community-libs-5.6.40-2.el6.el6.x86_64 mysql-community-common-5.6.40-2.el6.el6.x86_64 mysql-community-client-5.6.40-2.el6.el6.x86_64 mysql-community-libs-compat-5.6.40-2.el6.el6.x86_64 mysql-community-server-5.6.40-2.el6.el6.x86_64 
    ...
    Installed:
      mysql-community-client.x86_64 0:5.7.22-1.el6               mysql-community-common.x86_64 0:5.7.22-1.el6
        mysql-community-libs.x86_64 0:5.7.22-1.el6                 mysql-community-libs-compat.x86_64 0:5.7.22-1.el6
        mysql-community-server.x86_64 0:5.7.22-1.el6
    
    Complete!
    [root@devdb ~]#
    
  3. いくつかのコアファイルを復元します。

    [root@devdb ~]#cp /etc/my.cnf.rpmsave /etc/my.cnf
    [root@devdb ~]#
    
2