
私はPercona DB 5.6をいくつかのUbuntu 12.04サーバーにインストールしています。そのうちのいくつかでは、以下のコマンドで最新バージョン(5.6.17)にアップグレードできました。
apt-get update
apt-get upgrade
他のいくつかの場合、apt-get update + upgrade を実行すると何もする必要がないと表示されますが、インストールされているバージョンは 5.6.15 のみです。なぜ最新バージョンが見つからないのでしょうか?
更新したサーバーからの最新バージョン: 「サーバー バージョン: 5.6.17-65.0-587.precise-log (Ubuntu)」
更新されていないサーバーのバージョン: 「サーバー バージョン: 5.6.15-63.0-log Percona Server (GPL)、リリース 63.0」
すべてのサーバーの /etc/apt/sources.list に次の行があることを確認しました。
deb http://repo.percona.com/apt precise main
deb-src http://repo.percona.com/apt precise main
(もともと apt-get を使用してインストールされていたため、いずれは動作するはずでした)
編集: estibordoの提案から、私は出力を追加します
apt-cache policy percona-server-server-5.6
(percona-server-common-5.6 と percona-server-client-5.6 もこれと同一です)
アップグレードしないサーバーから:
percona-server-server-5.6: インストール済み: 1:5.6.15-rel63.0-519.precise 候補: 1:5.6.15-rel63.0-519.precise バージョン表: *** 1:5.6.15-rel63.0-519.正確 0 100 /var/lib/dpkg/ステータス 5.6.17-65.0-587.正確0 500 http://repo.percona.com/apt/ precise/main amd64 パッケージ
アップグレードしたサーバーでは、出力は次のようになります。
percona-server-server-5.6: インストール済み: 5.6.17-65.0-587.precise 候補: 5.6.17-65.0-587.precise バージョン表: *** 5.6.17-65.0-587.正確0 500 http://repo.percona.com/apt/ precise/main amd64 パッケージ 100 /var/lib/dpkg/ステータス
なぜ違いがあるのか、あるいはもっと重要なのは、5.6.15 で停止しているものをどのように修正すればよいのかということです。ありがとうございます。
答え1
私は思う
apt-cache policy percona-server-server
必要なものはこれです。インストールされているバージョンに関する情報と、インストールする他の候補があるかどうかが提供されます。また、パッケージがどのリポジトリから取得されたかも示されます。
次のように、ワイルドカードを使用して同じコマンドを使用することもできます。
apt-cache policy percona*
答え2
現在、いくつかのUbuntu PPAで同じ問題が発生しています。インストールされたパッケージのバージョン番号をよく見てください。先頭に1:が付いています(「エポック」 - 参照)。https://askubuntu.com/questions/441879/why-do-some-packages-have-extra-numbers-on-the-front-of-their-version-string) なので、Apt はリポジトリの実際の上位バージョンよりも上位バージョンであると考えてしまいます。古いインストールは PPA からのものですか、それともバージョン番号が変更されたのでしょうか?
いずれにせよ、出力には現在インストールされているパッケージの取得元が記載されていないため、その間にリポジトリが構成から削除された可能性があります。
現在のパッケージを削除 (パージではありません。削除するとすべての設定がそのまま残ります。それでも、/etc 内の対応するフォルダを必ずバックアップしてください) し、(念のため) をapt-get update && apt-get clean
再度実行してから、 を使用して通常どおりパッケージを再度インストールするのがapt-get install
最善だと思います。そうすると、1: プレフィックスのバージョンが忘れられ、リポジトリから最新のバージョンがインストールされるはずです。