Linux Command snap 软件包管理

tags: 软件包管理

文章目录

  • Linux Command snap 软件包管理
    • 1. 简介
    • 2 安装 Snapd
    • 3. 管理 snaps
      • 3.1 查看已安装
      • 3.2 更新和恢复
      • 3.3 禁用/启用和删除
      • 3.4 从 Snap 运行应用程序
      • 3.5 创建和使用 Snap Aliases
      • 3.6 管理 Snap 的服务
      • 3.7 创建和管理 Snap 的快照

1. 简介

在过去的几年里,Linux 社区在 Linux 系统上的包管理领域取得了一些显着的进步,特别是在通用或跨分发软件打包和分发方面。其中一项进步是由流行的Ubuntu Linux制造商Canonical开发的Snap包格式。

Snaps是跨发行版、无依赖关系且易于安装的应用程序,这些应用程序与所有依赖项打包在一起,可以在所有主要的 Linux 发行版上运行。从单个构建开始,一个 snap(应用程序)将在桌面、云和 IoT 上的所有受支持的 Linux 发行版上运行。支持的发行版包括 Ubuntu、Debian、Fedora、Arch Linux、Manjaro 和 CentOS/RHEL。

快照是安全的——它们被限制和沙盒化,因此它们不会危及整个系统。它们在不同的限制级别下运行(这是与基本系统和彼此隔离的程度)。更值得注意的是,每个快照都有一个由快照创建者根据快照的要求精心挑选的界面,以提供对其限制之外的特定系统资源的访问,例如网络访问、桌面访问等。

snap生态系统中的另一个重要概念是Channels。通道确定安装和跟踪哪个版本的快照以进行更新,它由跟踪、风险级别和分支组成并被细分。

snap包管理系统的主要组件有:

  • snapd – 在 Linux 系统上管理和维护快照的后台服务。
  • snap – 应用程序包格式和命令行界面工具,用于安装和删除 snap 以及在 snap 生态系统中执行许多其他操作。
  • snapcraft – 用于构建快照的框架和强大的命令行工具。
  • snap store——开发者可以共享他们的 snap,Linux 用户可以搜索和安装它们的地方。

此外,快照也会自动更新。您可以配置更新发生的时间和方式。默认情况下,snapd守护程序每天最多检查四次更新:每次更新检查称为刷新。您也可以手动启动刷新。

2 安装 Snapd

如上所述,snapd守护进程是后台服务,它通过实施限制策略和控制允许 snap 访问特定系统资源的接口来管理和维护Linux 系统上的snap环境。它还提供snap命令并用于许多其他用途。

要在您的系统上安装snapd软件包,请为您的 Linux 发行版运行适当的命令。

------------ [On Debian and Ubuntu] ------------
$ sudo apt update
$ sudo apt install snapd------------ [On Fedora Linux] ------------
# dnf install snapd         ------------ [On CentOS and RHEL] ------------
# yum install epel-release
# yum install snapd     ------------ [On openSUSE - replace openSUSE_Leap_15.0 with the version] ------------
$ sudo zypper addrepo --refresh https://download.opensuse.org/repositories/system:/snappy/openSUSE_Leap_15.0 snappy
$ sudo zypper --gpg-auto-import-keys refresh
$ sudo zypper dup --from snappy
$ sudo zypper install snapd------------ [On Manjaro Linux] ------------
# pacman -S snapd------------ [On Arch Linux] ------------
# git clone https://aur.archlinux.org/snapd.git
# cd snapd
# makepkg -si

在您的系统上安装snapd后,使用systemctl 命令启用管理主snap通信套接字的systemd单元,如下所示。

在Ubuntu及其衍生版本上,这应该由包安装程序自动触发。

$ sudo systemctl enable --now snapd.socket

请注意,如果snapd.socket未运行,则无法运行snap命令。运行以下命令以检查它是否处于活动状态并启用以在系统启动时自动启动。

$ sudo systemctl is-active snapd.socket
$ sudo systemctl status snapd.socket
$ sudo systemctl is-enabled snapd.socket


接下来,通过在/var/lib/snapd/snap/snap之间创建符号链接来启用经典快照支持,如下所示。

$ sudo ln -s /var/lib/snapd/snap /snap

要检查系统上安装的snapd和 snap 命令行工具的版本,请运行以下命令。

$ snap version


snap命令允许您安装、配置、刷新和删除快照,并与更大的快照生态系统进行交互。

在安装snap之前,您可以检查它是否存在于 snap store 中。例如,如果应用程序属于“chat servers”或“media players”类别,您可以运行这些命令来搜索它,这将在稳定频道中向商店查询可用包。

$ snap find "chat servers"
$ snap find "media players"


显示有关snap的详细信息

$ snap info rocketchat-server


安装snap包,例如,rocketchat-server

$ sudo snap install rocketchat-server


您可以选择从不同的渠道安装:edgebetaCandidate,出于某种原因,分别使用--edge--beta--candidate选项。或使用该--channel

$ sudo snap install --edge rocketchat-server
$ sudo snap install --beta rocketchat-server
$ sudo snap install --candidate rocketchat-server

3. 管理 snaps

3.1 查看已安装

$ snap list


要列出正在使用的快照的当前版本,请指定其名称。您还可以通过添加--all选项列出其所有可用的修订。

$ snap list mailspring
OR
$ snap list --all mailspring

3.2 更新和恢复

refresh命令检查快照跟踪的通道,如果可用,它会下载并安装更新版本的快照。

$ sudo snap refresh mailspring
OR
$ sudo snap refresh     #update all snaps on the local system


将应用程序更新到新版本后,您可以使用revert命令恢复到以前使用的版本。请注意,与软件关联的数据也将被还原。

$ sudo snap revert mailspring


现在,当您检查mailspring的所有修订版时,最新修订版被禁用,以前使用的修订版现在处于活动状态。

$ snap list --all mailspring

3.3 禁用/启用和删除

#禁用
$ sudo snap disable mailspring#开启
$ sudo snap enable mailspring#删除
$ sudo snap remove mailspring
$ sudo snap remove  --revision=482 mailspring

3.4 从 Snap 运行应用程序

snap可以提供您从图形用户界面或使用命令运行的单个应用程序(或一组应用程序)。默认情况下,所有与 snap 关联的应用程序都安装在基于 Debian 的发行版的/snap/bin/目录下,以及基于RHEL 的发行版的/var/lib/snapd/snap/bin/目录下。

$ ls /snap/bin/
OR
# ls /var/lib/snapd/snap/bin/

例如,要从命令行运行应用程序,只需输入其绝对路径名。

$ /snap/bin/mailspring
OR
# /var/lib/snapd/snap/bin/mailspring

要仅输入应用程序名称而不输入其完整路径名,请确保/snap/bin/或/var/lib/snapd/snap/bin/在您的PATH环境变量中(默认情况下应添加)。

# echo $PATH


如果/snap/bin//var/lib/snapd/snap/bin/目录在您的PATH中,您只需键入应用程序的名称/命令即可运行应用程序:

$ mailspring

查看snap下可用的命令,请运行“ snap info snap-name ”命令,然后查看以下屏幕截图中突出显示的命令部分。

$ snap info mailspring


which命令查找应用程序或命令的绝对路径名。

which mailspring

3.5 创建和使用 Snap Aliases

Snap还支持为应用程序创建别名。快照的默认(或标准)别名在启用之前必须经过公共审查过程,但您可以为本地系统创建别名。

您可以使用alias 命令为快照创建别名。

snap alias mailspring mls


要列出快照的别名,例如mailspring,请运行以下命令。从现在开始,您可以使用别名来运行 snap。

snap aliases mailspring


要删除snap的别名,请使用unalias命令。

snap unalias mls

3.6 管理 Snap 的服务

对于某些快照,底层功能通过作为守护程序或服务运行的应用程序公开,一旦安装快照,它们会自动启动在后台连续运行。此外,这些服务还可以在系统启动时自动启动。重要的是,单个快照可能包含多个应用程序和服务,它们协同工作以提供该快照的整体功能。

snap info rocketchat-server


您可以使用services命令交叉检查服务的快照。命令输出显示一个服务,它是否启用在系统启动时自动启动,以及它是否处于活动状态。

snap services rocketchat-server


要停止服务运行,例如Rocketchat,请使用stop命令。请注意,不建议执行此操作,因为手动停止快照服务可能会导致快照发生故障。

snap stop rocketchat-server

要启动服务,例如,rocketchat使用start命令。

snap start rocketchat-server

要使服务在系统引导时自动启动,请使用enable命令。

snap enable rocketchat-server

要防止服务在下次系统引导时自动启动,请使用disable命令。

snap disable rocketchat-server

要查看服务的日志,请使用带有-f选项的log命令,它允许您实时查看屏幕上的日志。

 snap logs rocketchat-server
OR
snap logs -f rocketchat-server

3.7 创建和管理 Snap 的快照

Snapd为一个或多个快照存储用户、系统和配置数据的副本。您可以手动触发或将其设置为自动工作。这样,您可以备份快照的状态,将其恢复到以前的状态,以及将全新的快照安装恢复到以前保存的状态。

要手动生成快照,请使用“ snap save ”命令。要为mailspring创建快照,请运行以下命令:

snap save mailspring


如果未指定快照名称,snapd将为所有已安装的快照生成快照(添加--no-wait选项以在后台运行进程以释放终端并允许您运行其他命令)。

snap save


要查看所有快照的状态,请使用saved命令。您可以使用该--id标志来显示特定快照的状态:

snap saved
OR
snap saved --id=2


您可以使用check-snapshot命令和快照标识符(集 ID)验证快照的完整性:

snap check-snapshot 2


要使用特定快照中的相应数据恢复当前用户、系统和配置数据,请使用restore命令并指定快照集 ID:

snap restore 2

要从系统中删除快照,请使用forget命令。默认情况下会删除所有快照的数据,您可以指定快照仅删除其数据。

snap forget 2
OR
snap forget 2  mailspring

✈推荐阅读:

  • linux snap docs
  • linux yum
  • linux apt
  • linux dnf

Linux Command snap 包管理相关推荐

  1. Linux Command dnf 软件包管理

    Linux Command dnf 软件包管理 tags: 软件包管理 文章目录 Linux Command dnf 软件包管理 1. 简介 2. 语法 3. 安装 4. 示例 4.1 查看DNF版本 ...

  2. linuxpip安装python包_Windows+Linux安装Python包管理工具pip

    Windows+Linux安装Python包管理工具pip Windows安装Python包管理工具pip pip是一个Python包管理工具,主要是用于安装PyPI上的软件包,可以替代easy_in ...

  3. Linux 中的包管理器是什么?它是如何工作的?

    文章目录 1.Linux 中的包管理器是什么? 2.什么是包? 3.包管理器如何工作? 4.不同类型的包管理器 1.Linux 中的包管理器是什么? Linux 发行版之间的主要区别之一是包管理系统( ...

  4. alpine linux apk删除,把玩Alpine linux(二):APK包管理器

    原标题:把玩Alpine linux(二):APK包管理器 Alpine Linux非常精简,开机内存占用也在二三十兆大,没有拆箱即用,就需要我们自己去做一些了解和配置. Alpine Linux的优 ...

  5. Ubuntu系统利用snap包管理的使用

    Ubuntu系统利用snap包管理的使用 snap包管理工具的好处: 在apt软件管理工具中,在安装软件的同时会把所有的依赖包进行安装,如果出现这样的情况是没有办法解决的.如果在办公的过程中需要不同的 ...

  6. Linux下程序包管理工具RPM

    实验环境: CentOS release 6.6 (Final)  一台 IP地址:172.16.249.230 RPM 是 Red Hat Package Manager 的缩写,本意是Red Ha ...

  7. Linux系统程序包管理工具-RPM

    一.rpm是什么 RPM 是RPM Package Manager(RPM软件包管理器)的缩写,这一文件格式名称虽然打上了RedHat的标志,但是其原始设计理念是开放式的.RPM包管理器(RPM)是一 ...

  8. 两类Linux系统的包管理工具

    Linux系统分为两种: 1.RedHat系列:Redhat.Centos.Fedora等 2.Debian系列:Debian.Ubuntu等 RedHat系列的包管理工具是yum,Debian系列的 ...

  9. Linux之rpm包管理

    rpm包管理 注意:内核不推荐升级,如果需要新版内核,可进行安装,linux可多版本内核共存,启动时进行内核选择即可,以免造成不稳定因素. /var/lib/rpm 不要破坏,几乎不可重建,重建后数据 ...

最新文章

  1. Spring Cloud Alibaba:Sentinel 热点参数限流
  2. UNIX再学习 -- 记录锁
  3. java统计文本中英文单词个数split_零基础入门NLP - 新闻文本分类Task2(天池入门赛)...
  4. 2021年2月Harmonyos时候上线,华为HarmonyOS系统将于4月上线 MateX2首批升级
  5. 丢弃commit_git丢弃本地修改的所有文件(新增、删除、修改)
  6. Give Candies【快速幂+欧拉】
  7. CAN笔记(6) CAN协议(一)
  8. PHP对象和接口抽象类注意事项
  9. 卸载MySQL以及重装卡到Start Services的解决办法(亲测有效,刚重装成功)
  10. [转载] python 字典的get()pop()方法的区别
  11. HDU 3449 Consumer
  12. 生活情景英语:英语国家生存英语精选
  13. 编码基本功:关于构建(build)号,不懂不要装
  14. Anaconda下载太慢问题解决
  15. python pdb模块_Biopython PDB模块
  16. WPS Excel表格安装宏插件
  17. 【网站源码】3D元素周期表源码
  18. iOS中常用的颜色色值
  19. bfm人脸模型和3DDFA及其变种
  20. 7000字和你聊聊如何设计一款高并发架构(建议收藏)

热门文章

  1. os.path.dirname与__file__的搭配运用
  2. LaurenNBHL开篇自序
  3. 汽车软件开发者的内功心法:V模型
  4. gojs DiagramEvent 图表事件中文文档
  5. 如何使用计算机闹铃,电脑闹钟小工具、电脑闹钟小工具怎么用
  6. python 线性回归 技术方案亮点_python线性回归实战案例
  7. testWhileIdle和testOnBorrow
  8. html跳转微信app,微信开放标签:微信网页H5跳转微信小程序、APP
  9. matlab在高数中应用,MATLAB在大学数学中的应用
  10. python——使用cv2拼接图片(含代码)