包管理工具 snap 和 apt

之前一直用的是 apt , 最近查包时发现了 snap, 做如下整理对比

sudo snap install cmake  # version 4.0.3, or
sudo apt  install cmake  # version 3.22.1-1ubuntu1.22.04.2

APT (Advanced Packaging Tool)

基本概念

APT 是 Debian/Ubuntu 系统的传统包管理系统,用于管理 .deb 格式的软件包。

特点

  • ​系统集成度高​​:软件包与系统深度集成
  • ​稳定性优先​​:软件版本通常较旧但经过充分测试
  • ​依赖管理​​:自动处理软件依赖关系
  • ​集中配置​​:使用 /etc/apt/sources.list 定义软件源
  • ​特权要求​​:需要 root 权限安装系统级软件

常用命令

sudo apt update        更新软件包列表

sudo apt install <包名>    安装软件包

sudo apt remove <包名>      移除软件包

sudo apt upgrade        升级所有可升级的软件包

优点

  • 与系统其他部分无缝协作
  • 依赖关系处理完善
  • 系统更新统一管理

缺点

  • 软件版本通常不是最新的
  • 软件选择相对有限

Snap

基本概念

Snap 是 Canonical 开发的通用 Linux 包管理系统,使用 .snap 格式的容器化软件包。

特点

  • ​沙箱环境​​:应用在隔离环境中运行
  • ​自动更新​​:默认启用自动后台更新
  • ​跨发行版​​:同一 snap 包可在不同 Linux 发行版运行
  • ​自包含​​:包含所有依赖项(除核心系统库)
  • ​版本选择​​:支持安装特定版本或通道

常用命令

sudo snap install <包名>      安装 snap 包

sudo snap remove <包名>      移除 snap 包

sudo snap refresh <包名>      更新特定

snap 包 sudo snap list       列出已安装的 snap 包

优点

  • 软件版本通常较新
  • 安装过程简单统一
  • 更好的安全隔离
  • 支持回滚到之前版本

缺点

  • 占用更多磁盘空间
  • 启动时间可能稍长
  • 某些应用在沙箱中可能功能受限

主要区别对比

特性APTSnap
包格式.deb.snap
依赖处理系统共享库自包含(除核心库)
更新策略手动/系统统一更新自动独立更新
隔离性沙箱隔离
版本新鲜度较旧较新
跨发行版仅限Debian系支持多数Linux
磁盘占用较小较大
启动速度较快可能稍慢

使用建议

  1. ​系统关键组件​​:优先使用 APT
  2. ​桌面应用​​:可考虑使用 Snap 获取新版
  3. ​开发工具​​:根据版本需求选择
  4. ​服务器环境​​:通常推荐 APT 保持稳定

两种工具可以共存,但建议了解每个安装的软件来自哪个系统(使用 apt list --installed 和 snap list 查看)

我创建了知识星球,一起学习,交个朋友。

https://t.zsxq.com/938ib

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值