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

Пакеты 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” с подкомандой list:
snap list
Обновление Snap
Чтобы обновить конкретный snap до более новой или последней версии, используйте подкоманду refresh, за которой следует имя пакета. Например, если в будущем мне нужно будет обновить инструмент “htop”, я выполню следующую команду:
sudo snap refresh htopПоиск пакетов Snap
Для этой операции доступна подкоманда find. Она запрашивает доступные пакеты. Вот пример:
snap find
Вы также можете искать конкретный Snap, например, в этом примере:
sudo snap find htopУдаление Snap
Аналогично тому, как вы устанавливаете Snap, вы можете легко удалить пакет Snap из вашей системы - подкоманда, которую нужно использовать в этом случае, это remove. В этом примере я удалил инструмент “htop”:
sudo snap remove htop
Отключение Snap
Также возможно “отключить” пакет snap на вашем компьютере. Это не удалит файлы программы из вашей системы, но сделает ее недоступной для остальной части вашей системы. Это может быть полезно, если вы хотите удалить пакет из вашего PATH, но все еще намерены использовать его позже.
Чтобы отключить пакет snap htop, выполните следующую команду:
sudo snap disable htop
Вы можете вернуть пакет snap из его спячки, используя enable:
sudo snap enable htop
Полезно знать: Хотя Canonical разработала пакеты Snap для Ubuntu, они также доступны для других дистрибутивов Linux, таких как Arch Linux. Узнайте, как вы можете установить пакеты Snap в Arch.
Отладка пакетов Snap
Помимо того, что snap является мощным менеджером пакетов, он также предоставляет вам мощные команды и флаги для отладки. Вы можете использовать их для диагностики проблем в ваших пакетах или для изучения версий ваших любимых программ в разработке.
Чтобы сделать последнее, вы можете добавить либо флаг --edge, либо --beta в конец вашей команды установки:
sudo snap install --beta htop
Обновление настроек существующего Snap
Команда refresh также может изменять свойства пакетов snap, которые вы уже установили в вашей системе. Это полезно, если вы хотите переключить пакет вашей версии разработки обратно на обычную стабильную:
sudo snap refresh --stable htop
Она также поддерживает ряд дополнительных флагов, которые позволяют вам изменить политику безопасности программы. Например, вы можете использовать флаг --jailmode, чтобы строго изолировать пакет от остальной части вашей системы:
sudo snap refresh --jailmode htop
Совет: Безопасность не заканчивается на изоляции отдельных пакетов в вашей системе. Узнайте, как вы можете защитить свои данные в Интернете, установив ориентированные на конфиденциальность расширения в Chrome.
Откат пакетов Snap
Аналогично транзакционным менеджерам пакетов, snap поддерживает возможность отката обновлений на уровне каждого пакета. Это делает невероятно простым отмену и предотвращение любых неправильно работающих пакетов от поломки вашей системы.
Чтобы откатить один пакет snap, выполните следующую команду:
sudo snap revert htopТак же, как и подкоманда refresh, вы также можете использовать те же флаги в откате, чтобы заблокировать неправильно работающее приложение:
sudo snap revert --jailmode 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.