Полное руководство по управлению пакетами Snap в Ubuntu

Фото монитора с программой htop.

Пакеты Snap существуют с Ubuntu 16.04. Так же, как известный формат deb имеет свои команды для выполнения операций с .deb пакетами, существуют команды, предназначенные для управления пакетами Snap. В этой статье мы узнаем, как выполнять основные операции управления пакетами Snap.

Содержание

  • Почему Snap?
  • Команды управления пакетами Snap
  • Отладка пакетов Snap
  • Часто задаваемые вопросы

Совет: Тем временем, ознакомьтесь с некоторыми из лучших игр, доступных в магазине Snap.

Почему Snap?

Перед тем как перейти к практическому использованию, важно, чтобы вы теоретически понимали систему упаковки Snap.

Цель этой системы упаковки - упростить установку и обслуживание пакетов, а также сделать их более безопасными. Например, в отличие от существующей системы, где вам приходится решать все конфликты версий зависимостей для устанавливаемого программного обеспечения, Snap позволяет разработчикам включать все, от чего зависит их программное обеспечение, в сам пакет, что делает его автономным и независимым от системы, на которой он устанавливается.

С помощью Snap обновления программного обеспечения также происходят автоматически в фоновом режиме, что делает это более удобным для пользователя.

Полезно знать: Хотите узнать больше о Snap? Вы можете использовать Snapcraft для создания дистрибутивно-агностичных пакетов Snap в Linux.

Команды управления пакетами Snap

Перед тем как перейти к стандартным командам Snap, вам сначала нужно установить инструменты командной строки snappy на вашу систему, если они еще не установлены, выполнив эту команду:

sudo apt install snapd

Установка пакетов Snap

Следующая команда используется для установки пакетов Snap:

sudo snap install [packagename]

Например, вот команда, которую я использовал для установки приложения “htop”:

sudo snap install htop

Окно терминала, показывающее установку пакета snap.

Список всех установленных Snap

Чтобы отобразить сводку всех установленных пакетов Snap на вашей системе, выполните команду “Snap” с подкомандой list:

snap list

Окно терминала, показывающее все установленные пакеты snap.

Обновление Snap

Чтобы обновить конкретный snap до более новой или последней версии, используйте подкоманду refresh, за которой следует имя пакета. Например, если в будущем мне нужно будет обновить инструмент “htop”, я выполню следующую команду:

sudo snap refresh htop

Поиск пакетов Snap

Для этой операции доступна подкоманда find. Она запрашивает доступные пакеты. Вот пример:

snap find

Окно терминала, показывающее список популярных пакетов snap.

Вы также можете искать конкретный Snap, например, в этом примере:

sudo snap find htop

Удаление Snap

Аналогично тому, как вы устанавливаете Snap, вы можете легко удалить пакет Snap из вашей системы - подкоманда, которую нужно использовать в этом случае, это remove. В этом примере я удалил инструмент “htop”:

sudo snap remove htop

Окно терминала, показывающее процесс удаления snap.

Отключение Snap

Также возможно “отключить” пакет snap на вашем компьютере. Это не удалит файлы программы из вашей системы, но сделает ее недоступной для остальной части вашей системы. Это может быть полезно, если вы хотите удалить пакет из вашего PATH, но все еще намерены использовать его позже.

Чтобы отключить пакет snap htop, выполните следующую команду:

sudo snap disable htop

Окно терминала, показывающее отключенный snap htop.

Вы можете вернуть пакет snap из его спячки, используя enable:

sudo snap enable htop

Окно терминала, показывающее повторно включенный пакет htop.

Полезно знать: Хотя Canonical разработала пакеты Snap для Ubuntu, они также доступны для других дистрибутивов Linux, таких как Arch Linux. Узнайте, как вы можете установить пакеты Snap в Arch.

Отладка пакетов Snap

Помимо того, что snap является мощным менеджером пакетов, он также предоставляет вам мощные команды и флаги для отладки. Вы можете использовать их для диагностики проблем в ваших пакетах или для изучения версий ваших любимых программ в разработке.

Чтобы сделать последнее, вы можете добавить либо флаг --edge, либо --beta в конец вашей команды установки:

sudo snap install --beta htop

Окно терминала, показывающее переключение пакета htop на его кандидатский канал.

Обновление настроек существующего Snap

Команда refresh также может изменять свойства пакетов snap, которые вы уже установили в вашей системе. Это полезно, если вы хотите переключить пакет вашей версии разработки обратно на обычную стабильную:

sudo snap refresh --stable htop

Окно терминала, показывающее обновление пакета htop до стабильной версии.

Она также поддерживает ряд дополнительных флагов, которые позволяют вам изменить политику безопасности программы. Например, вы можете использовать флаг --jailmode, чтобы строго изолировать пакет от остальной части вашей системы:

sudo snap refresh --jailmode htop

Окно терминала, показывающее флаг jailmode для htop.

Совет: Безопасность не заканчивается на изоляции отдельных пакетов в вашей системе. Узнайте, как вы можете защитить свои данные в Интернете, установив ориентированные на конфиденциальность расширения в Chrome.

Откат пакетов Snap

Аналогично транзакционным менеджерам пакетов, snap поддерживает возможность отката обновлений на уровне каждого пакета. Это делает невероятно простым отмену и предотвращение любых неправильно работающих пакетов от поломки вашей системы.

Чтобы откатить один пакет snap, выполните следующую команду:

sudo snap revert htop

Так же, как и подкоманда refresh, вы также можете использовать те же флаги в откате, чтобы заблокировать неправильно работающее приложение:

sudo snap revert --jailmode htop

Окно терминала, показывающее откат пакета htop до более ранней версии.

Для вашего сведения: Flatpak похож на Snap. Узнайте о различиях между Flatpak и Snap и какой из них вам следует выбрать.

Часто задаваемые вопросы

Перезапишет ли snap пакеты, которые я установил через apt?

Нет. Snap не изменит никакую программу и файл, которые у вас уже есть в системе. Однако одной из проблем с snap является то, что Ubuntu всегда загружает пакет snap первым, прежде чем любую программу apt. Это может быть проблемой, если вы настроили программу apt перед установкой ее версии snap.

Могу ли я удалить доступ к файлам пакета snap без его отключения?

Да. Вы можете сделать это, отключив “вход” доступа к файлам от вашего пакета snap. Сначала выполните: sudo snap interfaces snap-package. Затем найдите вход, который вы хотите отключить, и выполните: sudo snap disconnect snap-package:plug.

Возможно ли узнать параметры конфигурации пакета snap?

Да. Вы можете проверить все доступные параметры конфигурации для пакета snap с помощью подкоманды get. Например, вы можете выполнить sudo snap get htop, чтобы получить параметры конфигурации для htop.

Кредит изображения: Lukas через Unsplash. Все изменения и скриншоты сделаны Ramces Red.