2026-02-26 159 次
這個(gè)錯(cuò)誤提示是因?yàn)?Firefox 正在運(yùn)行,而 snap 包管理器在更新時(shí)需要關(guān)閉所有相關(guān)進(jìn)程。 你可以按以下步驟解決:
完全關(guān)閉所有 Firefox 窗口和進(jìn)程。
再次點(diǎn)擊更新按鈕,或在終端執(zhí)行:
sudo snap refresh firefox
如果關(guān)閉窗口后仍有殘留進(jìn)程,可以在終端執(zhí)行:
sudo killall firefox
然后再執(zhí)行更新命令:
sudo snap refresh firefox
--force 強(qiáng)制更新(不推薦,僅應(yīng)急)如果必須在不關(guān)閉 Firefox 的情況下更新,可以使用強(qiáng)制參數(shù):
sudo snap refresh --force firefox
?? 注意:此方法可能導(dǎo)致 Firefox 運(yùn)行異常或數(shù)據(jù)丟失,建議優(yōu)先使用前兩種方法。
確保 Firefox 已完全關(guān)閉。
打開 Snap Store,切換到“更新”標(biāo)簽頁(yè)。
點(diǎn)擊 Firefox 旁的“更新”按鈕,或點(diǎn)擊“全部更新”。
你現(xiàn)在遇到的問題是:雖然執(zhí)行了 killall firefox 提示未找到進(jìn)程,但系統(tǒng)仍檢測(cè)到 PID 為 14523 的 Firefox 相關(guān)進(jìn)程在運(yùn)行,且 --force 參數(shù)也無效(新版 snap 已移除該參數(shù))。我來幫你徹底解決這個(gè)問題。
既然知道具體的 PID 是 14523,直接通過 PID 終止進(jìn)程(這是最精準(zhǔn)的方式):
# 強(qiáng)制終止 PID 為 14523 的進(jìn)程 sudo kill -9 14523
執(zhí)行以下命令,確認(rèn) Firefox 進(jìn)程已完全消失:
# 查看是否還有 firefox 相關(guān)進(jìn)程 ps aux | grep firefox
如果輸出中只有 grep firefox 這一行(沒有帶 PID 14523 或其他 firefox 進(jìn)程),說明進(jìn)程已終止。
sudo snap refresh firefox
如果上述步驟仍無效,執(zhí)行以下命令清理 snap 相關(guān)緩存并重啟 snap 服務(wù):
# 停止 snap 服務(wù) sudo systemctl stop snapd # 清理 snap 緩存 sudo rm -rf /var/lib/snapd/cache/* # 重啟 snap 服務(wù) sudo systemctl start snapd # 再次更新 firefox sudo snap refresh firefox
killall firefox 失效的原因:可能是該進(jìn)程的執(zhí)行名不是 firefox(比如 snap 封裝的進(jìn)程名有前綴),但 kill -9 PID 是直接基于進(jìn)程 ID 終止,不受進(jìn)程名影響,是最可靠的方式。
--force 參數(shù)失效:新版 Ubuntu 24.04 的 snap 工具已移除 --force 刷新參數(shù),所以這個(gè)命令本身就會(huì)報(bào)錯(cuò),無需再嘗試。
優(yōu)先通過 sudo kill -9 14523 終止指定 PID 的 Firefox 進(jìn)程(核心解決方法);
驗(yàn)證進(jìn)程終止后再執(zhí)行 sudo snap refresh firefox;
若仍有問題,清理 snap 緩存并重啟 snap 服務(wù)后重試。 執(zhí)行完這些步驟后,F(xiàn)irefox 的更新應(yīng)該就能正常完成了。
你現(xiàn)在的問題不是單一的 Firefox 更新失敗,而是整個(gè) Ubuntu 系統(tǒng)的軟件更新功能(包括 Snap 商店和系統(tǒng)更新)都出現(xiàn)了問題,這說明是 Snap 服務(wù)本身或系統(tǒng)更新機(jī)制出了全局性的故障,而非單個(gè)應(yīng)用的問題。我?guī)湍銖母瓷辖鉀Q這個(gè)整體更新異常的問題。
先修復(fù) Snap 服務(wù)的核心運(yùn)行問題,再修復(fù)系統(tǒng)整體的軟件更新源和依賴,最后完成全量更新。
# 停止 Snap 服務(wù) sudo systemctl stop snapd # 重新加載 Snap 服務(wù)配置 sudo systemctl daemon-reload # 啟動(dòng) Snap 服務(wù)并設(shè)置開機(jī)自啟 sudo systemctl start snapd sudo systemctl enable snapd # 檢查 Snap 服務(wù)狀態(tài)(確認(rèn)是否正常運(yùn)行) sudo systemctl status snapd
執(zhí)行最后一條命令后,若輸出中顯示 active (running),說明 Snap 服務(wù)已恢復(fù)。
# 終止所有 Snap 相關(guān)的異常進(jìn)程(包括之前的 Firefox 殘留) sudo pkill -9 snap sudo pkill -9 snapd # 清理 Snap 緩存和臨時(shí)文件 sudo rm -rf /var/lib/snapd/cache/* sudo rm -rf /var/lib/snapd/tmp/* # 修復(fù) Snap 自身的安裝狀態(tài) sudo snap repair
Ubuntu 軟件商店的更新依賴 apt 源和系統(tǒng)依賴,先修復(fù)這部分:
# 更新 apt 軟件源(確保源可用) sudo apt update # 修復(fù)損壞的軟件包和依賴關(guān)系 sudo apt --fix-broken install # 清理系統(tǒng)無用包和緩存 sudo apt autoremove sudo apt clean
# 更新所有 apt 管理的軟件包 sudo apt upgrade -y # 更新所有 Snap 管理的應(yīng)用(包括 Firefox、Snap 商店等) sudo snap refresh
# 重置 Snap 商店應(yīng)用 sudo snap reset snap-store # 重啟 Snap 商店 snap-store --quit nohup snap-store > /dev/null 2>&1 &
你之前只遇到 Firefox 更新失敗,實(shí)際是 Snap 服務(wù)進(jìn)程異常導(dǎo)致所有 Snap 應(yīng)用(包括 Snap 商店)都無法更新,第一步重啟 Snap 服務(wù)是核心;
snap repair 是 Ubuntu 24.04 新增的命令,能自動(dòng)修復(fù) Snap 自身的配置和損壞文件,比手動(dòng)清理更可靠;
apt --fix-broken install 會(huì)解決系統(tǒng)級(jí)的軟件依賴問題,確保 Ubuntu 軟件商店的基礎(chǔ)功能正常。
核心問題是 Snap 服務(wù)進(jìn)程異常,導(dǎo)致所有 Snap 應(yīng)用(包括 Firefox、Snap 商店)無法更新,而非單個(gè)應(yīng)用問題;
先重啟/修復(fù) Snap 服務(wù),再清理緩存/修復(fù)系統(tǒng)依賴,最后執(zhí)行全量更新;
若執(zhí)行完所有步驟后,Snap 商店仍無法打開/更新,可執(zhí)行 sudo snap remove snap-store && sudo snap install snap-store 重新安裝商店。
執(zhí)行完這些步驟后,無論是 Firefox 還是 Ubuntu 軟件商店的更新功能,都應(yīng)該能恢復(fù)正常。
你遇到的 snap repair 命令報(bào)錯(cuò),是因?yàn)?Ubuntu 24.04 中這個(gè)命令的用法有變化(需要指定修復(fù) ID 才能執(zhí)行),而且這個(gè)命令其實(shí)不是必須的,我?guī)湍阏{(diào)整方案,跳過這個(gè)步驟也能徹底解決 Snap 整體更新失敗的問題。
# 驗(yàn)證是否還有 Snap/Firefox 殘留進(jìn)程 ps aux | grep -E "snap|firefox" | grep -v grep # 如果還有進(jìn)程,用以下命令批量終止(比單獨(dú)殺 PID 更徹底) sudo pkill -9 -f snap sudo pkill -9 -f firefox
你之前執(zhí)行的緩存清理命令是有效的,這一步已經(jīng)完成:
# (已執(zhí)行,僅作記錄) sudo rm -rf /var/lib/snapd/cache/* sudo rm -rf /var/lib/snapd/tmp/*
跳過報(bào)錯(cuò)的 snap repair,改用更通用的方式修復(fù) Snap 配置:
# 重新生成 Snap 配置 sudo snap refresh core # 重啟 Snap 服務(wù)并檢查狀態(tài) sudo systemctl restart snapd sudo systemctl status snapd
執(zhí)行 status 后,看到 active (running) 且無紅色錯(cuò)誤,說明服務(wù)正常。
# 更新 apt 源并修復(fù)依賴(解決 Ubuntu 軟件商店的底層問題) sudo apt update sudo apt --fix-broken install -y sudo apt full-upgrade -y
# 更新所有 Snap 應(yīng)用(覆蓋 Firefox、Snap 商店等) sudo snap refresh
# 卸載并重新安裝 Snap 商店 sudo snap remove snap-store sudo snap install snap-store # 重啟商店進(jìn)程 snap-store --quit || true nohup snap-store > /dev/null 2>&1 &
snap repair 命令的作用:這個(gè)命令是用于修復(fù)已記錄的 Snap 故障(需要先通過 snap repairs 查看故障 ID),對(duì)當(dāng)前的“進(jìn)程占用+服務(wù)異?!眴栴}沒有必要,跳過完全不影響修復(fù);
pkill -9 -f snap:-f 參數(shù)會(huì)匹配進(jìn)程的完整命令行,能殺死所有包含 snap 關(guān)鍵詞的進(jìn)程,比單獨(dú)殺 snapd 更徹底,解決“進(jìn)程明明殺了還顯示占用”的問題;
執(zhí)行 apt full-upgrade:區(qū)別于普通 upgrade,它會(huì)處理系統(tǒng)版本相關(guān)的依賴更新,修復(fù) Ubuntu 軟件商店的底層依賴問題。
跳過報(bào)錯(cuò)的 snap repair 命令,它不是修復(fù)當(dāng)前問題的必要步驟;
用 pkill -9 -f snap/firefox 徹底終止所有相關(guān)進(jìn)程(核心解決“進(jìn)程占用”問題);
重啟 Snap 服務(wù) + 修復(fù) apt 依賴,能同時(shí)解決 Snap 應(yīng)用和 Ubuntu 軟件商店的更新故障;
最后執(zhí)行全量更新,確保所有軟件都能正常升級(jí)。 執(zhí)行完這些步驟后,無論是 Firefox 還是 Ubuntu 軟件商店的更新功能都應(yīng)該恢復(fù)正常。