怎樣在 Ubuntu Linux 中移除 Snap 軟件包
- 這是一篇關于在 Ubuntu Linux 系統中如何刪除 Snap,以得到一個無 Snap 系統的教程。
由 Canonical 開發的 Snap 軟件包在一些場景下是有益的。它為終端用戶直接提供了輕便且快速的程序更新。不僅如此,它還有其他的好處,比如它打包了所有依賴包,并允許安裝同一個應用的多個版本。此外,它運行在沙盒模式,提供了安全和其他方面的好處。
在這些好處中, Snap 技術也有一些地方備受爭論。舉個例子,幾乎所有使用 Snap 軟件包的用戶都說它的性能較差,包括它的啟動時間要比本地 deb 或者 RPM 軟件包時間要長。另外,由于它的設計,程序安裝的體積巨大,浪費磁盤空間,因為它打包了所有用到的依賴包。
不僅如此,由于沙盒的天然屬性,Snap 程序可能無法訪問你的 Linux 桌面的幾個部分,除非提供了適當的權限。
這個指南闡述了你如何從 Ubuntu 系統中完全移除 Snap。
這些步驟在 Ubuntu 22.04 LTS Jammy Jellyfish 中進行了測試。然而,它應該也適用于所有的 Ubuntu 系統版本。
警告:這些步驟將會移除 Ubuntu 系統中兩個關鍵的程序:軟件商店和 Firefox。嘗試這些步驟之前確認你已經對書簽和 Firefox 的其它設置做了備份。
在 Ubuntu Linux 移除 Snap 軟件包
1、在你的系統中打開一個終端,使用以下命令查看已經安裝的 Snap 軟件包的列表。它顯示了 Snap 軟件包,比如 Firefox,軟件商店,主題以及其它默認已經安裝的核心軟件包。
snap list
Ubuntu Snap 包列表
2、按照以下的順序移除 Snap 軟件包。首先移除 Firefox。然后是軟件商店,和用以上命令看到的你的系統中的其它軟件包。
sudo snap remove --purge firefox
sudo snap remove --purge snap-store
sudo snap remove --purge gnome-3-38-2004
sudo snap remove --purge gtk-common-themes
sudo snap remove --purge snapd-desktop-integration
sudo snap remove --purge bare
sudo snap remove --purge core20
sudo snap remove --purge snapd
3、最后,通過 apt 命令移除 Snap 服務。
sudo apt remove --autoremove snapd
移除 Snap 包和其它
這還沒完,即使你用以上命令移除了 Snap 軟件包,但是如果你沒有關閉 apt 觸發器,sudo apt update 命令會再一次將 Snap 安裝回來。
4、所以,要關閉它,我們需要在 /etc/apt/preferences.d/ 目錄下創建一個 apt 設置文件 nosnap.pref 來關閉 Snap 服務。
sudo gedit /etc/apt/preferences.d/nosnap.pref
5、添加以下的命令行,并保存該文件。
Package: snapd
Pin: release a=*
Pin-Priority: -10
創建設置文件
如果你知道如何使用它,那么這個 apt 設置文件是一個潛在的工具。舉個例子,在以上的狀態中,Pin-Priority -10 意思就是阻止 Snap 軟件包的安裝。
與這個教程不相關的,舉個例子,如果你想給所有發行版代號為 “bulleye” 的軟件包超高優先權的話,那么就可以查看這些設置文件。如果你想了解更多,你可以訪問 apt 手冊頁。
Package: *
Pin: release n=bullseye
Pin-Priority: 900
6、回到我們的主題,一旦你已經保存和關閉以上文件,從終端中再次運行以下命令。
sudo apt update
7、最后,從 Ubuntu 中移除 Snap 的步驟全部完成。
從 Ubuntu 移除 Snap 后使用 deb 文件安裝軟件商店和 Firefox
你已經移除了 Firefox 和軟件商店,但是你的工作還需要它們。
要安裝 apt 版的 GNOME 軟件商店,你可以使用以下命令。確保使用 --install-suggests 參數。否則,將會再次安裝上 Snap 版本的軟件包管理器!
sudo apt install --install-suggests gnome-software
要安裝 Firefox,通過以下命令使用官方 PPA 倉庫。
sudo add-apt-repository ppa:mozillateam/ppa
sudo apt update
sudo apt install -t 'o=LP-PPA-mozillateam' firefox
添加 PPA 倉庫
從 PPA 倉庫以 deb 文件形式安裝 Firefox
一旦你已經安裝完 Firefox,使用以下命令開啟自動更新。要了解更多,訪問此頁。
echo 'Unattended-Upgrade::Allowed-Origins::
"LP-PPA-mozillateam:${distro_codename}";' | sudo tee
/etc/apt/apt.conf.d/51unattended-upgrades-firefox
最后但同樣重要,當運行 apt 時,為 Firefox 創建另一個設置文件給予以上 PPA 倉庫超高優先權。如果你不這么做,apt update 命令會再次安裝 Snap 版本 Firefox,并把它的“ Snap 朋友們”帶回來 。
sudo gedit /etc/apt/preferences.d/mozillateamppa
最后,添加這些命令行并保存文件。
Package: firefox*
Pin: release o=LP-PPA-mozillateam
Pin-Priority: 501
完成。
在 Ubuntu 系統恢復到 Snap 軟件包
如果你改變想法,移除該設置文件,并通過以下命令再次啟動安裝程序。
sudo rm /etc/apt/preferences.d/nosnap.pref
sudo apt update && sudo apt upgrade
sudo snap install snap-store
sudo apt install firefox
總結
關于在 Ubuntu 下移除 Snap 軟件包做個總結,我想說的是這些處理 Snap 軟件包的方法實屬無奈。主要是這對新用戶來說很困難。我希望這個指南能幫助你處理好 Snap 軟件包。完結撒花。