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