JetPack 6系统中,默认启用的自动更新机制不完全依赖 unattended-upgrades 包
JetPack 6(基于 Ubuntu 22.04 L4T R36.x)系统中,默认启用的自动更新机制不完全依赖 unattended-upgrades 包。
即使你卸载了它,系统仍可能在后台“自我更新”。
一、为什么卸载不了还会自动更新
JetPack 6.0 默认的自动更新逻辑有三层:
| 机制 | 功能 | 位置 / 服务名 | 备注 |
|---|---|---|---|
1️⃣ unattended-upgrades | 自动安装安全更新 | /usr/lib/unattended-upgrades/ | 有时未安装,但可能被别的包间接触发 |
2️⃣ apt-daily.timer / apt-daily-upgrade.timer | 定时执行 apt update 与 apt upgrade | systemd 定时任务 | JetPack 6 默认启用 |
| 3️⃣ Snapd 自更新 | Snap 包自动更新 | snapd.service / snap refresh | NVIDIA SDK Manager / VSCode Snap 常见 |
所以你看到提示:
sudo apt purge unattended-upgrades -y
Reading package lists... Done
Package 'unattended-upgrades' is not installed
但系统依旧更新,是因为第二层(systemd 定时器)和第三层(Snap 自动更新)仍在运行。
二、彻底关闭自动更新(JetPack 6 / Ubuntu 22.04 版)
请按顺序执行以下命令。
🔹 1️⃣ 禁用 APT 定时任务
sudo systemctl stop apt-daily.timer
sudo systemctl stop apt-daily-upgrade.timer
sudo systemctl disable apt-daily.timer
sudo systemctl disable apt-daily-upgrade.timer
sudo systemctl mask apt-daily.service
sudo systemctl mask apt-daily-upgrade.service
✅
mask表示完全禁止启动(比 disable 更彻底)。
🔹 2️⃣ 关闭 Periodic APT 配置(APT 周期任务)
编辑配置文件:
sudo nano /etc/apt/apt.conf.d/10periodic
如果文件不存在则创建它,并写入:
APT::Periodic::Enable "0";
APT::Periodic::Update-Package-Lists "0";
APT::Periodic::Download-Upgradeable-Packages "0";
APT::Periodic::AutocleanInterval "0";
APT::Periodic::Unattended-Upgrade "0";
保存退出(Ctrl+O → 回车 → Ctrl+X)。
🔹 3️⃣ 禁止 Snap 自动更新
Snap 包更新在后台运行,即使禁用 APT 也会偷偷升级。
关闭方法:
sudo systemctl stop snapd.service
sudo systemctl disable snapd.service
sudo systemctl mask snapd.service
sudo systemctl mask snapd.socket
sudo systemctl mask snapd.seeded.service
如果不需要 Snap 功能(比如 VSCode、Firefox Snap 版),可以直接卸载:
sudo apt purge snapd -y
🔹 4️⃣ 检查是否还有计划任务
执行:
sudo systemctl list-timers | grep apt
如果没有输出说明 APT 更新定时器已经全部停用。
🔹 5️⃣ 验证(最重要)
关机重启:
sudo reboot
然后再次运行:
systemctl status apt-daily.timer
systemctl status apt-daily-upgrade.timer
输出应显示:
Loaded: masked (Reason: Unit apt-daily.timer is masked.)
Active: inactive (dead)
表示彻底关闭自动更新。
三、可选:防止未来被 SDK Manager 重启更新
SDK Manager 在安装 JetPack 组件时可能会再次启用 APT 更新。
可以用命令在系统层面锁定服务:
sudo chmod 000 /lib/systemd/system/apt-daily.service
sudo chmod 000 /lib/systemd/system/apt-daily-upgrade.service
四、总结(适用于 JetPack 6 / Ubuntu 22.04)
| 目标 | 操作 |
|---|---|
| 禁止自动 apt 更新 | 停止并 mask apt-daily* |
| 禁止自动安全更新 | 修改 /etc/apt/apt.conf.d/10periodic |
| 禁止 Snap 自动更新 | mask snapd.service 与 snapd.socket |
| 完全禁用 | 可选 chmod 锁文件 |
总结:
即使没装
unattended-upgrades,JetPack 6 仍会通过apt-daily.timer和snapd自行更新。
禁用它们,才能彻底阻止 Jetson 自行下载并重启。
