Linux中的快照入门指南 – 第1

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

什么是Snap软件包?

Snaps是跨发行版、无依赖性、易于安装的应用程序,打包了所有运行所需的依赖项,可以在所有主要Linux发行版上运行。从单个构建中,一个snap(应用程序)将在桌面、云端和物联网上的所有支持的Linux发行版上运行。支持的发行版包括Ubuntu、Debian、Fedora、Arch Linux、Manjaro和CentOS/RHEL。

Snaps是安全的 – 它们被限制和沙盒化,以防止它们危害整个系统。它们在不同的限制级别下运行(这是与基础系统和彼此隔离的程度)。值得注意的是,每个snap都有一个由snap的创建者精心选择的接口,根据snap的要求,提供对特定系统资源的访问,超出其限制,如网络访问、桌面访问等。

snap 生态系统中,另一个重要概念是 频道。一个 频道 确定了安装的 snap 的发布版本以及跟踪更新,它由 track、风险级别和分支组成并细分。

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

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

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

如何在 Linux 中安装 Snapd

如上所述,snapd 守护进程是在 Linux 系统上管理和维护您的 snap 环境的后台服务,通过实现限制策略和控制允许 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
Check Snapd Service Status

接下来,通过以下方式在/var/lib/snapd/snap和/snap之间创建符号链接以启用classic snap支持。

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

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

$ snap version 
Check Snapd and Snap Version

如何在Linux中安装Snaps

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

在安装 snap 之前,您可以检查它是否存在于 snap 商店中。例如,如果应用程序属于“聊天服务器”或“媒体播放器”类别,您可以运行以下命令来搜索,这将查询稳定渠道中可用的软件包。

$ snap find "chat servers"
$ snap find "media players"
Find Applications in Snap Store

要显示有关 snap 的详细信息,例如,rocketchat-server,您可以指定其名称或路径。请注意,名称在 snap 商店和已安装的 snaps 中都会被搜索。

$ snap info rocketchat-server
Get Info About Application in Snap

要在您的系统上安装 snap,例如,rocketchat-server,请运行以下命令。如果没有提供选项,则会安装跟踪“稳定”渠道的 snap,且具有严格的安全限制。

$ sudo snap install rocketchat-server
Install Application from Snap Store

您可以选择从不同的渠道安装:edgebetacandidate,通过分别使用 --edge--beta--candidate 选项。或使用 --channel 选项并指定您希望从中安装的渠道。

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

在 Linux 中管理 Snaps

在本节中,我们将学习如何在 Linux 系统中管理 snaps。

查看已安装的 Snaps

要显示已安装在您系统上的 snaps 的摘要,请使用以下命令。

$ snap list
List Installed Snaps

当前版本,请指定其名称。您还可以通过添加--all选项来列出所有可用的版本。

$ snap list mailspring
OR
$ snap list --all mailspring
List All Installation Versions of Snap

更新和回滚Snap

您可以按如下方式更新指定的snap,或者如果没有指定snap,则更新系统中的所有snap。refresh命令会检查snap正在跟踪的通道,并在可用时下载并安装snap的较新版本。

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

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

$ sudo snap revert mailspring
Revert a Snap to Older Version

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

$ snap list --all mailspring
Check Revision of Snap

禁用/启用和删除Snaps

如果您不想使用某个snap,可以禁用它。禁用后,snap的二进制文件和服务将不再可用,但所有数据仍将保留。

$ sudo snap disable mailspring

如果需要再次使用snap,可以启用它。

$ sudo snap enable mailspring

要完全删除系统中的snap,请使用remove命令。默认情况下,将删除snap的所有版本。

$ sudo snap remove mailspring

要删除特定版本,请使用--revision选项,如下所示。

$ sudo snap remove  --revision=482 mailspring

要注意的关键是,当您移除一个snap时,其数据(如内部用户、系统和配置数据)将由snapd(版本2.39及更高版本)保存为快照,并存储在系统上31天。如果在31天内重新安装snap,则可以恢复数据。

结论

Snaps在Linux社区中变得越来越流行,因为它们为任何Linux发行版提供了一种方便的安装软件的方式。在本指南中,我们展示了如何在Linux中安装和使用snaps。我们介绍了如何安装snapd,安装snaps,查看已安装的snaps,更新和恢复snaps,以及禁用/启用和删除snaps。

您可以通过下面的反馈表格提问或联系我们。在本指南的下一部分中,我们将介绍如何在Linux中管理snaps(命令、别名、服务和快照)

Source:
https://www.tecmint.com/install-snap-in-linux/