怎樣在 Ubuntu Linux 中移除 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
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 軟體包,但是如果你沒有關閉 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
一旦你已經安裝完 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 軟體包。完結撒花。
via: https://www.debugpoint.com/2022/04/remove-snap-ubuntu/
作者:Arindam 選題:lujun9972 譯者:hwlife 校對:turbokernel, wxy
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive