Что такое «снапы» (snaps) и в чем их отличие от традиционных пакетов DEB или RPM?

«Снапы» — это программные пакеты в формате «Snap», которые позволяют устанавливать приложения на операционные системы Linux в один клик, даже если они отсутствуют в вашем текущем дистрибутиве.

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

Для решения этой проблемы были разработаны «снапы» (snaps). Сегодня я расскажу о них на примере установки пакета Remmina в новом дистрибутиве Deepin Linux.

Что такое «снапы» (snaps) и в чем их отличие от традиционных пакетов DEB или RPM?

Давайте перейдем сразу к сути. «Снапы» (snaps), в отличие от традиционных пакетов DEB или RPM, включают в себя не только саму программу, но и все необходимые для ее работы библиотеки. Можно сказать, что «снапы» представляют собой более универсальное решение для установки программ в различные дистрибутивы Linux (более подробную информацию о snap можно найти на официальной странице проекта).

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

Сначала нужно установить snapd. В свежих версиях Ubuntu, начиная с 16.04, snapd уже установлен.

sudo apt install snapd

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

Теперь давайте попробуем установить снап Remmina. Для этого выполним следующую команду в терминале:

sudo snap install remmina

Процесс установки «снапов» в целом аналогичен установке пакетов DEB или RPM и не требует дополнительных шагов. Стоит отметить, что все снапы хранятся в отдельной директории /snap (точное расположение может различаться в зависимости от дистрибутива), поэтому не нужно беспокоиться о появлении «мусора» из лишних библиотек в системе.

Для поиска доступных снапов можно использовать следующую команду:

snap find <название>

Просмотреть установленные снапы и обновить их можно командами snap list и snap resresh:

snap list
sudo snap resresh

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