snapd 2.78 把依賴一起打包,沙箱分三檔,更新自動推送
摘要
snapd 2.78 是 snap 這套通用 Linux 套件格式背後的常駐服務,負責掛載、依規則放行權限、按時推送更新。依賴隨套件走,沙箱分三檔,介面按需連接,官方列出十八個發行版。
推薦- 軟體名稱
- snapd
- 版本
- 2.78
- 收費
- 免費
- 開源
- 開源
- 作業系統
- Linux
- 更新時間
- 2026-10-20 16:43
一個 snap 套件自帶執行時期的函式庫,裝上來是唯讀掛載,兩個版本還能並排存在。這些事得有人做出來:解開套件、建立掛載、照宣告放開權限、按時把新修訂版換上來。做這件事的就是 snapd。
它負責什麼
snapd 是 snap 這套通用 Linux 套件格式背後的常駐服務,負責把套件掛載起來、按規則放行權限,以及推送更新。目前版本 2.78。
這套做法換來的是跨發行版一致。同一個套件在 Ubuntu 上和在 Fedora 上跑的是同一份東西,系統原本裝了什麼函式庫幾乎不影響它。代價也落在同一處:依賴一起打包,意味著同一個執行環境會被存上好幾份。

2.78 改了什麼
2.78 在 2026 年 10 月 7 日發佈,不是預發佈版。改動清單裡篇幅較多的有三塊。
一是全盤加密。重新設定的流程之後會更新金鑰環、重建狀態,加密狀態的判定改為走完整流程,金鑰改用記憶體中的檔案描述符承載。對 Ubuntu Core 裝置,開始支援以零設定方式設定雷電介面的安全等級。
二是元件與設定。種子重新整理時會一併考慮元件,並阻止種子裡的元件被移除;應用程式的執行環境裡讀得到元件目錄的位置。設定資料庫這邊支援讀寫內建項目,改狀態前先過一遍約束集,錯誤訊息也細化到具體的鍵。
三是介面。這一版新增了驅動觀察介面,內容介面支援用元件共享檔案,電源控制介面開始辨識標準的充電門檻屬性,關機介面允許帶旗標重新啟動。另外幾處是與裝置辨識、路徑含空格相關的修補。稽核日誌這塊把管理操作與越權存取的紀錄欄位改成「誰、做了什麼、為什麼」,追查時比原來清楚。
還有幾處影響日常使用的:磁碟空間檢查新增保留量選項,空間不夠時只更新必要的套件;配額組功能轉正;應用程式更新時的使用者提示預設開啟;復原模式下的重新啟動改為一次性項目。
沙箱分三檔
嚴格模式是預設檔。它借內核的三樣東西把應用程式關起來:AppArmor 管存取規則,seccomp 管系統呼叫,命名空間隔離檔案系統與行程檢視,應用程式看不到容器外的世界。要用攝影機、要讀使用者目錄,都得走介面宣告。
經典模式給那些必須接觸整個系統的軟體留了口子,安裝時要明確加參數才會生效,等於放棄了隔離。開發模式面向打包者,跑起來仍受嚴格規則約束,但能存取系統資源並印出還缺哪些介面,屬於除錯檔,這類套件不會自動更新。
檔位 | 意思 |
|---|---|
嚴格 | 預設;靠 AppArmor、seccomp 與命名空間把應用程式關起來 |
經典 | 安裝時要明確加參數才生效,等於放棄隔離 |
開發 | 給打包者用;仍受嚴格規則約束,能回報還缺哪些介面 |
介面按需授權
嚴格模式下的應用程式想拿到一項系統能力,就得宣告對應的介面,再由使用者或系統完成連接。文件裡介面是按字母排的一份長清單,從音訊播放、攝影機、藍牙到裝置控制各有一條。
這種設計把「能做什麼」寫在套件自己的宣告裡,裝之前就看得清楚。代價是有些功能要手動連一下介面才通,第一次用某個裝置時容易卡在這一步。
更新自動來,也能退回去
更新由重新整理機制負責,預設按固定節奏自動進行,新版本換上來之後上一版仍然留著。裝完發現不對,一條回退指令就能切回前一個修訂版,不必重新去找舊套件。
不想讓它自己動,可以對單一套件暫停更新,也可以改系統層級的更新策略。文件特別註明,暫停更新這項能力需要 2.58 及以後的版本。
發行版覆蓋面
官方在安裝常駐服務這一節列了十八個發行版:Ubuntu、Debian、Fedora、CentOS、Red Hat、Rocky、AlmaLinux、Arch、Manjaro、openSUSE、Linux Mint、Kali、Parrot、Pop!_OS、Elementary、KDE Neon、GalliumOS 與樹莓派系統。
覆蓋面是這套格式的主要賣點之一。同一個軟體要同時供給多個發行版的場合,打包一次比維護好幾套省事。
與不可變系統的關係
Ubuntu Core 是 Canonical 的嵌入式系統,官方對它的描述是不可變、精簡、嚴格受限的 Linux。這類系統裡沒有傳統的套件管理器,整機的應用程式與更新都走 snap 這一條路,差量更新、空中升級、離線環境部署都靠它完成。
snapd 在這類裝置上不只是裝軟體的工具,還是系統維持一致狀態的基礎元件。2.78 裡那些與全盤加密、種子重新整理、復原模式相關的改動,很大一部分就是為這個場合服務的。
需要提前知道的幾件事
自動更新是預設行為,不是可選功能。不喜歡這種節奏的人得主動去關,關掉之後又要自己盯安全更新,這個取捨要提前想清楚。
套件體積偏大也是常被提到的一點。依賴一起打包意味著重複佔用,同一個執行環境在幾個套件裡各存一份,磁碟緊張的小機器上會很明顯。
另外它依賴內核特性,在容器裡、精簡系統裡,或者內核模組被裁剪過的環境,沙箱未必能照預期運作,遇到問題時先看這一層。
snapd 解決的是「一個套件在哪個發行版上都能跑」這件事:依賴隨套件走、沙箱分三檔、介面按需連接、更新自動推送還留一次回退。2.78 的重心放在加密、元件與介面三塊,日常感受到的變化不多,往不可變系統那條線上看才明顯。