Это вторая статья в серии статей о Snaps в Linux. В ней рассказывается, как запускать снапшоты из интерфейса командной строки, создавать и использовать псевдонимы снапшотов, взаимодействовать со службами моментальных снимков, а также создавать и управлять моментальными снапшотами snap.
Читайте также: Руководство по Snaps в Linux для начинающих — часть 1.
Запуск приложения из Snap
Snap в Linux может поддерживать одновременно одно приложение (или группу приложений), которое вы запускаете из графического интерфейса пользователя или с помощью соответствующей команды. По умолчанию все приложения, связанные со 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 в Linux также поддерживает создание псевдонимов для приложений. Стандартные псевдонимы snap должны пройти процедуру публичного рассмотрения, прежде чем они будут доступны, но в нашем случае вы создаете псевдонимы для своей локальной системы.
Вы можете создать псевдоним для snap, используя команду alias:
# snap alias mailspring mls
Чтобы составить список псевдонимов для snap, например для mailspring, выполните следующую команду. Отныне вы можете использовать псевдоним для запуска snap:
# snap aliases mailspring
Чтобы удалить псевдоним для snap, используйте команду unalias:
# snap unalias mls
Управление сервисами Snap
Для некоторых снапшотов базовая функциональность предоставляется через приложения, которые запускаются как демоны или службы. После установки снапшота они автоматически запускаются в фоновом режиме. Кроме того, сервисы также могут автоматически запускаться при загрузке системы. Важно отметить, что один снапшот может содержать несколько приложений и служб, которые работают вместе для обеспечения общей функциональности этого snap в Linux.
Вы можете проверить сервисы на предмет привязки к 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 в Linux, используйте команду 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
Чтобы просмотреть состояние всех снапшотов Snaps в Linux, используйте команду 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.
Cпасибо за уделенное время на прочтение статьи!
Если возникли вопросы, задавайте их в комментариях.
Подписывайтесь на обновления нашего блога и оставайтесь в курсе новостей мира инфокоммуникаций!
Чтобы знать больше и выделяться знаниями среди толпы IT-шников, записывайтесь на курсы Cisco, курсы по кибербезопасности, полный курс по кибербезопасности, курсы DevNet (программируемые сети) от Академии Cisco, курсы Linux от Linux Professional Institute на платформе SEDICOMM University (Университет СЭДИКОММ).
Курсы Cisco и Linux с трудоустройством!
- Поможем стать экспертом в сетевом администрировании и получить международные сертификаты Cisco CCNA Routing & Switching или Linux LPI.
- Предлагаем проверенную программу и учебник экспертов из Cisco Networking Academy и Linux Professional Institute, сертифицированных инструкторов и личного куратора.
- Поможем с трудоустройством и сделать карьеру. 100% наших выпускников трудоустраиваются.
- Проводим вечерние онлайн-лекции на нашей платформе или обучайтесь очно на базе Киевского офиса.
- Спросим у вас об удобном времени для практик и подстроимся: понимаем, что времени учиться мало.
- Если хотите индивидуальный график — обсудим и осуществим.
- Выставим четкие дедлайны для самоорганизации. Личный куратор будет на связи, чтобы ответить на вопросы, проконсультировать и мотивировать придерживаться сроков сдачи экзаменов.
- отредактировать резюме;
- подготовиться к техническим интервью;
- подготовиться к конкурсу на понравившуюся вакансию;
- устроим на работу в Cisco по программе Cisco Incubator, New Graduate и Experienced. Наши студенты, которые уже работают там: жмите на #НашиВCisco Вконтакте, #НашиВCisco Facebook.