私は this RPMをローカルでyumを介してインストールしようとしていますが、「エラー:何もする必要はありません」というメッセージだけが表示されます。
完全な標準
Loaded plugins: fastestmirror, priorities
Setting up Install Process
Examining Percona-Server-server-56-5.6.22-rel71.0.el6.x86_64.rpm: Percona-Server-server-56-5.6.22-rel71.0.el6.x86_64
Error: Nothing to do
この時点で正しい質問をすることすら困っています。問題を特定してこれをインストールするにはどうすればよいですか?
-v
をyum
呼び出しに追加するまで気づきませんでしたが、/etc/yum.conf
のexclude
ディレクティブに一致するワイルドカードを書き込んだため、パッケージが無視されることがあります。
例えば.
exclude=Percona-Server*
なぜそこにあるのかわからずにこれを削除するのは賢明ではないかもしれませんが、私の場合、それは過去からの引き継ぎであり、それを削除することで問題は解決しました。
あなたはperconaリポジトリをインストール/アクティブ化できます
yum install http://www.percona.com/downloads/percona-release/redhat/0.1-3/percona-release-0.1-3.noarch.rpm
これで、yum install Percona-Server-server-56-5.6.22-rel71.0.el6.x86_64.rpm
を使用して必要なパッケージをインストールできます(yumでup2dateを維持)
の理由 Nothing to do
リリースパッケージの場合のメッセージは簡単です。それはすでにインストールされているか、インストールされている古いURLを使用していますolderリリースパッケージのバージョン。
リリースパッケージには、YUMリポジトリ情報が含まれています。通常、最初にリリースパッケージをインストールし(URLを使用)、次にそのリポジトリから目的のパッケージをインストールします(パッケージ名を使用)。
したがって、*-releaseパッケージがすでにインストールされている場合は、実際には何もする必要がなく、何もする必要はありません。そのリポジトリからパッケージをインストールするために続行する必要があります。
完全な手順:
yum install http://www.percona.com/downloads/percona-release/redhat/0.1-4/percona-release-0.1-4.noarch.rpm
yum install Percona-Server-server-56
最初のコマンドはリポジトリ情報を追加し、すでに存在する場合(それで問題ありません)は「何もしない」ことができます。
2番目のコマンドは、リポジトリから実際のパッケージをインストールします。
YUMがパッケージのインストールを拒否している場合は、おそらく次の理由が考えられます。
yum clean headers
)Yumは通常、問題が存在する場合、その問題について適切なガイダンスを提供しますが、「何もしない」を返すことがあります。
まず、パッケージがまだインストールされていないことを確認します。この場合、MySQL(mysql -u root -p
)に接続し、バージョン(SHOW VARIABLES LIKE "version";
)を確認する必要があります。多くのパッケージでは、単にhttpd -v
またはnginx -v
などを実行できます。
パッケージがまだインストールされていない場合、または古いバージョンがインストールされている場合は、通常、インストールまたは更新できるはずです。
RPMを作成するとき、spec
ファイルには、インストールするパッケージに必要なパッケージとバージョンがリストされます。この「スペック」ファイルを読むことは、何が必要であるかを完全に理解し、実行するための最良の方法です。そのため、通常はソースRPM、別名SRPMを見つける必要があります。
CentOSは、SRPMを検査またはカスタマイズするためのSRPMの再構築に関する優れたガイダンスを提供します。 ソースRPMの再構築
Specファイル内には、おそらくRequires
とBuildRequires
の両方が含まれています。これらはパッケージに必要な依存関係であるため、これらに注意してください。見落とされがちなもう1つの構成は「エポック」です。エポック番号を使用すると、古いパッケージを、インストールされているバージョンよりもバージョン番号が小さい別の名前に置き換えることができます。これは、名前を変更するがしばしば追加されるパッケージにとって重要です。
YUMがError: Nothing to do
を返すとき、エポック番号が問題であると私は推測しています。
代替ソリューション:
http://repo.percona.com/testing/centos/7/RPMS/x86_64/ からrpmをダウンロードします
Rpmを手動でインストールする
Sudo rpm -i Percona-Server-server-56-5.6.22-rel71.0.el6.x86_64.rpm