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

這是關於Linux中初學者指南到快照的兩部分系列中的第二篇文章。它涵蓋了如何從命令行界面運行快照,創建和使用快照別名,與快照的服務互動,以及創建和管理快照的快照。

從快照運行應用程式

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命令列出快照目錄的內容,如下所示。

$ 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 的默認(或標準)別名必須經過公開審查過程,但您可以為您的本地系統創建別名。

您可以使用 snapalias 命令 創建別名。

# snap alias mailspring mls
Create a Snap Alias

例如,要列出 snap(例如 mailspring)的 別名,運行以下命令。從現在開始,您可以使用 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 的服務。例如,對於

# 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 存儲了一個或多個 Snaps 的使用者、系統和配置數據的副本。您可以手動觸發此操作,也可以設置自動工作。這樣,您可以備份 Snap 的狀態,將其恢復到先前的狀態,以及將新安裝的 snapd 恢復到先前保存的狀態。

要手動生成快照,請使用「snap save」命令。要為 mailspring 創建快照,運行以下命令:

# snap save mailspring
Create a Snap App Snapshot

如果未指定快照名稱,snapd 將為所有已安裝的 Snaps 生成快照(添加 --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

要使用特定快照集 ID 來恢復當前使用者、系統和配置數據與特定快照中的相應數據,請使用 restore 命令:

# snap restore 2

要從系統中刪除快照,請使用 forget 命令。默認情況下刪除所有 Snaps 的數據,您可以指定一個 Snap 以僅刪除其數據。

# snap forget 2
OR
# snap forget 2  mailspring 

這就是我們關於在 Linux 中使用 Snap 的初學者指南的兩部分系列的結束。有關設置系統選項以自定義您的 Snap 環境等更多信息,請參閱 Snap 文檔 。與往常一樣,歡迎通過下面的反饋表單提出您的問題或意見。

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