apt-get 在某些伺服器上未取得最新版本

apt-get 在某些伺服器上未取得最新版本

我在幾台 Ubuntu 12.04 伺服器上安裝了 Percona DB 5.6。在其中一些上,我已經能夠使用以下命令成功升級到最新版本(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-伺服器-伺服器-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/precision/main amd64 軟體包

在我升級的伺服器上,輸出如下:

percona-伺服器-伺服器-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/precision/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: 前綴的版本並安裝存儲庫中的最新版本。

相關內容