我已安装最新的 Ubuntu(13.10)。
当我运行/usr/lib/update-notifier/apt-check
它时,它返回7:0
,即有 7 个可用更新,但没有一个是安全的。
然而,当我尝试升级时,出现以下情况:
sudo apt-get upgrade
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages have been kept back:
linux-generic linux-headers-generic linux-image-generic
0 upgraded, 0 newly installed, 0 to remove and 3 not upgraded.
有人能解释为什么以及如何让 apt-check 返回正确的值吗?如果 apt-check 返回了,3:0
那么这似乎有道理,但是 7 是从哪里来的呢?
顺便说一句,apt-check 是随 一起安装的sudo apt-get install update-notifier
。
答案1
/usr/lib/update-notifier/apt-check
实际上相当于
apt-get -s dist-upgrade | grep "^[[:digit:]]\+ upgraded"
并不是
apt-get upgrade|grep "^[[:digit:]]\+ upgraded"
例如
/usr/lib/update-notifier/apt-check --human-readable
返回
22 packages can be updated.
0 updates are security updates.
然而
apt-get -s dist-upgrade | grep "^[[:digit:]]\+ upgraded"
返回
18 upgraded, 4 newly installed, 0 to remove and 0 not upgraded.
它实际上18
+4
相当于22
。
来自 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 important ones if necessary. So, dist-upgrade
command may remove some packages. The /etc/apt/sources.list file
contains a list of locations from which to retrieve desired package
files. See also apt_preferences(5) for a mechanism for overriding
the general settings for individual packages.