Snap – універсальні пакети для будь-якого дистрибутиву Linux. Це найповніша інструкція як їх встановлювати, запускати та де брати програми та ігри в цьому форматі.
Навіщо взагалі потрібна ще одна система для установки програм?
Який би крутою та швидкою не була б ваша операційна система, все вирішує кількість написаного для неї ПЗ і легкістю його установки. Тому і був зроблений новий інструмент, який би полегшив би життя як розробників, так і користувачам.
Зазвичай в більшості дистрибутивів треба встановлювати додатки з DEB і RPM пакетів. Такі пакети містять саму програму, але не включають залежності, які потрібні для запуску цього додатка.
На відміну від звичних deb-пакетів і rpm-пакетів, snap пакети несуть в собі всі залежності.
Тобто, коли ми встановлюємо deb-пакет або rpm-пакет, то передбачається, що всі залежності ми завантажуємо з підключених репозиторіїв системи.
Але існує величезна кількість всіляких дистрибутивів Linux, як і їх версій, і для розробника це величезна проблема випускати під весь цей зоопарк свій софт, а користувачеві часто доводиться самому розв’язувати проблему з відсутньою залежністю.
Файли Snap-пакетів, що мають розширення “.SNAP”, більше схожі на контейнери. Програмне забезпечення з цих пакетів є самодостатніми вже скомпільовані, містять всі бібліотеки, необхідні для їх функціонування, і виконуються в ізольованому захищеному оточенні. Вони встановлюються в окремі директорії і не конфліктують з основними компонентами системи. Тому все запрацює відразу в будь-якому дистрибутиві Linux який підтримує Snap.
Коли ви встановлюєте в систему додаток з Snap-пакета, то установка не впливає на інші пакети та програми. Тобто такий додаток працює у власному «програмному середовищі», але при цьому воно може взаємодіяти з іншими програмами в системі.
Переваги Snap:
- Створюються один раз і для всіх підтримують платформ. Крім усього іншого, Snap-пакети містять всі залежності та бібліотеки, а це значить, що будь-яких проблем з запуском і використанням майже не буде
- Підтримує автоматичне оновлення встановлених в системі Snap-пакетів
- Один Snap для всього: дистрибутив Linux, сервер або хмара
- Доступність різних версій: ви в будь-який момент можете перемикатися між стабільною, бета і навіть щоденними версіями будь-якого Snap-додатки
- Безпека: Snap-додатки завжди запускаються в ізольованому середовищі у якій немає доступу до іншої частини вашого операційної системи
- Система управління Snap-пакетами
Один з мінусів – це те, що snap пакети займають більше місця на диску, оскільки містять в собі всі залежності.
- Встановлення підтримки Snap в
- Робота зі Snap-пакетами
- Перевірка працездатності в системі
- Пошук в базі
- Встановлення
- Типи пакетів
- Видалення
- Перегляд встановлених
- Інформація про пакет
- Оновлення
- Відновлення до попередньої версії snap-пакета (Відкат)
- Вимкнення або увімкнення snap пакетів
- Перегляд останніх змін в пакеті
- Запуск встановленого пакета
- Перелік запущених служб
- Перезавантаження, запуск і (тимчасове) зупинення snap-служб
- Конфігурація перемінних snap-пакета
- Завантаження і встановлення snap-додатків OFFline
- Магазини програм snap-пакетів
- Висновок
Встановлення підтримки Snap
Зараз підтримка Snap пакетів є в більшості дистрибутивів, але якщо з якої-небудь причини її у вас немає, то ви можете її додати.
Встановлення підтримки Snap в Ubuntu, Kubuntu, Lubuntu, Xubuntu, Debian, Linux Mint, Elementary OS, GalliumOS, Kali Linux, KDE Neon, Parrot Security OS, Pop!_OS, Raspbian, Zorin OS і подібних
У нових версіях Ubuntu підтримка Snap вже включена. Якщо це не так, то для установки Snap виконайте команду:
sudo apt update sudo apt install snapd systemctl enable --now snapd apparmor
Аналогічно виконується установка в Debian, Linux Mint, Elementary OS і інших Ubuntu/Debian-based дистрибутивах.
Встановлення підтримки Snap в Arch Linux
з GIT сховища
git clone https://aur.archlinux.org/snapd.git cd snapd makepkg -si
або з AUR сховища:
yaourt -S snapd
Далі необхідно його активувати:
sudo systemctl enable --now snapd.socket sudo ln -s /var/lib/snapd/snap /snap
Після цього необхідно перезавантажити систему.
Встановлення підтримки Snap в CentOS 7
sudo yum install epel-release sudo yum install snapd sudo systemctl enable --now snapd.socket sudo ln -s /var/lib/snapd/snap /snap
Після цього необхідно перезавантажити систему.
Встановлення підтримки Snap в CentOS 8
sudo dnf install epel-release sudo dnf upgrade sudo yum install snapd sudo systemctl enable --now snapd.socket sudo ln -s /var/lib/snapd/snap /snap
Після цього необхідно перезавантажити систему.
Встановлення підтримки Snap в Fedora
sudo yum install kernel-modules sudo dnf install snapd sudo ln -s /var/lib/snapd/snap /snap
Після цього необхідно перезавантажити систему.
Встановлення підтримки Snap в Manjaro Linux
sudo pacman -S snapd sudo systemctl enable --now snapd.socket
Після цього необхідно перезавантажити систему.
Встановлення підтримки Snap в openSUSE
sudo zypper removerepo snappy sudo zypper addrepo --refresh https://download.opensuse.org/repositories/system:/snappy/openSUSE_Leap_15.0 snappy sudo zypper --gpg-auto-import-keys refresh sudo zypper dup --from snappy sudo zypper install snapd sudo systemctl enable --now snapd sudo systemctl enable --now snapd.apparmor
Після цього необхідно перезавантажити систему.
Встановлення підтримки Snap в Red Hat Enterprise Linux (RHEL) 7
sudo rpm -ivh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm sudo subscription-manager repos --enable "rhel-*-optional-rpms" --enable "rhel-*-extras-rpms" sudo yum update sudo yum install snapd sudo systemctl enable --now snapd.socket sudo ln -s /var/lib/snapd/snap /snap
Після цього необхідно перезавантажити систему.
Встановлення підтримки Snap в Red Hat Enterprise Linux (RHEL) 8
sudo dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm sudo dnf upgrade sudo yum install snapd sudo systemctl enable --now snapd.socket sudo ln -s /var/lib/snapd/snap /snap
Після цього необхідно перезавантажити систему.
Встановлення підтримки Snap в Solus
sudo eopkg up sudo eopkg install snapd
Після цього необхідно перезавантажити систему.
Робота зі Snap-пакетами
Тепер розглянемо як же працювати з цими пакетами.
Перевірка працездатності snap в системі
Для початку необхідно перевірити її працездатність. Для цього виконаємо команду:
snap version
Якщо все добре, то ви побачите в консолі версію snap і snapd:
А якщо написати:
sudo snap
і двічі натиснути клавішу TAB (автодоповнення), то ми побачимо скільки ж команд у даного інструменту:
Зараз ми розглянемо найзагальніші та необхідні з них.
Пошук пакетів
Для отримання списку всіх доступних Snap-пакетів слід відкрити вікно емулятора термінала і виконати наступну команду:
snap find
Якщо вам потрібно знайти певний пакет на ім’я, ви можете просто додати пошуковий запит після наведеної вище команди:
snap find <ім'я_пакета>
Шукати можна як по повній назві так і по його частині
snap find vl
А також шукати за описом, тому можна використовувати довільний запит. Якщо потрібно здійснити пошук по декілька слів, то треба укладати шукану фразу в лапки:
snap find "JetBrains IDE"
Встановлення пакетів
Для встановлення пакетів використовується команда snap install <i><ім'я_пакета></i>
snap install shout
Не забувайте про автодоповнення по клавіші Tab.
Автодоповнення працює і при написанні назви програми:
- при одноразовому натисканні буде дописано повна назва додатка (якщо немає схожих);
- при подвійному з’явиться список всіх доступних пакетів зі схожими назвами.
Після установки, ярлик встановленої програми можна знайти серед інших програм. Але дана функціональність може залежати від конкретної системи.
Типи пакетів
Є два типи snap пакетів:
- Strict – більшість пакетів, які ізольовані від основної системи. Їм для доступу до системних ресурсів потрібен дозвіл. Про те як налаштувати дозвіл, буде трохи нижче в статті.
- Classic – ці пакети отримують доступ до всіх ресурсів системи, тобто як звичайні системні пакети. При їх установці потрібний прапорець –classic.
Наприклад, багато IDE (інтегровані середовища розробки) є класичними snap пакетами.
Якщо ми спробуємо встановити IntelliJ IDEA звичайним способом:
snap install intellij-idea-community
Видається попередження, що цей пакет є класичним і має доступ до всіх ресурсів системи, і якщо ми хочемо його встановити, то треба використовувати прапорець –classic.
Вказуємо прапорець і пробуємо установку:
snap install intellij-idea-community --classic
Намагайтеся не встановлювати класичні snap пакети від неперевірених розробників (без галочки).
При пошуку в колонці Notes можна дізнатися, чи є snap пакет класичним:
Видалення пакетів
Для видалення пакетів використовується команда snap remove <i><ім'я_пакета></i>
snap remove gimp
Перегляд встановлених пакетів
Щоб переглянути список встановлених пакетів використовується команда:
snap list
Інформація про пакет
Для отримання інформації про будь-який пакет використовується команда snap info <<i>ім'я_пакета></i>
snap info postman
Оновлення
Усі snap пакети автоматично оновлюються. Перевірка відбувається 4 рази на день, в цьому можна переконатися, виконавши наступну команду:
snap refresh --time
Оновлення всіх встановлених пакетів:
snap refresh
Оновлення одного пакета:
snap refresh gimp
Відновлення до попередньої версії snap-пакета (Відкат)
Якщо з якоїсь причини вам не сподобалося останнє оновлення snap-пакета, ви можете повернутися до попередньої версії за допомогою наступної команди:
snap revert
Така команда поверне необхідну версію snap-пакета і дані, що відповідають ПЗ. Якщо попередня версія snap-пакета отримана з іншого каналу, вона все одно встановиться, і канал залишиться колишнім.
snap revert gimp
Вимкнення або увімкнення snap пакетів
Якщо не хочете видаляти якісь додатки, але вони в цей момент вам не потрібні, то їх можна просто відключити. В цьому випадку пропаде ярлик програми та воно не буде оновлюватися. У будь-який момент можна буде його знову включити. Таким чином, нам не потрібно буде знову його завантажувати та встановлювати.
Щоб відключити будь-яке snap додаток, використовується наступна команда:
snap disable <ім'я_пакета>
Наприклад:
snap disable supertuxkart
У будь-який час можна включити snap пакет і зробити його знову доступним виконавши наступну команду в терміналі:
snap enable <ім'я_пакета>
Наприклад:
snap enable supertuxkart
Перегляд останніх змін в пакеті
Виконайте наступну команду для перегляду списку змін стану системи. Вона виводить список Snap-пакетів, які ви недавно встановлювали, оновлювали та видаляли разом з мітками часу, відповідними кожної з цих операцій.
snap changes
Запуск встановленого пакета
Для запуску Snap-пакета можна використовувати команду snap run <i><ім'я_пакета></i>
snap run gimp
Також додатки, встановлені через Snap, можна запускати через головне меню вашого дистрибутиву або лаунчер. Але дана функціональність може залежати від конкретної системи.
Перелік запущених служб
Щоб переглянути всі встановлені і запущені “снепи” використовуйте:
snap services
Або подивитися статус конкретного пакета:
snap services lxd Service Startup Current lxd.daemon enabled active
Перезапуск, запуск і (тимчасове) зупинення snap-служб
Служби можна перезапустити за допомогою команди:
snap restart
Усі служби, необхідні для роботи Снепів, будуть перезавантажено за замовчуванням:
Перезавантаження конкретної служби:
snap restart lxd.daemon Restarted.
Щоб зупинити запущену службу, використовуйте наступну команду:
snap stop lxd.daemon Stopped.
Щоб запустити раніше зупинену службу, використовуйте наступну команду:
snap start lxd.daemon Started.
Конфігурація перемінних snap-пакета
Деякі снепи, наприклад, що працюють у фоновому режимі, виставляють параметри конфігурації, які можна змінити.
Команди для перегляду і зміни цих параметрів конфігурацій - snap get
и snap set
.
Виставлені параметри конфігурації встановленого снепу можна подивитися за допомогою:
snap get <ім'я_пакета>
Щоб змінити параметри конфігурації, задайте команду «snap set
»:
snap set <ім'я_пакета> key=value
Завантаження та установка snap-додатків OFFline
Встановити snap-додатки можна і без підключення до інтернету. Для цього необхідно завантажити файли snap-додатків/пакетів, задавши наступну команду:
snap download <ім'я_пакета>
Ця команда завантажить .assert і .snap файл. Скопіюйте їх на іншу систему Linux, яка не має підключення до інтернету. Потім встановіть долучення за допомогою наступної команди:
snap ack <ім'я_пакета.assert> snap install <ім'я_пакета.snap>
Магазини програм snap пакетів
Те, що можна управляти snap пакетами з термінала, це звичайно добре, але простому користувачеві Linux більше потрібні нормальні магазини програм. Наприклад, як GooglePlay на Android або як App Store на iOS.
Нумо подивімось, що може запропонувати нам Linux в плані магазинів для установки snap пакетів.
Snapcraft Store – веб версія магазину snap додатків
Даний магазин програм доступний за адресою: https://snapcraft.io/store
На жаль, поки немає локалізації, тобто, переведення на інші мови окрім англійської. Але може в майбутньому це буде виправлено.
Можна шукати в назві додатка, або просто переглядати за категоріями. На сторінці будь-якої програми, можна подивитися знімок екрана вікна програми, детальну інформацію.
Щоб встановити програму, потрібно натиснути кнопку Install:
Ви маєте можливість копіювати консольну команду установки даного snap пакета. Або (якщо у вас система Ubuntu) натиснути кнопку “View in Desktop store“, тоді буде відкритий “Менеджер програм Ubuntu”, в якому можна вже встановити обраний snap пакет:
Менеджер програм Ubuntu або Gnome Software
Для цього інструменту існує додатковий плагін, який дозволяє шукати, переглядати, встановлювати та видаляти snap пакети.
Для цього вам необхідно установити його:
sudo apt install gnome-software-plugin-snap
В Ubuntu 18.04 і вище нічого робити не потрібно додатково, все вже заздалегідь налаштовано за вас.
Просто відкриваємо і шукаємо додатки, наприклад, пошукаємо vlc:
В “Подробицях” можна побачити в “Джерело”, що додаток буде встановлено з Snap Store.
На вкладці “Встановлено” також будуть видні встановлені snap пакети:
Якщо перейти на сторінку встановленого додатка, можна не тільки “Запустити” і “Видалити”, а й
налаштувати дозвІли (Permissions) даного snap пакета:
Магазин Snappy / Snap Store
Погодьтеся, що попередні два магазини додатків не зовсім зручні:
- У першому випадку ми просто побачимо консольну команду або відкриємо в Gnome Software (Менеджері програм Ubuntu).
- У другому випадку потрібно оточення робочого столу Gnome і крім того, в ньому шукаються не тільки snap пакети, а все пакети додатків з усіх підключених сховищ..
Тому є Магазин Snappy, виключно для управління snap пакетами:
Встановити його можна за адресою: https://snapcraft.io/snap-store
або виконавши наступну команду в терміналі:
snap install snap-store
Після встановлення буде створено ярлик цієї програми.
Функціонал схожий на Менеджер додатків Ubuntu, тільки в цьому магазині немає інших пакетів, крім snap.
Висновок
Ми коротко розповіли про те, що являють собою Snap-пакети і як з ними працювати. Але це не єдині представники подібного типу пакетів в Linux. Також популярні пакети Flatpak.
А в цьому відео (хоча воно й англійською мовою, але все зрозуміло) все показано.
если я правильно понял, сайт скорее мертв, чем жив….. а жаль, ранее был хорош….