为什么软件更新程序中的某些复选框被禁用?

Dre*_*kes 10 apt software-updater

在 Ubuntu 13.04 中,软件更新程序显示一些应用程序有更新,但它们是不可选择的:

目前尚不清楚为什么它们会变灰。

在命令行上:

$ sudo apt-get upgrade
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages have been kept back:
  gnuplot-nox gnuplot-x11 nvidia-current
0 upgraded, 0 newly installed, 0 to remove and 3 not upgraded.
Run Code Online (Sandbox Code Playgroud)

还要注意,运行apt-get dist-upgrade也不会导致它们被安装,因为它有时会导致被保留的包。这是输出:

$ sudo apt-get dist-upgrade
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Calculating upgrade... Done
The following packages have been kept back:
  gnuplot-nox gnuplot-x11 nvidia-current
0 upgraded, 0 newly installed, 0 to remove and 3 not upgraded.
Run Code Online (Sandbox Code Playgroud)

我接受了@quidage 的建议,它给出了以下内容。但是,后续升级显示相同的消息:

$ sudo apt-get install -f
Reading package lists... Done
Building dependency tree       
Reading state information... Done
0 upgraded, 0 newly installed, 0 to remove and 3 not upgraded.
Run Code Online (Sandbox Code Playgroud)

Rin*_*ind 2

The following packages have been kept back:通常意味着您有软件包的升级而不是更新

sudo apt-get dist-upgrade
Run Code Online (Sandbox Code Playgroud)

会解决这个问题。它将显示以下消息...

The following NEW packages will be installed:
Run Code Online (Sandbox Code Playgroud)

The following packages will be upgraded:
Run Code Online (Sandbox Code Playgroud)


小智 0

检查包裹的状态:

dpkg --get-selections | grep "name of your package"
Run Code Online (Sandbox Code Playgroud)

如果它显示状态,则hold无法选中软件更新程序窗口中的复选框。

删除hold运行

sudo apt-mark unhold "name of your package"
Run Code Online (Sandbox Code Playgroud)