Ubuntu及Debian使用Snapd安装缺少依赖的应用(如WorkBench)以及Snapd的卸载

Snapd是Linux系统中用于管理和安装应用的工具,尤其适用于解决因依赖问题导致的应用无法安装或运行的场景。通过Snapd社区,可以获取并安装各种应用,如MySQL WorkBench,而无需关心系统特定的依赖。本文详细介绍了如何安装、使用Snapd以及如何卸载Snapd及其相关应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Snapd可以解决linux下安装或运行应用时缺少依赖的问题,类似一个容器,Snapd创立了一个应用社区,里面包含了很多常见应用,在社区获取应用后无需安装必须依赖包。

有时候某些应用如MySql的WorkBench在linux下只支持Ubuntu或某些Linux操作系统,但是不支持Debian,仅仅是因为Debian少了一些依赖包,但是手动布置不上。这时候就可以在Snapd应用社区获取WorkBench,安装好后可以正常运行。

  1. 安装Snapd:
sudo apt update
sudo apt install snapd

下面这步安装Snapd核心文件,时间较长

sudo snap install core

到此Snapd已经安装到系统中。

  1. 安装Snapd社区中的应用,此处安装MySql WorkBench:
sudo snap install mysql-workbench-community
跑完就安装好了,一步到位哈哈。
接下来是完全卸载Snapd:
  1. 查看已安装的Snap包:$ snap list
Name               Version                     Rev   Tracking         Publisher   Notes
chromium           85.0.4183.102               1298  latest/stable    canonical✓  -
core18             20200724                    1885  latest/stable    canonical✓  base
gnome-3-28-1804    3.28.0-17-gde3d74c.de3d74c  128   latest/stable    canonical✓  -
gnome-3-34-1804    0+git.3009fc7               36    latest/stable/…  canonical✓  -
gtk-common-themes  0.1-36-gc75f853             1506  latest/stable/…  canonical✓  -
snap-store         3.36.0-80-g208fd61          467   latest/stable/…  canonical✓  -
snapd              2.45.3.1                    8790  latest/stable    canonical✓  snapd
  1. 卸载Snap包,注意core这里不用卸载,会在后面步骤卸载,这里卸载snap-store和chromium:$ sudo snap remove chromium snap-store
[sudo] password for user: 
2022-09-7T17:31:08+08:00 INFO Waiting for conflicting change in progress...
chromium removed
snap-store removed
  1. 关闭Snapd服务:$ sudo systemctl stop snapd
Warning: Stopping snapd.service, but it can still be activated by:
  snapd.socket
  1. 卸载Snapd包:$ sudo apt remove --purge --assume-yes snapd gnome-software-plugin-snap
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Package 'gnome-software-plugin-snap' is not installed, so not removed
The following packages will be REMOVED:
  snapd*
0 upgraded, 0 newly installed, 1 to remove and 0 not upgraded.
After this operation, 120 MB disk space will be freed.
(Reading database ... 185414 files and directories currently installed.)
Removing snapd (2.45.1+20.04.2)
  1. 删除Snap目录:$ rm -rf ~/snap/
  2. 删除Snapd cache:$ sudo rm -rf /var/cache/snapd/

卸载完成。
<think>嗯,用户想了解在Ubuntu使用snapd进行安装的优缺点。首先,我需要回顾一下snap的基本概念和运作机制。Snap是Canonical推出的容器化软件包,自Ubuntu 16.04开始支持。它和传统的Deb包不同,snap将应用及其依赖打包在一个独立的容器中,这样可以避免依赖冲突的问题。 优点方面,跨版本兼容性是一个重点,因为snap包内置了依赖,所以能在不同Ubuntu版本甚至其他Linux发行版上运行。此外,自动更新功能确保了安全性和最新特性,但这也可能带来不稳定。安全性方面,snap的沙盒机制和权限控制确实能增强应用隔离,引用中的信息提到类似容器的设计,所以这点需要强调。另外,丰富的应用生态,尤其是那些需要特定依赖的软件,比如WorkBench,这也是引用中提到的案例,可以作为例子说明。 缺点的话,用户可能遇到存储占用大,因为每个snap包都自带依赖,导致冗余。启动速度慢也是常见问题,毕竟容器化需要更多初始化步骤。还有自动更新可能不受用户控制,导致意外问题,比如更新后应用出问题。另外,自定义性差,用户无法像传统包那样灵活配置,这也是容器化带来的限制。 用户可能需要更深入的实际例子,比如安装时如何操作,或者如何处理依赖问题。比如引用中的错误处理,如使用sudo apt install snapd或者解决安装失败的问题,这些可以作为使用snap时可能遇到的挑战。此外,用户可能关心如何卸载snapd,或者处理依赖冲突,比如引用提到的dpkg错误和移除nosnap.pref文件的方法。 另外,用户可能没有明确说出的需求是,他们可能在环境中遇到了依赖问题,或者需要部署特定软件但遇到兼容性问题,所以转向snap作为解决方案。这时候优缺点中的跨版本兼容和依赖解决会非常相关。不过,用户也可能担心资源消耗,特别是在服务器环境中,存储和性能是关键因素。 需要确保回答结构清晰,先优点后缺点,每个点用简短的标题,然后解释。同时引用相关的参考资料来支持观点,比如引用5提到的解决依赖问题,引用3和4提到的安装问题和解决方法。最后生成的问题需要覆盖用户可能进一步想了解的内容,比如如何解决常见错误,比较snap和其他包管理器,或者具体的安全机制等。</think>### Ubuntu使用 Snapd 的优缺点分析 #### **优点** 1. **跨版本兼容性** Snap 包将应用及其依赖项封装在独立的容器中,避免了传统安装包(如 Debian 的 `.deb`)因系统库版本不同导致的依赖冲突问题[^5]。例如,在 Ubuntu 16.04 和 Ubuntu 23.04 上均可运行同一个 Snap 包[^1]。 2. **自动更新与安全性** Snap 默认启用自动更新,确保用户始终使用最新版本的应用和安全补丁。此外,Snap 应用运行在沙盒环境中,权限受限,可减少潜在的安全风险。 3. **简化依赖管理** Snap 包无需手动安装额外依赖,尤其适合解决复杂应用依赖问题。例如,在 Debian 系统中通过 Snap 安装 MySQL Workbench 时,可直接绕过手动配置依赖的繁琐步骤[^5]。 4. **广泛的应用生态** Snap Store 提供大量预封装应用,包括开发者工具(如 VS Code)和服务器软件(如 Nextcloud),覆盖多种场景需求。 --- #### **缺点** 1. **存储空间占用高** 每个 Snap 包包含完整的依赖项,可能导致存储冗余。例如,安装多个基于相同库的应用时,重复的依赖文件会占用额外空间。 2. **启动速度较慢** Snap 应用首次启动需加载容器化环境,可能比原生安装应用延迟更高。 3. **自动更新的不可控性** 强制自动更新可能导致兼容性问题。若用户需要锁定特定版本,需通过命令手动禁用更新(例如 `snap hold <package>`)。 4. **权限与系统集成限制** 沙盒机制可能限制应用对系统资源的访问。例如,某些需要直接操作硬件的工具(如磁盘分区软件)在 Snap 中可能无法正常运行。 --- #### **典型问题与解决方案** - **安装失败**:若提示 `Package 'snapd' has no installation candidate`,需删除旧版限制文件并更新源: ```bash sudo rm /etc/apt/preferences.d/nosnap.pref && sudo apt update && sudo apt install snapd ``` 参考[^3] - **依赖冲突**:使用 `sudo apt install -f` 修复依赖链,或通过 `snap install` 绕过系统包管理器[^4]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值