Упаковка

Порівняння Snap проти Flatpak проти AppImage

Порівняння Snap проти Flatpak проти AppImage
Нові формати упаковки, такі як Snap, Flatpak та AppImage, забезпечують агностичні пакети розподілу, які працюють на більшості дистрибутивів Linux. Це вирішує проблеми з упаковкою, з якими стикаються розробники програм, які хочуть розповсюджувати свої програми на декількох дистрибутивах Linux. Тепер вони можуть зосередитись на одній конструкції, яка працює скрізь, замість того, щоб проходити через різні стандарти упаковки.

У цій статті буде перелічено основні відмінності між цими трьома форматами упаковки з точки зору кінцевих споживачів. Відмінності в архітектурі упаковки та простоті упаковки з точки зору розробників тут не висвітлюватимуться.

У таблиці нижче наведено основні відмінності між форматами файлів Snap, Flatpak та AppImage. Більшість із них є зрозумілими, інші моменти пояснюються під таблицею порівняння.

Прив'язка Flatpak AppImage
Перемикачі керування дозволами для Android (GUI та CLI) Так Так Немає
Підтримка пісочниці Так Так Так
Пісочниця Обов’язково Так Так Немає
Підтримка рідної теми Так (із застереженнями) Так (із застереженнями) Так (із застереженнями)
Підтримка пакетних бібліотек Так Так Так
Переносимість додатків Так (із застереженнями) Так (із застереженнями) Так
Повністю міститься одна виконувана підтримка (подібно до .exe-файли у Windows) Немає Немає Так
Інтернет-магазин додатків Так Так Так
Плагіни для програмного забезпечення Desktop App Store Так Так Немає
Підтримка багатоверсійних паралельних програм Так Так Так
Автоматичне оновлення Так Так Так (із застереженнями)
Підтримка ОС Chrome (через контейнери Crostini) Так Так Так
Розмір програми Змінюється, але вище, ніж AppImage Змінюється, але вище, ніж AppImage Найнижча
Кількість програм, доступних в App Store Найвища Найнижча Десь посередині

Контроль дозволів для користувачів

Snap забезпечує графічний інтерфейс та інтерфейси командного рядка для дозволів, керованих користувачем. Ви можете використовувати попередньо встановлену програму “Ubuntu Software” для управління дозволами додаткової програми.

Щоб побачити дозволи на оснащення програми за допомогою інтерфейсу командного рядка, запустіть команду нижче:

$ прив'язка з'єднань хром

Замініть “chromium” назвою вашого додатка для оснащення.

Щоб побачити список усіх встановлених програм оснащення, виконайте наведену нижче команду:

$ snap list

Щоб надати камері дозвіл на прив'язку хрому, використовуйте команду нижче:

$ snap connect хром: камера

Щоб скасувати дозвіл камери, виконайте команду нижче:

$ snap відключити хром: камера

Відповідні команди для управління дозволами можна знайти в стовпці “Plug” (показано на скріншоті вище).

Flatpak також надає інтерфейс для надання та скасування дозволів. Ви можете використовувати програму GNOME Software (потрібен GNOME 3.32.х) керувати дозволами за допомогою графічного методу. Щоб побачити дозволи програми flatpak, запустіть команду нижче:

$ flatpak інформація - show-permissions org.kde.Платформа

Замінити “орг.kde.Платформа »з назвою вашого додатку Flatpak.

Щоб переглянути список усіх програм flatpak, встановлених у вашій системі, виконайте команду нижче:

$ flatpak список

Щоб змінити дозволи програми flatpak, вам потрібно змінити значення змінних, показані на скріншоті вище. Наприклад, наведена нижче команда зробить всю файлову систему доступною для програми flappak:

$ sudo flatpak замінює орг.kde.Платформа --filesystem = host

Наразі AppImage не підтримує детальний контроль дозволів, але розробники натякають, що елементи керування дозволами в стилі Android можуть бути застосовані в майбутньому.

Пісочниця

Snap, Flatpak та AppImage підтримують середовища додатків із ізольованою середовищем. Пісочниця - це середовище (або контейнер / файлова система / архів), яке є повністю ізольованим та віддаленим від головної системи. Будь-яка взаємодія з хост-системою здійснюється за допомогою обмеженого API та елементів керування дозволами. Деякі з цих дозволів явно вимагають дозволу користувачами або можуть бути повністю відключені кінцевими користувачами. Додаток із захищеною середовищем безпечний, ніж будь-який інший додаток, що має повний доступ до хост-системи. Усі програми для Android працюють у пісочниці, і ці три упаковки працюють за схожою ідеєю.

Підтримка рідної теми

Всі три формати упаковки підтримують природний вигляд та відчуття для додатків GTK та Qt, хоча і з деякими обмеженнями. Наприклад, Snap та Flatpak вимагають, щоб системні теми були упаковані у відповідні формати. Якщо ви використовуєте сторонні теми та пакети піктограм, можливо, ви не отримаєте правильну піктограму теми, курсору та програми. Інтеграція покращилася в надурочний час, але вони трохи не відповідають умовам порівняно з програмами, встановленими з офіційного менеджера пакунків дистрибутива.

Переносимість додатків

Додаток AppImage - це один виконуваний файл (подібний до Windows ' .exe-файли). Ви можете легко поділитися ним між системами або завантажити в хмару. Програми Snap та Flatpak можна зробити портативними, включивши саму програму, а також дочірні сховища, від яких залежить додаток. Однак процес не такий простий, як AppImage, і для досягнення однакових результатів потрібно використовувати кілька команд.

Автоматичне оновлення

Програми Snap та Flatpak встановлюються з централізованих сховищ програм, і програми можуть автоматично оновлюватися без втручання користувача. AppImage не має надійного автоматичного механізму оновлення. Користувачі повинні вручну завантажувати новий двійковий файл AppImage та замінювати існуючий, щоб встановлювати оновлення. Супровідники додатків AppImage іноді включають власний механізм оновлення, який періодично перевіряє наявність оновлень на своїх серверах або вимагає втручання користувача. Нещодавно розробники AppImage надали інструмент для оновлення існуючих двійкових файлів, надаючи дельта-оновлення. Однак все одно потрібно завантажити засіб оновлення та використовувати його вручну з наявним двійковим файлом AppImage. Поки що для AppImage не доступний механізм оновлення в режимі гучного зв'язку.

Розмір програми

AppImage має мінімальний розмір програми, найімовірніше тому, що він обслуговує двійкові файли у стислому форматі. Розміри додатків Snap та Flatpak сильно відрізняються залежно від додатка, і важко встановити, що забезпечує менший розмір установки. Тільки для довідки: Inkscape AppImage на момент написання цієї статті становив близько 98 МБ, Snap - близько 183 МБ, а Flatpak - близько 109 МБ.

Висновок

Універсальні пакети програм - це безпрограшний варіант як для розробників, так і для кінцевих користувачів. Ці формати упаковки дозволяють набагато швидше доставляти безпечні програми. Вони також відкривають двері для розробників, які ухиляються від Linux через різні стандарти упаковки, що використовуються в різних дистрибутивах. Є деякі проблеми, які потрібно вирішити в цих трьох форматах упаковки. Однак усі вони знаходяться в активному розвитку, і ці проблеми будуть виправлені понаднормово. Універсальні пакети перехресного розподілу - це майбутнє, і їх впровадження зростатиме. Повільно, але стабільно, дистрибутиви можуть переходити до збірок Snap, Flatpak або AppImage, за винятком основних бібліотек та основних пакетів, необхідних для роботи ОС.

Middle mouse button not working in Windows 10
The middle mouse button helps you scroll through long webpages and screens with a lot of data. If that stops, well you will end up using the keyboard ...
How to change Left & Right mouse buttons on Windows 10 PC
It's quite a norm that all computer mouse devices are ergonomically designed for right-handed users. But there are mouse devices available which are s...
Emulate Mouse clicks by hovering using Clickless Mouse in Windows 10
Using a mouse or keyboard in the wrong posture of excessive usage can result in a lot of health issues, including strain, carpal tunnel syndrome, and ...