У світі Linux існує безліч різних підходів до встановлення програмного забезпечення. Можна зустріти пакети Debian, RPM від Redhat, репозиторії користувачів Arch Linux, дерево Gentoo Portage, AppImages, архіви tar.gz зі статичними двійковими файлами, і цей список можна продовжувати. Незважаючи на таку різноманітність методів встановлення програмного забезпечення на Linux, все ще залишається чимало проблем. Наприклад, розробка професійного програмного забезпечення для Linux часто ускладнюється необхідністю адаптації до кожного окремого дистрибутиву. Команда Ubuntu прагне вирішити цю проблему, пропонуючи пакети Snap. Давайте розглянемо, навіщо потрібні пакети Snap у Linux, а також як їх використовувати та встановлювати.
СПОЙЛЕР: Прокрутіть сторінку вниз, щоб переглянути відеоінструкцію наприкінці цієї статті.
Чому з’явилися пакети Snap?
Розробники часто стикаються з необхідністю пакувати свої програми у різні формати пакетів, що може викликати розчарування. Створення всіх цих пакетів вимагає часу, і як наслідок, багато програм не потрапляють на платформу Linux. Саме тому команда Ubuntu розробила пакети Snap. Snap – це пакет, який можна встановити з магазину Snap, і він містить все необхідне для запуску програми.
Це означає, що всі необхідні компоненти програми (бібліотеки, двійкові файли, графічні файли, аудіофайли та програми) є самодостатніми і можуть працювати незалежно від системи. Це гарантує стабільну роботу програми, незалежно від того, наскільки застаріла або неправильно налаштована хост-система. Це дозволяє встановлювати Snap-пакети на будь-який дистрибутив Linux і робить їх “універсальним інсталятором”, яким може скористатися будь-який розробник, а також створити власний магазин Snap!
Встановлення та запуск Snapd
Snapd – це технологія, яка забезпечує роботу Snap-пакетів у Linux. Компанія, що стоїть за Snap, співпрацює з іншими розробниками дистрибутивів Linux, щоб популярні і широко використовувані системи могли легко запускати та встановлювати Snap-пакети. Ось як можна встановити Snapd:
Примітка: Користувачам Ubuntu та дистрибутивів на базі Ubuntu не потрібно встановлювати Snapd.
Debian Testing/Unstable
sudo apt install snapd
Fedora
sudo dnf install snapd
sudo systemctl enable --now snapd.socket
Arch Linux
sudo pacman -S snapd
sudo systemctl enable --now snapd.socket
OpenSUSE Leap 42.2
sudo zypper addrepo https://download.opensuse.org/repositories/system:/snappy/openSUSE_Leap_42.2/ snappy
sudo zypper install snapd
sudo systemctl enable --now snapd.socket
OpenSUSE Tumbleweed
sudo zypper addrepo https://download.opensuse.org/repositories/system:/snappy/openSUSE_Tumbleweed/ snappy
sudo zypper install snapd
sudo systemctl enable --now snapd.socket
Gentoo
sudo -s
nano -w /etc/portage/repos.conf/gentoo-snappy.conf
Вставте наступний код:
[gentoo-snappy]
# An unofficial overlay that supports the installation of the "Snappy" backbone.
# Maintainer: Clayton "kefnab" Dobbs (email protected)
# Upstream Maintainer: Zygmunt "zyga" Krynicki (email protected)
location = /usr/local/portage/gentoo-snappy
sync-type = git
sync-uri = https://github.com/zyga/gentoo-snappy.git
priority = 50
auto-sync = yes
Збережіть файл конфігурації за допомогою комбінації клавіш ctrl + O.
emaint sync --repo gentoo-snappy
Як користуватися Snap?
Як згадувалося раніше, Snap-пакети розміщуються в “магазині Snap”, яким керують Ubuntu та Canonical. Будь-хто може безкоштовно опублікувати свій Snap-пакет. Якщо ви хочете розмістити власні пакети у магазині, відвідайте Snapcraft.io. На цьому веб-сайті ви знайдете детальну інформацію, необхідну для початку роботи.
Щоб знайти необхідне програмне забезпечення у магазині, скористайтесь командою find:
snap find programname
Наприклад:
snap find telegram
Це виведе список всіх доступних Snap-пакетів, що містять ключове слово “telegram”. Перегляньте цей список та оберіть необхідний пакет. Потім скористайтеся командою install для встановлення.
sudo snap install telegram-latest
Це завантажить останню версію Snap-пакета з магазину, встановить її в систему та змонтує контейнер, щоб користувач мав доступ до програмного забезпечення. Щоб побачити, де змонтовано Snap-пакет, скористайтесь командою lsblk. Справа в тому, що програмне забезпечення є змонтованим томом, і система сприймає його як будь-який інший підключений жорсткий диск або пристрій.
Видаліть встановлений Snap-пакет із системи за допомогою команди remove.
Наприклад:
sudo snap remove telegram-latest
Забули назву Snap-пакета, який потрібно видалити? Спробуйте:
snap list
Команда list виведе список всіх встановлених Snap-пакетів. Зверніть увагу на назву потрібного пакета, і потім видаліть його за допомогою команди remove.
Примітка: Ознайомтеся з іншими командами, які не розглядаються у цьому керівництві, за допомогою snap –help
Оновлення Snap-пакетів
Як і будь-яке інше програмне забезпечення, Snap-пакети потребують оновлення. Демон Snap керує кожним контейнером Snap в системі. Тому, пакети Snap не оновлюються звичайними засобами. Щоб оновити встановлені Snap-пакети в системі, скористайтесь командою refresh. Останньою важливою командою для роботи зі Snap є команда оновлення.
sudo snap refresh
Висновок
Snap-пакети можуть змінити способи встановлення та використання програмного забезпечення в Linux, полегшуючи його розповсюдження. Замість того, щоб розробники створювали безліч різних пакетів, бінарних файлів та методів доставки для виконання однієї і тієї ж задачі, вони просто створюватимуть єдиний контейнер Snap-пакета. Самодостатній з бібліотеками, виконуваним кодом та іншими важливими файлами, який користувачі зможуть легко встановити за допомогою однієї команди.
Snap-пакети не ідеальні. Деякі нові користувачі Linux можуть стикатися з проблемами під час їх використання. Це пов’язано з тим, що встановлення програм відбувається лише за допомогою командного рядка. Можна сподіватися, що з поширенням Snap-пакетів команда Ubuntu розробить зручний графічний інтерфейс для їх встановлення та використання. Наразі доведеться використовувати командний рядок.