snap 是 Canonical 為使用 Linux 核心和 systemd init 系統的作業系統所開發的軟體打包和部署系統。這些被稱為 snap 的軟體包和使用它們的工具 snapd 可以在一系列的 Linux 發行版中使用,並允許上游軟體開發者直接向用戶發布他們的應用程式。
借助 snap,用戶可以輕鬆安裝 Linux 應用程序,在預設情況下,snapd 一天內會檢查四次更新,並自動將 snap 應用程式更新到最新的版本。雖然有許多方法可以控制更新的安裝時間和頻率,但為了安全使用者無法完全關閉自動更新。
雖然snap 的初衷很好,但很多開發者都深受它的困擾,時不時就會發現常用的開發工具自動更新了,導致插件、依賴出現了不相容的情況,不得不手動回退版本。正因如此,不少開發者在安裝 Ubuntu 之後第一件做的事情就是卸載 snap。
Canonical 今天宣布,允許用戶對 snap 格式軟體包執行暫時或永久禁用自動更新。在預設情況下,snap 軟體包會自動更新,以便於確保你的應用程式始終處於最新的狀態。
但由於 snap 軟體包格式的自動更新模式,有時會導致某款軟體出現不相容、無法使用的情況。好消息是雖然 Canonical 現在允許使用者設定暫時停用或永久停用,但不支援圖形化操作,需要在終端機裡用命令列方式執行。
我們了解到,例如,你想要讓VLC 媒體播放器的snap 軟體包暫時停用自動更新,可以輸入:
snaprefresh--hold=72hvlc
然後輸出結果會是這樣的:
Generalrefreshesof"vlc"helduntil2022-11-17T12:04:59Z
如果你想要暫時停用snap 軟體包自動更新,指令為:
snaprefresh--hold=48h
如果你想要永久停用snap 軟體包自動更新,指令為:
snaprefresh--hold
反之,透過--unhold 參數重新啟用自動更新。
snap refresh --unhold
要重新啟用特定應用程式的自動更新,例如Firefox,則在命令中新增名稱即可:
snap refresh --unhold firefox
該命令目前並沒有出現在Ubuntu 正式版本中,如果你想嘗試的話需要透過指令將snapd 切換到edge 通道:
snap refresh snapd --edge
測試完成後,如果需要將snapd 切換回穩定通道,則需要使用指令:
snap refresh snapd --stable
天下苦snap 久矣,但隨著snap 更新機制的不斷完善,Ubuntu 終於增加了對禁用snap 應用程式自動更新的支持,大家還會給snap 一個機會嗎?
以上是Ubuntu 最終支援停用 snap 軟體包的自動更新的詳細內容。更多資訊請關注PHP中文網其他相關文章!