Ubuntu 的 Node Source 的 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
来安装最新的补丁。
apt-get dist-upgrade
Ubuntu 当前版本或过去版本中是否存在需要的此类软件包?如果存在此类软件包,我们dist-upgrade
甚至需要在 Docker 容器中运行它们。
答案1
一般来说,您会想要使用升级而不是 dist-upgrade。
一般来说,除非您遇到问题或者觉得您比 docker 开发人员了解得更多,否则最好使用默认设置。
如果升级出现问题,dist-upgrade 是一个潜在的解决方案。
当有新版本可用时,upgrade 会更新新的软件包,但有时不会删除软件包或不安装额外的软件包。dist-upgrade 将升级,并在必要时添加或删除软件包。
您应该始终在升级时检查 apt-get 告诉您的内容,并使用 dist-upgrade 检查软件包列表。
如需更多信息,请参阅
什么是“dist-upgrade”,为什么它比“upgrade”升级得更多?
和
答案2
我想说你甚至不应该使用upgrade
:而是用重建图像--no-cache
并执行通常的update
和install
对,这将获取包的最新版本。