これについては、どうもわかりません。「sudo apt update」を実行すると、1 つのアップデートが利用可能であると報告されます。
sudo apt list --upgradable -a
Listing... Done
dmidecode/jammy-updates 3.3-3ubuntu0.1 arm64 [upgradable from: 3.3-3]
dmidecode/jammy,now 3.3-3 arm64 [installed,upgradable to: 3.3-3ubuntu0.1]
次に「sudo apt upgrade」を実行すると、次のようになります。
sudo apt upgrade
Reading package lists... Done
Building dependency tree
Reading state information... Done
Calculating upgrade... Done
The following packages have been kept back:
dmidecode
0 upgraded, 0 newly installed, 0 to remove and 1 not upgraded.
アップグレードがインストールされない理由が分かる人はいますか? このパッケージを更新するにはどうすればいいですか?
答え1
アップグレードがインストールされない理由が分かる人はいますか?
はい、要約すると、段階的な更新と呼ばれるものです。
もう少し長い答えを述べます。パッケージの新しいバージョンにバグがあると想像してください。新しいバージョンが一度に全員にリリースされると、メンテナーはこれらのユーザー全員からのバグ報告に圧倒され、また多くの人が影響を受けることになり、バグのあるパッケージをしばらく更新しない人もいるかもしれません。これは良くありません。そこで、メンテナーが代わりにできることは、更新を段階的な更新として構成することです。つまり、少数のユーザーが最初にそれを入手し、いわば「フェーズ 1 テスター」として行動し、次のラウンドの人々、つまり「フェーズ 2 テスター」、つまり少し大きなグループのために道を開きます。この方法により、初期のフェーズでより多くのバグが発見され、バグの後の報告、修正、再デプロイ、更新サイクルでメンテナーとユーザーの両方に与える影響が少なくなることが期待されます。または、Ubuntu ウィキ段階的な更新が行われます:
アップデートが全員にプッシュされる前に重大なリグレッションを検出し、プロセスを停止できるようにします。リグレッションがユーザーベースのより小さな割合に影響を与えることを目指しています。
このパッケージを更新するにはどうすればよいですか?
apt upgrade
TLDR: しないでください。そのままにしておいてください。準備ができたら、コマンドを実行したとき、または自動更新の一部として更新されます。
最新バージョンのパッケージが必要な本当の理由がある場合は、段階的な更新をバイパスする方法があるようですが、新しいバージョンが絶対に必要な場合にのみこれを実行します。
コントリビューター コンソールの [更新] パネルでは、テスターがリリース後の段階的な更新をオプトアウトしたり、リリース前の段階的な更新をオプトインしたりできるようにする必要があります (段階的なメカニズム自体をテストするため)。