自一周以来,我已将几台 PC 升级到 Ubuntu 14.04 Trusty Tahr。
我通过软件更新程序获得了几个更新,但没有从 trusty-updates 获得更新,尽管在设置对话框中选择了此存储库:
{here was a nice screenshot of the dialog showing:
X Important security updates (trusty-security)
X Recommended updates (trusty-updates)
O Pre-released updates (trusty-proposed)
X Unsupported updates (trusty-backports)
Automatically check for updates: Daily
Where there are security updates: Display immediately
Where there are other udpates: Display weekly
Notify me of a new Ubuntu version: For long-term support versions
}
但是,有几个可用的更新:
$ sudo apt-get upgrade
Reading package lists... Done
Building dependency tree
Reading state information... Done
Calculating upgrade... Done
The following packages will be upgraded:
compiz compiz-core compiz-gnome compiz-plugins compiz-plugins-default compiz-plugins-main-default
compizconfig-backend-gconf compizconfig-settings-manager gir1.2-nautilus-3.0 gir1.2-rb-3.0 libcompizconfig0
libdecoration0 libgexiv2-2 libido3-0.1-0 libnautilus-extension1a librhythmbox-core8 libselinux1
libselinux1:i386 libselinux1-dev nautilus nautilus-data python-compizconfig python3-update-manager rhythmbox
rhythmbox-data rhythmbox-mozilla rhythmbox-plugin-cdrecorder rhythmbox-plugin-magnatune
rhythmbox-plugin-zeitgeist rhythmbox-plugins update-manager update-manager-core
32 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
我没有测试所有这些,但我测试的所有内容都来自 trusty-updates:
$ apt-cache policy compiz nautilus update-manager
compiz:
Installed: 1:0.9.11+14.04.20140409-0ubuntu1
Candidate: 1:0.9.11+14.04.20140423-0ubuntu1
Version table:
1:0.9.11+14.04.20140423-0ubuntu1 0
500 http://be.archive.ubuntu.com/ubuntu/ trusty-updates/main amd64 Packages
*** 1:0.9.11+14.04.20140409-0ubuntu1 0
500 http://be.archive.ubuntu.com/ubuntu/ trusty/main amd64 Packages
100 /var/lib/dpkg/status
nautilus:
Installed: 1:3.10.1-0ubuntu8
Candidate: 1:3.10.1-0ubuntu9
Version table:
1:3.10.1-0ubuntu9 0
500 http://be.archive.ubuntu.com/ubuntu/ trusty-updates/main amd64 Packages
*** 1:3.10.1-0ubuntu8 0
500 http://be.archive.ubuntu.com/ubuntu/ trusty/main amd64 Packages
100 /var/lib/dpkg/status
update-manager:
Installed: 1:0.196.11
Candidate: 1:0.196.12
Version table:
1:0.196.12 0
500 http://be.archive.ubuntu.com/ubuntu/ trusty-updates/main amd64 Packages
*** 1:0.196.11 0
500 http://be.archive.ubuntu.com/ubuntu/ trusty/main amd64 Packages
100 /var/lib/dpkg/status
但是 trusty-security 的更新已经完成。所以我不知道这是 bug 还是我配置错误?
[更新]:
- 为了回答下面的评论,截至
~/.cache/software-center/
今天,我收到了一些警告/错误。警告类似于,甚至一个。但它们之后不会重现。'WARNING:main:no data
ERROR - trying to repair DB failed
- 另外,其中一个软件包是
compiz
。我去检查了 Launchpad 上的更新日志,并注意到以下历史记录页面:https://launchpad.net/ubuntu/trusty/amd64/compiz。上面写着“分阶段更新”,“40% 的用户”。这和这个有关系吗?在使用软件更新程序(如同使用时apt-get
)?
答案1
嗯,这似乎正是 PhasedUpdates 的本质。另请查看http://www.murraytwins.com/blog/?p=127和http://lwn.net/Articles/563966/。
总结一下上面的链接:
- Ubuntu 在其 13.04 版本中悄然引入了一种新机制,该机制逐步推出软件包更新,首先将每个更新推送给整个用户群的一小部分,然后稳步扩大规模,而不是同时向所有人发布更新。
- 在客户端,阶段性更新在工具中实现
update-manager
,该工具是 Ubuntu 的图形化更新安装应用程序。其他更新软件包的方法(例如)apt-get
不受阶段性更新计划的影响。 update-manager
为每个包生成一个介于 0 和 1 之间的随机数,然后将其Phased-Update-Percentage
与服务器上发布的该包的值进行比较。如果update-manager
生成的数字小于发布的百分比,则该包将添加到用户可以安装的可用更新列表中。包的依赖项会自动提取。可以通过在配置文件中添加以下内容来退出分阶段更新过程
/etc/apt/apt.conf
:Update-Manager::Never-Include-Phased-Updates “True”;
这里只需一行代码就可以打印出所有带有该Phased-Update-Percentage
标签的包:
apt-cache show ".*"|sed -r '/^Package:/h;/^Phased-Update-Percentage:/{H;x;s/\n/\n\t/;p};d'
答案2
您已选择每周显示 trusty-updates 的更新。我建议您将此设置更改为“立即显示”,并将安全更新更改为“自动下载并安装”。
此外,使用无人值守升级也会很方便。运行
sudo dpkg-reconfigure unattended-upgrades
并选择“是”。