web-dev-qa-db-ja.com

Dockerコンテナーでapt-get dist-upgradeが必要ですか?

ノードソースのUbuntuのDockerイメージ は、apt-get upgradeではなくapt-get dist-upgradeを実行して、すべてのパッケージの最新バージョンをインストールします。

apt-get dist-upgradeは、カーネル関連のパッケージをアップグレードするコマンドと見なされます。 Dockerコンテナでは、ホストのカーネルが使用されているため、カーネルパッケージはインストールされず、apt-get upgradeは十分に見えます。

ただし、apt-getのマニュアルページには次のように記載されています。

dist-upgrade in addition to performing the function of upgrade,
also intelligently handles changing dependencies with new versions
of packages

これによると、他のパッケージでは、apt-get dist-upgradeを実行して最新のパッチをインストールする必要がある場合があります。

Ubuntuの現在または過去のリリースでapt-get dist-upgradeを必要とするパッケージはありますか?そのようなパッケージが存在する場合、Dockerコンテナでもdist-upgradeを実行する必要があります。

2
Jumpei Ogawa

一般に、dist-upgradeではなくupgradeを使用する必要があります。

一般に、問題がある場合、またはdocker開発者よりも詳しいことを感じている場合を除き、デフォルトを使用するのが最善です。

アップグレードに問題がある場合、dist-upgradeが潜在的なソリューションです。

アップグレードでは、新しいバージョンが利用可能になると新しいパッケージが更新されますが、パッケージを削除したり、追加のパッケージをインストールしたりしない場合があります。 dist-upgradeはアップグレードし、必要に応じてパッケージを追加または削除します。

Apt-getがアップグレード時に通知する内容を常に確認し、dist-upgradeでパッケージリストを確認する必要があります。

追加情報については

「dist-upgrade」とは何ですか?なぜ「upgrade」以上にアップグレードするのですか?

そして

なぜapt-get dist-upgradeの代わりにapt-get upgradeを使用しますか?

1
Panther

upgradeを使用するべきではないと言うでしょう:--no-cacheでイメージを再構築し、パッケージの最新バージョンを取得する通常のupdateinstallのペアを実行します。

0
giorgiosironi