サーバー管理

apt-get update の最後に「changed its ‘Label’ value」と出るのは、リポジトリのラベル(表示名)が変わったため、aptがそのリポジトリの更新を止めている状態です。変わった内容を確かめてから、ラベルの変更を承認するオプションを付けて実行すれば解消します。

自動更新ではこの承認ができないので、気付かないうちに、そのリポジトリだけ何か月も古いままになっていることがあります。

どういうエラーか

aptは、リポジトリのラベルなどが前回と変わると、別のリポジトリにすり替わっていないかを利用者に確かめさせるため、承認されるまで更新を止めます。

PHPのPPA(ppa:ondrej/php)は2026年7月以降にラベルが変わったため、以前から使っているサーバーでは次のエラーが出ます。

E: Repository 'https://ppa.launchpadcontent.net/ondrej/php/ubuntu jammy InRelease' changed its 'Label' value from 'Use https://packages.sury.org/php/ instead' to 'PPA for PHP'

更新が止まっているかを確かめる

止まっているかどうかは、リポジトリごとの一覧ファイルに書かれた日付で分かります。

grep -H "^Date:" /var/lib/apt/lists/*InRelease

1つだけ数か月前の日付なら、そのリポジトリの更新が止まっています。ただし、Ubuntu本体の一覧(jammy など、-updates や -security が付かないもの)は配布開始の日付のままなので、古くても正常です。

実際に、PHPの緊急修正を入れようとしたUbuntu 22.04のサーバーで、修正版が候補に出てきませんでした。PHPのPPAの一覧だけが7月の日付のままで、毎日の自動更新(apt-daily)のログは正常終了になっていました。

承認して更新する

承認する前に、エラーのURLが自分で登録したリポジトリで、変わったのがラベルだけであることを確かめます。PHPのPPAは、古いラベルが「packages.sury.org を使ってください」という配布元からの案内だったので、承認してかまいません。

sudo apt-get update --allow-releaseinfo-change-label

エラー(E:)の代わりに通知(N:)が表示され、一覧が更新されます。apt-cache policy パッケージ名 で、新しい版が候補(Candidate)に出ていることを確かめます。

新しい版は手動で入れる

Ubuntuの自動更新(unattended-upgrades)は、標準の設定ではPPAのパッケージを入れません。sudo apt-get install --only-upgrade パッケージ名 で入れてください。PHPの場合は、そのあとApacheかphp-fpmを再起動して、新しい版を読み込ませます。