Ubuntu 22.04 禁用(彻底移除)Snap

Posted by sysin on 2022-09-16
Estimated Reading Time 4 Minutes
Words 1.1k In Total
更新日期:Fri Sep 16 2022 09:08:13 GMT+0800,阅读量: 31048

请访问原文链接:Ubuntu 22.04 禁用(彻底移除)Snap 查看最新版。原创作品,转载请保留出处。

作者主页:sysin.org


Snaps 是 Ubuntu 的母公司 Canonical 于 2016 年 4 月发布 Ubuntu 16.04 LTS(Long Term Support,长期支持版)时引入的一种容器化的软件包格式。自 Ubuntu 16.04 LTS 起,Ubuntu 操作系统可以同时支持 Snap 及 Debian 这两种格式的安装包。

Snap 虽然有一定的优点(请自行搜索),但是不足之处更多。Snap 软件包体积庞大,snapd 进程会导致系统重启等待,并且可能导致卡顿,禁用为佳。

特别是服务器版用不上这种软件包,默认是安装的,必须彻底删除。

Ubuntu 22.04 桌面版中两个关键的程序:软件商店和 Firefox 使用了 Snap 软件包,卡顿明显。

禁用服务无效示例:

1
2
3
4
5
6
#sudo systemctl disable --now snapd
#sudo systemctl disable --now snapd.socket
#sudo systemctl disable snapd
但是重启后,snapd 仍然运行
# 验证状态
systemctl status snapd

ubuntu-2204-desktop
图:Ubuntu 22.04 中的 Firefox(deb)

现在 Ubuntu OVF 中已经更新 apt_preferences 彻底排除了 Snap。

删除 Snap 的方法

已经确认 snapd 是无法禁用的,只能强制删除。以下操作无需停止 snapd 服务。

(1)删掉所有的已经安装的 Snap 软件。

snap list 用于查看已经安装的 Snap 软件,通过脚本全部删除:

1
2
3
for p in $(snap list | awk '{print $1}'); do
sudo snap remove $p
done

一般需要执行两次(桌面版三次),提示如下则正确执行:

1
2
3
snap "Name" is not installed
core20 removed
snapd removed

再次执行,提示如下,表明已经删除干净:

1
No snaps are installed yet. Try 'snap install hello-world'.

(2)删除 Snap 的 Core 文件。

1
2
3
4
5
6
sudo systemctl stop snapd
sudo systemctl disable --now snapd.socket

for m in /snap/core/*; do
sudo umount $m
done

(3)删除 Snap 的管理工具。

1
sudo apt autoremove --purge snapd

(4)删除 Snap 的目录。

1
2
3
4
5
rm -rf ~/snap
sudo rm -rf /snap
sudo rm -rf /var/snap
sudo rm -rf /var/lib/snapd
sudo rm -rf /var/cache/snapd

(5)配置 APT 参数:禁止 apt 安装 snapd。

正确配置(参看 apt_preferences):

1
2
3
4
5
sudo sh -c "cat > /etc/apt/preferences.d/no-snapd.pref" << EOL
Package: snapd
Pin: release a=*
Pin-Priority: -10
EOL
1
2
3
4
5
a -> Archive
c -> Component
o -> Origin
l -> Label
n -> Architecture

验证效果:可以查询到该包,但是无法安装。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# sysin @ u22 in ~ [13:59:22]
$ apt list snapd
Listing... Done
snapd/jammy-updates 2.56.2+22.04ubuntu1 amd64
N: There is 1 additional version. Please use the '-a' switch to see it

# sysin @ u22 in ~ [13:59:37]
$ sudo apt install snapd
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Package snapd is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source

E: Package 'snapd' has no installation candidate

同时禁用 snap Firefox 的更新(Server 版也可以配置):

1
2
3
4
5
sudo sh -c "cat > /etc/apt/preferences.d/no-firefox.pref" << EOL
Package: firefox
Pin: release a=*
Pin-Priority: -10
EOL

现在服务器版安装桌面环境也没有 Snap!

1
2
3
4
sudo apt update
#sudo apt install ubuntu-desktop #完整 GNOME 桌面环境包括 LibreOffice、视频播放器、游戏等等
sudo apt install ubuntu-desktop-minimal #仅浏览器和基本工具
sudo reboot

该方法也适用于 Ubuntu 20.04,只是 20.04 中 Firefox 不使用 Snap 软件包,不用额外屏蔽,也不用额外安装 deb 格式替代。

安装软件商店和 Firefox

上述操作后,可以安装 deb 格式的软件商店和 Firefox。

安装 Gnome 软件商店

1
2
3
4
sudo apt install gnome-software
# 确认没有 snapd 在按 y
#sudo apt install --install-suggests gnome-software
# 网传使用 `--install-suggests` 参数防止安装上 Snap 版本的软件包管理器,本例无效。

安装 DEB 格式的 Firefox

添加 Firefox 官方 PPA(Personal Package Archives)仓库:

1
sudo add-apt-repository ppa:mozillateam/ppa

将 Firefox 官方 PPA 仓库中的 firefox 设为高优先级:

1
2
3
4
5
sudo sh -c "cat > /etc/apt/preferences.d/mozillateam-firefox.pref" << EOL
Package: firefox*
Pin: release o=LP-PPA-mozillateam
Pin-Priority: 501
EOL

现在可以安装最新版的 deb 版 Firefox:

1
2
3
4
5
sudo apt update
apt list firefox #现在已经不是 Snap firefox
sudo apt install firefox
# 或者 Firefox ESR
sudo apt install firefox-esr

附录:恢复 Snap 的方法

只需要删除配置文件,即可重新使用 Snap 软件包。

1
2
3
4
5
6
sudo rm /etc/apt/preferences.d/no-snap.pref
sudo rm /etc/apt/preferences.d/no-firefox.pref
sudo rm /etc/apt/preferences.d/mozillateam-firefox.pref
sudo apt update
sudo snap install snap-store
sudo apt install firefox

捐助本站 ❤️ Donate

点击访问官方网站


文章用于推荐和分享优秀的软件产品及其相关技术,所有软件默认提供官方原版(免费版或试用版),免费分享。对于部分产品笔者加入了自己的理解和分析,方便学习和研究使用。任何内容若侵犯了您的版权,请联系作者删除。如果您喜欢这篇文章或者觉得它对您有所帮助,或者发现有不当之处,欢迎您发表评论,也欢迎您分享这个网站,或者赞赏一下作者,谢谢!

赞赏一下


☑️ 评论恢复,欢迎留言❗️
敬请注册!点击 “登录” - “用户注册”(已知不支持 21.cn/189.cn 邮箱)。请勿使用联合登录(已关闭)
3 评论
  • 按正序
  • 按倒序
  • 按热度
川崎7772024-03-27

博主你好,我在使用Ubuntu22.04。运行snap list,发现gnome桌面环境是用snap安装的,那么卸载snap不是得把gnome也给卸载了吗?能通过apt重新安装gnome吗?还有,这样会造成系统不稳定吗?

sysin作者0002024-03-28

@川崎: 您好,文中已有描述,正常的 Gnome 环境不需要 snap,步骤也详细描述了,除非是 snap 爱好者(不过此类用户应该不会看此文)。

川崎7772024-03-29

@sysin: 谢谢博主,运行for m in /snap/core/*; do sudo umount $m done,提示umount: /snap/core/*: no mount point specified.


更新日期:Fri Sep 16 2022 09:01:25 GMT+0800,阅读量:

请访问原文链接:SQLPro 2022 系列 - macOS 上简单强大的数据库管理工具 查看最新版。原创作品,转载请保留出处。

作者主页:sysin.org


SQLPro Studio 2022

可用于 macOS、(iOS 和 Windows) 的简单、强大的数据库管理器

sysin

  • 多数据库支持

    SQLPro 支持多种数据库类型,包括 MySQL(和 MariaDB)、Postgres/PostgreSQL、Redshift、Microsoft SQL Server(2005 及更高版本)、Oracle(8i 及更高版本)、SQLite 和 SnowflakeDB。

  • 最擅长基础

    表创建、自定义查询、自动完成和语法突出显示只是您可以期待的一些功能。更新或设计表格我们可以帮助你。

  • 直观的界面

    SQLPro 拥有一个直观的界面 (sysin),可以轻松访问最基本到高级的数据库需求。

  • 云支持

    与 Amazon 关系数据库服务、Microsoft Azure 或 Heroku 等云提供商合作没问题,SQLPro Studio 支持大多数基于云的实例。

  • 多个结果集

    需要一次查看多个表的结果您可以执行多个查询并同时显示每个查询的结果,包括任何错误和消息。

SQLPro for MSSQL

macOS 上简单而强大的 SQL Server 管理器

Screenshot1

  • 没有虚拟机

    厌倦了虚拟机占用您的系统资源SQLPro for MSSQL 是一个本地 Mac 应用程序,具有显着的性能和大量的功能集。

  • 直观的界面

    来自 Microsoft SQL Management Studio我们的界面和工作流程与您习惯的类似,但我们自己进行了一些改进。

  • 云支持

    使用 Azure 或 Amazon 关系数据库服务没问题,SQLPro for MSSQL 支持 MSSQL 2005 及更高版本,包括云实例。

  • 多个结果集

需要一次查看多个表的结果您可以执行多个查询并同时显示每个查询的结果 (sysin),包括任何错误和消息。

SQLPro for Postgres

macOS 上简单而强大的 Postgres 管理器

Screenshot1

  • 最基础的

    表创建、自定义查询、自动完成和语法突出显示只是您可以期待的一些基本功能。无论是更新还是设计表格,我们都可以为您提供帮助。

  • 直观的界面

    SQLPro for Postgres 拥有一个直观的界面,可以轻松访问最基本的 PostgresSQL 数据库需求。

  • 多个结果集

    需要一次查看多个表的结果您可以执行多个查询并同时显示每个查询的结果,包括任何错误和消息。

  • 单细胞选择

    使用单个(或多个)单元格选择来处理结果,类似于电子表格。与许多其他工具使用的要求全行选择不同,SQLPro 允许您一次选择一个或多个单元格。

SQLPro for MySQL

macOS 上简单而强大的 MySQL 管理器

screenshot1

  • Big Sur 准备就绪

    原生并准备好迎接 Big Sur。使用 macOS 的最新功能 (sysin),但仍支持 Catalina 和 Mojave。

  • 直观的界面

    来自 Microsoft SQL Management Studio我们的界面和工作流程与您习惯的类似,但我们自己进行了一些改进。

  • 云支持

    使用 Amazon 或 Azure 关系数据库服务没问题,SQLPro for MySQL 支持 MySQL 5.0 及更高版本,包括云实例。

  • 多个结果集

    需要一次查看多个表的结果您可以执行多个查询并同时显示每个查询的结果,包括任何错误和消息。

SQLPro for SQLite

macOS 上简单而强大的 SQLite 管理器

Screenshot1

  • 最擅长基础

    表创建、自定义查询、自动完成和内联数据过滤。只是您可以期待的一些基本功能。无论您是想修改外键、更新一些数据还是修改触发器,我们都可以为您提供帮助。

  • 历史和最喜欢的查询

    有一个您可能想要多次执行的查询想要您在上一个会话中执行的查询的结果吗通过存储最喜欢的查询或访问以前选择的查询列表来解决这些问题。

  • 执行多个结果集

    需要一次查看多个表的结果您可以执行多个查询并同时显示这两个查询的结果。

  • 完整的“版本”支持

    与 macOS 版本支持集成。不小心截断了一个表恢复到以前保存的任何状态!

下载地址

SQLPro Studio 2022.77 macOS Universal

SQLPro for MSSQL 2022.70 macOS Universal

SQLPro for Postgres 2022.70 macOS Universal

SQLPro for MySQL 2022.70 macOS Universal

SQLPro for SQLite 2022.70 macOS Universal

百度网盘链接:https://pan.baidu.com/s/1g5rYkdLt-7qdolqOmk2Eww?pwd=ures


捐助本站 ❤️ Donate

点击访问官方网站


文章用于推荐和分享优秀的软件产品及其相关技术,所有软件默认提供官方原版(免费版或试用版),免费分享。对于部分产品笔者加入了自己的理解和分析,方便学习和研究使用。任何内容若侵犯了您的版权,请联系作者删除。如果您喜欢这篇文章或者觉得它对您有所帮助,或者发现有不当之处,欢迎您发表评论,也欢迎您分享这个网站,或者赞赏一下作者,谢谢!

赞赏一下


☑️ 评论恢复,欢迎留言❗️
敬请注册!点击 “登录” - “用户注册”(已知不支持 21.cn/189.cn 邮箱)。请勿使用联合登录(已关闭)

立即翻页 滚动开关
2