Image Docker d'Ubuntu de Node Source exécute apt-get upgrade
, et non apt-get dist-upgrade
, pour installer la dernière version de tous les packages.
apt-get dist-upgrade
est considéré comme une commande permettant de mettre à niveau les packages liés au noyau. Dans le conteneur Docker, les packages de noyau ne sont pas installés car le noyau de l'hôte est utilisé et apt-get upgrade
semble suffisant.
Cependant, la page de manuel de apt-get
dit:
dist-upgrade in addition to performing the function of upgrade,
also intelligently handles changing dependencies with new versions
of packages
Selon cela, d'autres packages peuvent nécessiter l'exécution de apt-get dist-upgrade
pour installer le dernier correctif.
Existe-t-il de tels packages nécessitant apt-get dist-upgrade
dans les versions actuelles ou antérieures d'Ubuntu? Si de tels packages existent, nous devons exécuter dist-upgrade
même dans le conteneur Docker.
En général, vous allez vouloir utiliser upgrade plutôt que dist-upgrade.
En général, sauf si vous avez un problème ou sentez que vous en savez plus que les développeurs de docker, mieux vaut utiliser les valeurs par défaut.
Si la mise à niveau rencontre des problèmes, dist-upgrade est une solution potentielle.
la mise à niveau met à jour les nouveaux packages lorsque de nouvelles versions sont disponibles, mais ne supprime parfois pas les packages et n'installe pas de packages supplémentaires. dist-upgrade va mettre à jour et si nécessaire ajouter ou supprimer des paquets.
Vous devriez toujours vérifier ce que apt-get vous dit lors de la mise à niveau et consulter la liste des paquets avec dist-upgrade.
Pour plus d'informations, voir
Qu'est-ce que "dist-upgrade" et pourquoi met-il à niveau plus que "upgrade"?
et
Pourquoi utiliser apt-get upgrade au lieu d'apt-get dist-upgrade?
Je dirais que vous ne devriez même pas utiliser upgrade
: reconstruisez plutôt l'image avec --no-cache
et exécutez la paire update
et install
habituelle, qui récupérera les dernières versions d'un paquet. .