我使用 aptly 创建并发布了 Xenial 的 Ubuntu 存储库镜像。其中包括xenial
并从我所在国家/地区特定的 Ubuntu 镜像下载。我从 中xenial-updates
获取。我可以使用此镜像正常使用 all或update 和 upgrade 命令来手动升级系统。xenial-security
http://security.ubuntu.com
apt
apt-get
我的问题是,unattended-upgrades
配置了仅安全更新后,不会将任何软件包注册为可升级。同样,使用后apt update
,登录时的 motd 消息将显示如下内容:
261 packages can be updated.
0 updates are security updates.
如果我切换回默认存储库并运行相同的命令,motd 将更改为:
261 packages can be updated.
176 updates are security updates.
运行unattended-upgrade --dry-run -d
有类似的结果,如果我使用默认镜像,则会有大量的安全更新,但我的本地镜像中没有。
显然,我在镜像过程中丢失了将软件包标记为安全更新的所有东西。
软件包列表更新后,apt 如何确定软件包更新是安全更新?我该怎么做才能准确地反映这一点?
答案1
“安全更新”来自 -security 存储库。只有Ubuntu 安全团队有权上传到该口袋。Apt 不会“决定”任何事情。
示例:Xenial 中的安全更新由 Ubuntu 安全团队打包并分发到 xenial-security 包中。
对于您的具体情况:
1)确保您确实在 sources.list 中启用了安全 repo。
2) 不要相信 motd 的数字 - motd 是一个方便的提醒功能,但这些数字每天只更新一次...而且你不知道什么时候。
3)尝试这些方法之一准确查看您所发布的 Ubuntu 的安全包中是否有未安装的安全更新。
4) 无人值守升级在升级方面可能非常狡猾(这很好)。检查 /var/log/unattended-upgrades 中 UU 一周的历史记录,以确保 UU 没有安装安全升级。如果是这样,是时候仔细检查你的来源了(参见 #1)。