Это вторая статья в серии статей о Snaps. В ней рассказывается, как запускать снапшоты из интерфейса командной строки, создавать и использовать псевдонимы снапшотов, взаимодействовать со службами моментальных снимков, а также создавать и управлять моментальными снапшотами snap.
Читайте также: Руководство по Snaps в Linux для начинающих — часть 1.
Запуск приложения из Snap
Snap может поддерживать одновременно одно приложение (или группу приложений), которое вы запускаете из графического интерфейса пользователя или с помощью соответствующей команды. По умолчанию все приложения, связанные со snap, устанавливаются в каталог /snap/bin/ в дистрибутивах на основе Debian и /var/lib/snapd/snap/bin/ для дистрибутивов на основе RHEL.
Вы можете просмотреть содержимое каталога снапшотов с помощью команды ls, как показано ниже:
$ ls /snap/bin/
Или же:
# ls /var/lib/snapd/snap/bin/
Чтобы запустить приложение из командной строки, просто введите, его абсолютный путь:
$ /snap/bin/mailspring
Или же:
# /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
Создание и использование псевдонимов Snap
Snap также поддерживает создание псевдонимов для приложений. Стандартные псевдонимы snap должны пройти процедуру публичного рассмотрения, прежде чем они будут доступны, но в нашем случае вы создаете псевдонимы для своей локальной системы.
Вы можете создать псевдоним для snap, используя команду alias:
# snap alias mailspring mls
Чтобы составить список псевдонимов для snap, например для mailspring, выполните следующую команду. Отныне вы можете использовать псевдоним для запуска snap:
# snap aliases mailspring
Чтобы удалить псевдоним для snap, используйте команду unalias:
# snap unalias mls
Управление сервисами Snap
Для некоторых снапшотов базовая функциональность предоставляется через приложения, которые запускаются как демоны или службы. После установки снапшота они автоматически запускаются в фоновом режиме. Кроме того, сервисы также могут автоматически запускаться при загрузке системы. Важно отметить, что один снапшот может содержать несколько приложений и служб, которые работают вместе для обеспечения общей функциональности этого snap.
Вы можете проверить сервисы на предмет привязки к snap, в разделе сервисов в выводе команды «snap info snap-name». Например, для rocketchat-server:
# snap info rocketchat-
Вы можете перепроверить сервисы на предмет привязки с помощью команды services. Выходные данные команды показывают службу, включена ли она для автоматического запуска при загрузке системы и активна ли она сейчас или же нет:
# snap services rocketchat-server
Чтобы остановить запуск службы, например rocketchat, используйте команду stop. Обратите внимание, что это действие не рекомендуется, так как ручная остановка служб snap может привести к неисправностям снапшота:
# snap stop rocketchat-server
Например, для запуска службы rocketchat используйте команду start:
# snap start rocketchat-server
Чтобы перезапустить службу после внесения пользовательских изменений в приложение snap, используйте команду restart. Обратите внимание, что все службы для указанного снапшота будут перезапущены по умолчанию:
# snap start rocketchat-server
Чтобы включить автоматический запуск служб во время загрузки системы, используйте команду enable:
snap enable rocketchat-server
Чтобы предотвратить автоматический запуск служб при следующей загрузке системы, используйте команду disable:
# snap disable rocketchat-server
Чтобы просмотреть журналы для служб, используйте команду log с опцией -f, которая позволит вам просматреть журналы событий в режиме реального времени:
snap logs rocketchat-server
Или же:
# snap logs -f rocketchat-server
Важное замечание: Вы можете запустить вышеуказанные сервисные команды как для отдельных сервисов моментальных снимков, так и для всех сервисов для именованного моментального снимка, в зависимости от использованого параметра. Это означает, что вам необходимо использовать более конкретное имя сервиса, если в snap таких сервисов много.
Создание и управление мгновенной копией снапшота
Snapd хранит копию данных пользователя, системы и конфигурации для одного или нескольких моментальных снимков. Вы можете запустить Snapd вручную или настроить его на автоматическую работу. Таким образом, вы можете выполнять резервное копирование моментального снимка, и в дальнейшем вернуть его в предыдущее состояние, а также восстановить последнюю конфигурацию снапшота в предыдущее сохраненное состояние.
Чтобы создать моментальный снимок вручную, используйте команду «snap save». Чтобы создать снапшот для mailspring, выполните следующую команду:
# snap save mailspring
Если имя привязки не указано, snapd сгенерирует данные для всех установленных снапшотов (добавьте опцию —no-wait, чтобы запустить процесс в фоновом режиме и таким образом освободить терминал, что позволит запускать другие команды):
# snap save
Чтобы просмотреть состояние всех снапшотов, используйте команду saved. Вы можете использовать флаг —id, чтобы показать состояние определенного снимка:
# snap saved
Или же:
# snap saved --id=2
Вы можете проверить целостность снимка, используя команду check-snapshot и идентификатор снимка (идентификатор набора):
# snap check-snapshot 2
Чтобы восстановить данные текущего пользователя, системы и конфигурации с соответствующими данными из определенного снимка, используйте команду restore, так же укажите идентификатор набора снапшота:
# snap restore 2
Чтобы удалить snap из вашей системы, используйте команду Forgot. Данные для всех моментальных снимков будут удалены по умолчанию, но можно указать конкретный моментальный снимок, чтобы удалить исключительно его данные:
# snap forget 2
Или же:
# snap forget 2 mailspring
Для получения дополнительной информации, особенно о настройке системных параметров для настройки среды snap и еще многого другого, заглянитк в Документацию Snap.