一部のサーバーでapt-getが最新バージョンを取得できない

一部のサーバーでapt-getが最新バージョンを取得できない

私は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: プレフィックスのバージョンが忘れられ、リポジトリから最新のバージョンがインストールされるはずです。

関連情報