例如软件包 a 原先依赖 b c d,但是在源里面可能已经升级了,现在是 a 依赖 b c
e。这种情况下,dist-upgrade 会删除 d 安装 e,并把 a 软件包升级,而 upgrade 会认为依赖关系改变而拒绝升级 a
软件包。
man apt-get的解释:
upgrade: upgrade is
used to install the newest versions of all packages currently installed on the
system from the sources enumerated in /etc/apt/sources.list. Packages currently
installed with new versions available are retrieved and upgraded; under no
circumstances are currently installed packages removed, or packages not already
installed retrieved and installed. New versions of currently installed packages
that cannot be upgraded without changing the install status of another package
will be left at their current version. An update must be performed first so that
apt-get knows that new versions of packages are available.
dist-upgrade: dist-upgrade in addition to performing
the function of upgrade, also intelligently handles changing dependencies with
new versions of packages; apt-get has a "smart" conflict resolution system, and
it will attempt to upgrade the most important packages at the expense of
less