Linux软件包管理工具 Snap 常用命令

1. snap vs. apt

apt所采用的包是deb包,deb包最初是Debian Linux推出的。由于ubuntu基于debian,ubuntu将其集成到了apt包管理器中。apt可以自动解决软件之间依赖问题,ubuntu创建了一个类似apple store的软件商店。

snap是Canonical公司发布的全新的软件包管理方式,它类似一个容器拥有一个应用程序所有的文件和库,各个应用程序之间完全独立。所以使用snap包的好处就是它解决了应用程序之间的依赖问题,使应用程序之间更容易管理。但是由此带来的问题就是它占用更多的磁盘空间。

snap最大的特点就是使用了容器来管理软件,容器带来最大的好处就是:

  1. 软件运行更加安全
  2. 独立和更加易控的版本
  3. 软件互不干预

snap的特点是:

  • 易于打包软件和发行
  • 自动升级,你安装的软件永远都是最新的
  • 支持大量的Linux发行版
  • 易于版本回滚和改变.
  • 容易构建软件项目
  • 同时支持开源和闭源软件发行.
  • Snaps更加安全

2. snap常用命令

# 查看版本
snap version

# 查找软件
snap find "media player"

# 查看软件信息
snap info vlc

# 安装软件
snap install vlc                    # 默认使用stable channel
snap install vlc --channel=edge     # 指定 channel
snap switch  vlc --channel=stable   # 切换channel

# snap 安装软件目录在 `/snap/bin`,该目录已加入 `$PATH`,因此可以直接在命令行运行相应的程序。

# 列出所有已安装的软件
snap list
snap list --all vlc # 列出所有已安装的版本

# 更新已安装的软件
snap refresh vlc

# 回滚软件版本,snap默认会保留2各版本
snap revert vlc

# 启用/禁用软件
snap enable/disable vlc

# 删除软件
snap remove vlc         # 有些系统会缓存31天
snap remove vlc --purge # 彻底清除

# 后台服务列表
snap services

# 启动、停止、重启后台服务
snap restart lxd
snap restart lxd.daemon

snap start lxd.daemon
snap start --enable lxd.daemon

snap stop lxd.daemon
snap stop --disable lxd.daemon

# 查看后台服务日志
snap logs lxd
snap logs lxd -f # 持续监控

3. snap隔离级别

有三种隔离级别:

  • Strict - 严格

    默认级别,大多数snap软件都是用该级别。该级别可以认为是安全的,因为它仅提供了最小的访问权限。在没有特殊授权的的情况下,软件不能访问文件、网路、进程等系统资源。

  • Classic - 传统

    和传统安装的软件一样,可以访问系统资源。因此,需要手动授权,或在安装时带上--classic参数。

  • Devmode - 开发模式

    为开发者提供的特殊模式。软件可以完全访问系统资源,并会输出调试信息。安装时需带上--devmode参数。

4. snap安装目录

当你在安装完 snap 后,你会发现在在根目录下会出现如 /dev/loop0 的挂载点,这些挂载点正是 snap 软件包的目录。Snap 使用了 squashFS 文件系统,一种开源的压缩,只读文件系统,基于 GPL 协议发行。一旦 snap 被安装后,其就有一个只读的文件系统和一个可写入的区域。应用自身的执行文件、库、依赖包都被放在这个只读目录,意味着该目录不能被随意篡改和写入。

当你在安装完 snap 后,会在根目录下生成一个 snap文件夹,使用snap安装的applications都在此文件夹中:
快捷方式在:/snap/your_app_name/current/usr/share/applications
配置文件在:/var/snap/your_app_name/current/etc/

你可能感兴趣的:(Linux软件包管理工具 Snap 常用命令)