Поиск по сайту:
Все наши беды проистекают от невозможности быть одинокими (Ж. Лабрюйер).

Использование команды Snap в Linux в примерах

14.10.2024
Использование команды Snap в Linux в примерах

Узнайте, как управлять программным обеспечением в Ubuntu и других дистрибутивах Linux с помощью команд snap для установки, удаления и обновления пакетов.

Если вы используете Ubuntu или некоторые её версии, то, вероятно, знаете, что пакеты Snap играют важную роль в установке некоторых приложений. Компания Canonical, создавшая Ubuntu, в значительной степени полагается на этот формат пакетов.

Конечно, формат Snap не ограничивается Ubuntu; его можно установить практически в любой другой дистрибутив Linux. Тем не менее, по некоторым причинам, выходящим за рамки этого руководства, он используется исключительно в Ubuntu и её производных.

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

К концу статьи вы будете уверенно управлять программным обеспечением с помощью Snap, поддерживая эффективность и актуальность своей системы. Однако прежде чем мы перейдём к практической части, я расскажу вам о некоторых особенностях, необходимых для полного понимания формата пакетов Snap. Итак, продолжайте читать.

 

Что такое Snap и Snapd в Linux?

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

Дистрибутивы Linux обычно используют собственные менеджеры пакетов и форматы, такие как APT для экосистемы Debian, DNF для дистрибутивов на базе Fedora/RHEL, Pacman для Arch и его производных и т. д.

Но давайте посмотрим правде в глаза: все мы (иногда) сталкивались с проблемами совместимости с этими менеджерами пакетов или нуждались в более новой версии программного обеспечения, которой не было в репозиториях дистрибутива. И тут на помощь приходит Snap.

Как и концепция Flatpak, Snap устраняет эти неудобства, объединяя приложение и все его зависимости в один автономный пакет. Вот краткое описание его ключевых функций:

  • Универсальная совместимость: Snaps работает в широком спектре дистрибутивов Linux, избавляя разработчиков от необходимости создавать отдельные пакеты для каждого дистрибутива.
  • Изоляция и безопасность: каждый Snap работает в изолированной среде, которая не зависит от других приложений в вашей системе. Это повышает безопасность, снижая риск конфликтов или помех между приложениями.
  • Автоматические обновления: приложения Snap могут автоматически обновляться в фоновом режиме, гарантируя, что у вас всегда будет установлена последняя версия без необходимости ручного вмешательства.
  • Управление зависимостями: поскольку Snaps объединяет все свои зависимости, вам не нужно беспокоиться об установке дополнительных библиотек или инструментов. Все необходимое для запуска приложения включено в пакет.
  • Простой откат: Snap позволяет легко вернуться к предыдущим версиям программного обеспечения, если обновление вызывает проблемы.

 

Кроме того, помимо Snap, есть ещё один компонент, который фактически выполняет всю работу: snapd. Это фоновая служба, которая обеспечивает работу Snap в вашей системе и управляет установкой, обновлением и удалением пакетов Snap.

По сути, snapd — это движок, который управляет Snap на вашем компьютере с Linux, выполняя всю тяжёлую работу за кулисами. Он обеспечивает безопасную доставку, правильное обновление и бесшовную интеграцию приложений Snap с вашей системой.

Чтобы было ещё понятнее, вот как связаны Snap и snapd:

  • Snap относится к самим пакетам приложений. Snap — это контейнерное приложение, объединённое со всеми своими зависимостями в устанавливаемый пакетный формат, что позволяет ему работать в любом дистрибутиве Linux, поддерживающем Snap.
  • snapd — это служба или демон, который управляет пакетами Snap в вашей системе. Он управляет установкой, обновлением и удалением Snap и обеспечивает их работу изолированно от остальной системы, предотвращая конфликты с другим программным обеспечением.
Читать  Примеры команд diff в Linux

 

Теперь, когда мы прояснили ситуацию на концептуальном уровне, пора перейти к практической части — как использовать Snap для управления программным обеспечением в вашей системе Ubuntu.

 

Основные команды Snap

Поиск пакета

Для поиска пакета Snap можно использовать команду snap find. Она позволяет искать доступные пакеты Snap по ключевому слову или названию пакета в магазине Snap.

Например, чтобы найти пакет, связанный с «GIMP», вы можете использовать следующую команду:

snap find gimp

 

Откроется список пакетов, связанных с GIMP, с указанием их названия, версии, издателя и краткого описания.

Теперь вы можете выбрать подходящий установочный пакет на основе списка результатов.

 

Просмотр сведений о пакете

Команда snap info очень полезна — она предоставляет подробную информацию о пакете Snap, включая его версию, описание, издателя и доступные каналы. Допустим, вы хотите просмотреть подробную информацию о пакете «gimp».

snap info gimp

 

В выводе команды вы получите подробную информацию о пакете, в том числе:

  • Name: официальное название пакета.
  • Publisher: физическое лицо или организация, ответственные за публикацию Snap.
  • Channels: Пакеты Snap часто доступны по разным каналам, таким как:
    • Stable: самая надежная и протестированная версия.
    • Candidate: почти стабилен, после некоторого тестирования.
    • Beta: менее стабильные, новые функции, но могут содержать ошибки.
    • Edge: усовершенствованная версия для разработки, обычно наименее стабильная.

 

Команда snap info полезна для получения дополнительной информации о пакете перед установкой или при устранении неполадок, связанных с версиями или обновлениями.

 

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

Установить пакет Snap в системе Linux очень просто. Как только вы найдёте пакет, вы сможете установить его с помощью команды snap install . Например, чтобы установить GIMP, используйте:

sudo snap install gimp

 

После установки вы можете запустить приложение из системного меню приложений. Однако, если вы хотите установить пакет с определенного канала, вы должны добавить --channel=<channel> к команде установки. Например, чтобы установить GIMP с канала “предварительный просмотр / кандидат”, введите следующее:

sudo snap install gimp --channel=preview/candidate

 

Предварительная версия GIMP, работающая в Ubuntu

Предварительная версия GIMP, работающая в Ubuntu

 

Наконец, если вы уже установили пакет Snap с одного канала и хотите переключиться на другой, вы можете использовать флаг «–channel» во время обновления.

Например, чтобы переключиться на стабильную версию GIMP с канала «последняя/стабильная», наша команда Snap будет выглядеть так:

sudo snap refresh gimp --channel=latest/stable

 

Удаление пакета Snap

Удалить пакет Snap очень просто. Просто введите sudo snap remove и укажите имя пакета, который хотите удалить. Например, если вы хотите удалить GIMP, команда будет выглядеть так:

sudo snap remove gimp

 

Удалите несколько пакетов одновременно

Кроме того, вы можете удалить несколько пакетов Snap с помощью одной команды. Просто перечислите их названия одно за другим:

sudo snap remove gimp vlc brave

 

Очистить файлы конфигурации

Хотя команда snap remove обычно удаляет все связанные файлы, иногда она может оставить пользовательские данные или файлы конфигурации. Если вы хотите удалить и их, вы можете использовать опцию «–purge».

Читать  Как исправить ошибку “failed to start hostname.service unit hostname.service is masked” в Linux

Например, чтобы удалить GIMP вместе с сопутствующими данными, выполните следующее:

sudo snap remove gimp --purge

 

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

 

Управление установленными пакетами Snap

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

Чтобы составить список установленных пакетов Snap в вашей системе Linux, вы можете использовать следующую команду:

snap list

 

Выводимый командой список всех пакетов Snap, установленных в вашей системе, вместе с важными деталями, такими как имя пакета, версия, номер редакции, канал отслеживания (например, стабильный, кандидатный, бета-версия) и издатель.

 

Обновить пакеты Snap

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

sudo snap refresh

 

Более того, если вы хотите обновить только определенный пакет, вы можете указать имя пакета после команды. Например, для обновления пакета GIMP Snap:

sudo snap refresh gimp

 

Проверка наличия доступных обновлений без установки

Вы также можете проверить, доступны ли какие-либо обновления для установленных вами пакетов Snap, не применяя обновления, используя следующую команду:

sudo snap refresh --list

 

Откат к предыдущей версии

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

Чтобы сделать это, используйте snap revert команду, за которой следует имя пакета, чтобы откатить пакет к его предыдущей редакции:

sudo snap revert gimp

 

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

 

Расширенное использование Snap

Настройка времени автоматического обновления

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

sudo snap set system refresh.timer=2:00-4:00

 

Псевдонимы Snap

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

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

sudo snap alias microk8s.kubectl kubectl

 

Теперь, когда вы вводите ее kubectl в терминале, она будет выполняться microk8s.kubectl.

Чтобы удалить существующий псевдоним, используйте snap unalias команду, за которой следует имя псевдонима. Итак, чтобы удалить kubectl псевдоним, созданный вами ранее, выполните:

sudo snap unalias kubectl

 

Выявление проблем с журналами Snap

Журналы Snap — полезный инструмент для диагностики проблем с приложениями и службами Snap в системе Linux. Система журналов Snap собирает журналы как для отдельных приложений, так и для демона Snap (snapd), помогая понять, что может быть не так, когда приложение не запускается или Snap ведёт себя неожиданно.

Читать  Команды Linux. Использование Namei

Если у вас возникли проблемы с конкретным приложением Snap, вы можете просмотреть его журналы с помощью команды snap logs с указанием имени пакета Snap, которая извлекает журналы приложения. Например, чтобы просмотреть журналы пакета «microk8s», выполните следующее:

sudo snap logs microk8s

 

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

Кроме того, вы можете добавить параметр «-f», который работает аналогично команде «tail -f» в Linux, где он непрерывно отслеживает и транслирует логи в режиме реального времени.

 

Переключение между каналами

Команда snap switch используется для изменения канала отслеживания пакета Snap. Основной вариант использования — когда вы хотите протестировать новые функции в бета-версии или экспериментальной версии, но вернуться к стабильной версии, если обнаружите ошибки.

Как мы уже упоминали, «канал» — это различные версии или ветки, доступные для пакета, такие как «стабильная», «кандидатская», «бета-версия» и «последняя». С помощью snap switch вы можете переключаться между этими каналами.

Например, чтобы вернуть GIMP в «стабильный» режим, выполните следующие действия:

sudo snap switch --channel=latest/stable gimp

 

После переключения каналов вам необходимо обновить пакет, чтобы применить изменения:

sudo snap refresh gimp

 

Отслеживание изменений Snap и управление ими

Команда snap changes позволяет просматривать изменения, внесенные Snap в вашей системе Linux, такие как установки, обновления, удаления или откаты, и управлять ими. Чтобы перечислить все изменения Snap, выполните:

snap changes

 

Отобразится список изменений с их идентификаторами, статусом и временными метками. Теперь, чтобы просмотреть подробную информацию о конкретном изменении, используйте идентификатор изменения из предыдущей команды:

snap change 30

 

Наконец, если изменение застряло или вы хотите его остановить, вы можете прервать его с помощью snap abort команды, за которой следует идентификатор изменения:

sudo snap abort 30

 

Отключение/включение пакета Snap

Команды snap disable и snap enable позволяют временно остановить (отключить) или повторно активировать (включить) пакеты Snap в вашей системе, не удаляя их. Например:

sudo snap disable gimp

 

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

sudo snap enable gimp

 

Основной вариант использования – это если вы время от времени пользуетесь определенными службами Snap. Вы можете отключить их и включать только при необходимости. Кроме того, эти команды особенно полезны для управления системными ресурсами или устранения неполадок в определенных приложениях без их полного удаления и переустановки.

 

Выводы

Snap – это мощный инструмент, который значительно упрощает управление программным обеспечением в Linux, особенно для пользователей Ubuntu, где эта технология широко распространена.

Изучив примеры из этого руководства, вы теперь должны освоиться с использованием Snap для решения широкого спектра программных задач в вашей системе прямо из командной строки.

Для получения дополнительной информации посетите официальную документацию Snap. Спасибо за ваше время! Как всегда, любые предложения и комментарии приветствуются в разделе ниже.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (1 оценок, среднее: 5,00 из 5)
Загрузка...
Поделиться в соц. сетях:


5 1 голос
Рейтинг статьи
Подписаться
Уведомить о
guest

**ссылки nofollow

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии

Это может быть вам интересно


Рекомендуемое
Bottles 51.14, уровень совместимости Windows для Linux, обеспечивает встроенную принудительную…

Спасибо!

Теперь редакторы в курсе.