讲师中心 微信公众号
AI工具推荐 视频效率加速

Ubuntu如何设置具体的系统软件自动升级白名单配置文件

雨敏酱_1665

雨敏酱_1665

发布时间:2026-07-17 06:41:40

|

637人浏览过

|

来源于php中文网

原创

白名单配置在 /etc/apt/apt.conf.d/50unattended-upgrades 中,通过 Unattended-Upgrade::Allowed-Origins 定义可信源(origin+codename+component),仅控制仓库层级而非包名,需配合 20auto-upgrades 启用及服务激活才生效。

ubuntu如何设置具体的系统软件自动升级白名单配置文件

白名单配置在哪?关键文件是 /etc/apt/apt.conf.d/50unattended-upgrades

Ubuntu 的自动升级白名单不是靠“允许列表”实现的,而是通过 Unattended-Upgrade::Allowed-Origins 配置项定义哪些源(origin + codename + component)可以被信任并自动升级。这个白名单机制本质是“只允许指定源”,默认只开 ${distro_id}:${distro_codename}-security,其他全被挡在外面。

你不能在这里写“只升级 nginx 和 openssl”,它控制的是**源仓库层级**,不是包名层级。想按包名控制,得用黑名单或更细粒度的工具(如 apt-mark hold),但那不属于 unattended-upgrades 白名单范畴。

  • Unattended-Upgrade::Allowed-Origins 是唯一生效的白名单入口,所有允许的源必须显式列出
  • 每个条目格式为 "origin=Ubuntu,codename=focal,label=Ubuntu-Security" 或简写 "${distro_id}:${distro_codename}-security"
  • 变量如 ${distro_id} 和 ${distro_codename} 会被自动展开(例如 Ubuntu 22.04 → Ubuntu:jammy-security)
  • 注释掉的行(以 // 开头)不会生效;空格、换行、引号必须严格匹配语法

怎么加一个非-security 的源进白名单?比如 -updates 或第三方 PPA

直接编辑 /etc/apt/apt.conf.d/50unattended-upgrades,在 Unattended-Upgrade::Allowed-Origins 块里追加条目。注意:PPA 必须满足 origin 和 label 可识别,且签名密钥已导入系统,否则升级会静默失败。

Pandas 配置文件报告生成器
Pandas 配置文件报告生成器

使用ydata-profiling(前身为pandas-profiling)生成全面的数据质量报告,包含相关性分析、缺失值模式和基数检测。导出交互式HTML仪表板和JSON摘要。

下载
  • 启用 -updates(推荐用于稳定环境):
    "${distro_id}:${distro_codename}-updates";
  • 启用 ESM(Extended Security Maintenance)源(LTS 用户必备):
    "${distro_id}ESM:${distro_codename}";
  • 添加 PPA(如 deadsnakes/ppa)需先查清其 origin 和 label:
    运行 apt-cache policy python3.9 查看来源,再写成类似 "origin=ppa.launchpad.net,codename=jammy,label=deadsnakes-ppa"
  • 切勿盲目添加 "origin=Ubuntu" —— 这会匹配所有 Ubuntu 官方源(含 proposed/universe),极大增加风险

为什么改了白名单却没生效?常见卡点

白名单配置后不触发升级,多数不是语法错,而是依赖链断裂或服务未激活。最常踩的坑是:只改了 50unattended-upgrades,却忘了配 20auto-upgrades 或没重启服务。

  • APT::Periodic::Unattended-Upgrade "1" 在 /etc/apt/apt.conf.d/20auto-upgrades 中必须设为 "1",否则定时任务根本不调用升级逻辑
  • 服务状态要检查:systemctl is-active unattended-upgrades 应为 active;若为 inactive,需执行 sudo systemctl enable --now unattended-upgrades
  • 模拟运行失败时,sudo unattended-upgrade --dry-run -d 输出里若出现 No packages found that can be upgraded unattended,说明白名单没匹配到任何候选包 —— 很可能是源没启用、apt update 没跑过,或目标包根本不在你写的 origin 里
  • /var/log/unattended-upgrades/unattended-upgrades.log 是唯一真相来源,别只看终端输出

白名单之外还能限制包?用 Package-Blacklist 补位

白名单管源,黑名单管包。如果你明确知道某些包绝不能自动升级(比如内核、数据库驱动、自研 deb),就该用 Unattended-Upgrade::Package-Blacklist。它比白名单更贴近“软件级控制”,但它是排除逻辑,不是白名单的延伸。

  • 写法示例:
    Unattended-Upgrade::Package-Blacklist {"linux-image-generic"; "mysql-server";};
  • 注意:包名必须和 dpkg -l 输出完全一致(不含版本号),大小写敏感
  • 黑名单优先级高于白名单 —— 即使某个包来自白名单源,只要进了黑名单,就不会升级
  • 不要滥用黑名单来“替代白名单”:比如把所有包都列进去再逐个放开,这违背设计初衷,也难维护

白名单真正起效的前提,是理解它只作用于 APT 源元数据层面,而不是包管理器的最终安装行为。哪怕配置全对,如果 apt update 拉不到对应源的 Packages 文件,或者目标包被标记为 hold,它依然不会动。调试时,永远先确认源可用、包可升级、服务在跑、日志有记录 —— 这四步缺一不可。

热门AI工具

更多
立刻MV
立刻MV Hot

立刻MV是一款AI文本写作工具,AI 音乐视频(MV)创作工具。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

VibeKnow
VibeKnow Hot

一款AI视频创作工具,主要用于全球首个AI知识视频创作平台,文档、文章、网页,一键生成视频,适合需要提升相关任务效率的用户。

音述AI
音述AI Hot

一款AI音频处理工具,主要用于音述AI是一个以“用声音述说故事”为核心的 AI 音乐创作与声音分享社区,适合需要提升相关任务效率的用户。

讯飞绘文

讯飞绘文是一款由科大讯飞推出的一站式 AIGC 内容运营平台。

UpDream
UpDream Hot

一款AI视频创作工具,主要用于哔哩哔哩推出的自研AI视频创作工具,适合需要提升相关任务效率的用户。

SkildArt
SkildArt Hot

SkildArt是一款AI文本写作工具,一站式 AI 视觉创作平台。

相关专题

更多
常见的linux系统有哪些
常见的linux系统有哪些

linux系统有Ubuntu、Fedora、CentOS、Debian、openSUSE、Arch Linux、Gentoo、Slackware、Linux Mint、Kali Linux。更多关于linux系统的文章详情请阅读本专题下面的文章。php中文网欢迎大家前来学习。

5841

2023.10.27

ubunt上安装和配置vnc
ubunt上安装和配置vnc

安装方法:安装VNC服务器、启动VNC服务器、设置VNC密码等等。想了解更多ubuntu的相关内容,可以阅读本专题下面的文章。

1941

2023.12.28

ubuntu启动黑屏解决方法
ubuntu启动黑屏解决方法

ubuntu启动黑屏解决方法:检查是否是电源问题、检查内存是否接触不良、检查显卡问题等。想了解更多ubuntu的相关内容,可以阅读本专题下面的文章。

1650

2023.12.28

为什么ubuntu有网络连接但不能上网
为什么ubuntu有网络连接但不能上网

ubuntu有网络连接但不能上网的原因:1、dns配置问题;2、代理服务器设置问题;3、网络防火墙设置问题;4、路由器或调制解调器设置问题;5、网络驱动程序问题;6、网络配置文件问题;7、其他问题。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

1021

2024.09.05

ubuntu安装golang
ubuntu安装golang

本专题整合了ubuntu安装golang所有方法汇总,阅读下面的文章了解更多详细操作。

339

2025.12.13

Linux如何安装Ubuntu并完成基础系统优化教程
Linux如何安装Ubuntu并完成基础系统优化教程

访问Ubuntu官网或国内镜像站下载ISO镜像,利用Rufus或Etcher工具制作USB启动盘。重启电脑进入BIOS设置U盘引导,按提示完成分区与账户设置以安装系统。安装完毕后,首要任务是将软件源更换为国内镜像以加速下载,接着在终端执行更新命令升级系统组件,并安装显卡驱动及常用开发工具,至此即可完成基础环境搭建与优化。

84

2026.03.31

Ubuntu系统安装与基础配置
Ubuntu系统安装与基础配置

本指南详解Ubuntu系统安装全流程:从制作启动盘、分区规划到驱动配置,手把手带你完成系统部署。涵盖软件源优化、常用工具安装及桌面个性化设置,助你快速搭建稳定高效的Linux开发环境,零基础也能轻松上手。

126

2026.04.15

Ubuntu日常操作与高效使用
Ubuntu日常操作与高效使用

本指南聚焦Ubuntu日常操作与效率提升,深入解析终端命令、APT软件管理及权限控制等核心技能。从文件管理到开发环境搭建,再到网络配置与数据备份,全方位助你摆脱鼠标依赖,构建流畅的Linux工作流,让系统操作更加得心应手。

67

2026.04.17

Buffalo框架数据库开发全教程
Buffalo框架数据库开发全教程

本专题围绕Buffalo框架数据库开发,讲解database.yml多环境配置、soda与fizz迁移生成回滚、模型结构体标签、增删改查与条件查询、一对多与多对多关联、数据校验、回调钩子、事务处理及原生SQL执行能力。

120

2026.09.23

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn