如何在Linux中管理Snaps – 第2部分

这是有关Linux中snaps入门指南系列的第二篇文章。它涵盖了如何从命令行界面运行snaps,创建和使用snap别名,与snap的服务交互,以及创建和管理snap的快照。

从Snaps运行应用程序

A snap may provide a single application (or a group of applications) which you run from the graphical user interface or using commands. By default, all applications associated to a snap are installed under the /snap/bin/ directory on Debian based distributions and /var/lib/snapd/snap/bin/ for RHEL based distributions.

您可以使用ls命令列出snap目录的内容,如下所示。

$ 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
Check Environmental Variable

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

$ mailspring

要查看snap下可用的命令,请运行“snap info snap-name”命令,并查看下面截图中突出显示的命令部分。

# snap info mailspring
View Snap App Info

您还可以使用which命令查找应用程序或命令的绝对路径名。

# which mailspring
Check Command Path

创建和使用Snap别名

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

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

# snap alias mailspring mls
Create a Snap Alias

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

# snap aliases mailspring
List Alias for a Snap App

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

# snap unalias mls
Remove an Alias for a Snap

管理 Snap 的服务

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

您可以在“snap info snap-name”命令的输出中的服务部分下检查 snap 的服务。例如,对于rocketchat-server

# snap info rocketchat-server
View Services Available Under a Snap

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

# snap services rocketchat-server
List Services Under a Snap

要停止运行服务,例如rocketchat,请使用stop命令。请注意,不推荐此操作,因为手动停止快照的服务可能导致快照功能失效。

# snap stop rocketchat-server

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

# snap start rocketchat-server

在对快照应用程序进行一些自定义更改后重新启动服务,请使用restart命令。请注意,默认情况下将重新启动指定快照的所有服务:

# snap start rocketchat-server

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

# snap enable rocketchat-server

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

# snap disable rocketchat-server

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

# snap logs rocketchat-server
OR
# snap logs -f rocketchat-server
View Logs of Snap App

重要提示:您可以根据提供的参数在单个快照的服务和所有服务上运行上述服务命令,这意味着如果一个快照有很多服务,您可以使用更具体的服务名称。

创建和管理快照的快照

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

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

# snap save mailspring
Create a Snap App Snapshot

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

# snap save
Create Snap Apps Snapshot

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

# snap saved
OR
# snap saved --id=2
View All Saved Snapshots of Snap Apps

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

# snap check-snapshot 2
Verify a Snapshot

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

# snap restore 2

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

# snap forget 2
OR
# snap forget 2  mailspring 

这就是我们关于在Linux中使用snaps初学者指南的这个两部分系列的结尾。有关更多信息,特别是有关设置系统选项以自定义您的snap环境等内容,请查看Snaps文档。如往常一样,欢迎通过下方的反馈表格提出您的问题或评论。

Source:
https://www.tecmint.com/manage-snaps-in-linux/