服务器运维 yunwei

Ubuntu 24.04 更新软件出错解决方法,包括应用商店的更新,一定能解决!

2026-02-26 113 次

这个错误提示是因为 Firefox 正在运行,而 snap 包管理器在更新时需要关闭所有相关进程。 你可以按以下步骤解决:


方法一:先关闭 Firefox,再更新

  1. 完全关闭所有 Firefox 窗口和进程。

  2. 再次点击更新按钮,或在终端执行:

    sudo snap refresh firefox

方法二:强制关闭所有 Firefox 进程(推荐)

如果关闭窗口后仍有残留进程,可以在终端执行:

sudo killall firefox

然后再执行更新命令:

sudo snap refresh firefox

方法三:使用 --force 强制更新(不推荐,仅应急)

如果必须在不关闭 Firefox 的情况下更新,可以使用强制参数:

sudo snap refresh --force firefox

⚠️ 注意:此方法可能导致 Firefox 运行异常或数据丢失,建议优先使用前两种方法。

方法四:通过 Snap Store 图形界面更新

  1. 确保 Firefox 已完全关闭。

  2. 打开 Snap Store,切换到“更新”标签页。

  3. 点击 Firefox 旁的“更新”按钮,或点击“全部更新”。


你现在遇到的问题是:虽然执行了 killall firefox 提示未找到进程,但系统仍检测到 PID 为 14523 的 Firefox 相关进程在运行,且 --force 参数也无效(新版 snap 已移除该参数)。我来帮你彻底解决这个问题。

解决步骤

1. 精准杀死指定 PID 的进程

既然知道具体的 PID 是 14523,直接通过 PID 终止进程(这是最精准的方式):

# 强制终止 PID 为 14523 的进程
sudo kill -9 14523

2. 验证进程是否已终止

执行以下命令,确认 Firefox 进程已完全消失:

# 查看是否还有 firefox 相关进程
ps aux | grep firefox

如果输出中只有 grep firefox 这一行(没有带 PID 14523 或其他 firefox 进程),说明进程已终止。

3. 重新执行 Firefox 更新

sudo snap refresh firefox

4. 若仍报错,清理 snap 缓存后重试(兜底方案)

如果上述步骤仍无效,执行以下命令清理 snap 相关缓存并重启 snap 服务:

# 停止 snap 服务
sudo systemctl stop snapd
# 清理 snap 缓存
sudo rm -rf /var/lib/snapd/cache/*
# 重启 snap 服务
sudo systemctl start snapd
# 再次更新 firefox
sudo snap refresh firefox

关键说明

  • killall firefox 失效的原因:可能是该进程的执行名不是 firefox(比如 snap 封装的进程名有前缀),但 kill -9 PID 是直接基于进程 ID 终止,不受进程名影响,是最可靠的方式。

  • --force 参数失效:新版 Ubuntu 24.04 的 snap 工具已移除 --force 刷新参数,所以这个命令本身就会报错,无需再尝试。

    总结

  1. 优先通过 sudo kill -9 14523 终止指定 PID 的 Firefox 进程(核心解决方法);

  2. 验证进程终止后再执行 sudo snap refresh firefox

  3. 若仍有问题,清理 snap 缓存并重启 snap 服务后重试。 执行完这些步骤后,Firefox 的更新应该就能正常完成了。

你现在的问题不是单一的 Firefox 更新失败,而是整个 Ubuntu 系统的软件更新功能(包括 Snap 商店和系统更新)都出现了问题,这说明是 Snap 服务本身或系统更新机制出了全局性的故障,而非单个应用的问题。我帮你从根源上解决这个整体更新异常的问题。

解决思路

先修复 Snap 服务的核心运行问题,再修复系统整体的软件更新源和依赖,最后完成全量更新。

分步解决方案

1. 先彻底重启 Snap 服务(解决 Snap 核心故障)

# 停止 Snap 服务
sudo systemctl stop snapd
# 重新加载 Snap 服务配置
sudo systemctl daemon-reload
# 启动 Snap 服务并设置开机自启
sudo systemctl start snapd
sudo systemctl enable snapd
# 检查 Snap 服务状态(确认是否正常运行)
sudo systemctl status snapd

执行最后一条命令后,若输出中显示 active (running),说明 Snap 服务已恢复。

2. 清理 Snap 残留进程和缓存(解决进程占用/缓存损坏)

# 终止所有 Snap 相关的异常进程(包括之前的 Firefox 残留)
sudo pkill -9 snap
sudo pkill -9 snapd
# 清理 Snap 缓存和临时文件
sudo rm -rf /var/lib/snapd/cache/*
sudo rm -rf /var/lib/snapd/tmp/*
# 修复 Snap 自身的安装状态
sudo snap repair

3. 修复系统软件源和依赖(解决系统级更新故障)

Ubuntu 软件商店的更新依赖 apt 源和系统依赖,先修复这部分:

# 更新 apt 软件源(确保源可用)
sudo apt update
# 修复损坏的软件包和依赖关系
sudo apt --fix-broken install
# 清理系统无用包和缓存
sudo apt autoremove
sudo apt clean

4. 执行全量系统更新(包括 Snap 和 apt 包)

# 更新所有 apt 管理的软件包
sudo apt upgrade -y
# 更新所有 Snap 管理的应用(包括 Firefox、Snap 商店等)
sudo snap refresh

5. 若 Snap 商店仍无法更新,重置 Snap 商店

# 重置 Snap 商店应用
sudo snap reset snap-store
# 重启 Snap 商店
snap-store --quit
nohup snap-store > /dev/null 2>&1 &

关键说明

  • 你之前只遇到 Firefox 更新失败,实际是 Snap 服务进程异常导致所有 Snap 应用(包括 Snap 商店)都无法更新,第一步重启 Snap 服务是核心;

  • snap repair 是 Ubuntu 24.04 新增的命令,能自动修复 Snap 自身的配置和损坏文件,比手动清理更可靠;

  • apt --fix-broken install 会解决系统级的软件依赖问题,确保 Ubuntu 软件商店的基础功能正常。

    总结

  1. 核心问题是 Snap 服务进程异常,导致所有 Snap 应用(包括 Firefox、Snap 商店)无法更新,而非单个应用问题;

  2. 先重启/修复 Snap 服务,再清理缓存/修复系统依赖,最后执行全量更新;

  3. 若执行完所有步骤后,Snap 商店仍无法打开/更新,可执行 sudo snap remove snap-store && sudo snap install snap-store 重新安装商店。 执行完这些步骤后,无论是 Firefox 还是 Ubuntu 软件商店的更新功能,都应该能恢复正常。

你遇到的 snap repair 命令报错,是因为 Ubuntu 24.04 中这个命令的用法有变化(需要指定修复 ID 才能执行),而且这个命令其实不是必须的,我帮你调整方案,跳过这个步骤也能彻底解决 Snap 整体更新失败的问题。

修正后的完整解决方案

1. 先确认并终止所有残留的 Snap 相关进程(已执行过可跳过,补充验证步骤)

# 验证是否还有 Snap/Firefox 残留进程
ps aux | grep -E "snap|firefox" | grep -v grep
# 如果还有进程,用以下命令批量终止(比单独杀 PID 更彻底)
sudo pkill -9 -f snap
sudo pkill -9 -f firefox

2. 清理 Snap 缓存(已执行,无需重复)

你之前执行的缓存清理命令是有效的,这一步已经完成:

# (已执行,仅作记录)
sudo rm -rf /var/lib/snapd/cache/*
sudo rm -rf /var/lib/snapd/tmp/*

3. 重新初始化 Snap 服务(核心修复步骤)

跳过报错的 snap repair,改用更通用的方式修复 Snap 配置:

# 重新生成 Snap 配置
sudo snap refresh core
# 重启 Snap 服务并检查状态
sudo systemctl restart snapd
sudo systemctl status snapd

执行 status 后,看到 active (running) 且无红色错误,说明服务正常。

4. 修复系统更新源和依赖(确保系统级更新正常)

# 更新 apt 源并修复依赖(解决 Ubuntu 软件商店的底层问题)
sudo apt update
sudo apt --fix-broken install -y
sudo apt full-upgrade -y

5. 执行全量 Snap 更新(包括 Firefox 和 Snap 商店)

# 更新所有 Snap 应用(覆盖 Firefox、Snap 商店等)
sudo snap refresh

6. 若 Snap 商店仍异常,重新安装商店

# 卸载并重新安装 Snap 商店
sudo snap remove snap-store
sudo snap install snap-store
# 重启商店进程
snap-store --quit || true
nohup snap-store > /dev/null 2>&1 &

关键说明

  • snap repair 命令的作用:这个命令是用于修复已记录的 Snap 故障(需要先通过 snap repairs 查看故障 ID),对当前的“进程占用+服务异常”问题没有必要,跳过完全不影响修复;

  • pkill -9 -f snap-f 参数会匹配进程的完整命令行,能杀死所有包含 snap 关键词的进程,比单独杀 snapd 更彻底,解决“进程明明杀了还显示占用”的问题;

  • 执行 apt full-upgrade:区别于普通 upgrade,它会处理系统版本相关的依赖更新,修复 Ubuntu 软件商店的底层依赖问题。

    总结

  1. 跳过报错的 snap repair 命令,它不是修复当前问题的必要步骤;

  2. pkill -9 -f snap/firefox 彻底终止所有相关进程(核心解决“进程占用”问题);

  3. 重启 Snap 服务 + 修复 apt 依赖,能同时解决 Snap 应用和 Ubuntu 软件商店的更新故障;

  4. 最后执行全量更新,确保所有软件都能正常升级。 执行完这些步骤后,无论是 Firefox 还是 Ubuntu 软件商店的更新功能都应该恢复正常。


近期更新:
返回顶部